如何将一个字符列分割为两个列? [英] How do I separate a character column into two columns?
本文介绍了如何将一个字符列分割为两个列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我拥有的:
condition uncomfortable
<fct> <dbl>
fichero 1
fichero 1
realhero 1
realhero 2
ficvillain 4
ficvillain 5
realvillain 8
realvillain 3
如何获得此信息:
fictionality character type uncomfortable
fic hero 1
fic hero 1
real hero 1
real hero 2
fic villain 4
fic villain 5
real villain 8
real villain 3
也许separate()
和strsplit()
在这里有用,但我不知道如何使用它们。
推荐答案
您可以使用extract
来自tidyr
:
tidyr::extract(df, condition, c('fictionality', 'type'), '(fic|real)(hero|villain)')
# fictionality type uncomfortable
#1 fic hero 1
#2 fic hero 1
#3 real hero 1
#4 real hero 2
#5 fic villain 4
#6 fic villain 5
#7 real villain 8
#8 real villain 3
或以R为单位:
transform(df, fictionality = sub('hero|villain', '', condition),
type = sub('fic|real', '', condition))
数据
df <- structure(list(condition = c("fichero", "fichero", "realhero",
"realhero", "ficvillain", "ficvillain", "realvillain", "realvillain"
), uncomfortable = c(1L, 1L, 1L, 2L, 4L, 5L, 8L, 3L)),
class = "data.frame", row.names = c(NA, -8L))
这篇关于如何将一个字符列分割为两个列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文