我想将字符串中的每个字母或符号分开,以组成一个尺寸等于字母数量的新data.frame
。我尝试使用separate
包中的函数tidyr
,但结果不理想。
df <- data.frame(x = c('house', 'mouse'), y = c('count', 'apple'), stringsAsFactors = F)
df[1, ] %>% separate(x, c('A1', 'A2', 'A3', 'A4', 'A5'), sep ='')
A1 A2 A3 A4 A5 y
1 <NA> <NA> <NA> <NA> <NA> count
A1 A2 A3 A4 A5
h o u s e
m o u s e
欢迎使用stringr
的解决方案。
我们可以在sep
中使用正则表达式环顾四周以匹配每个字符之间的边界
base
中的解决方案是:
我们可以将cSplit
中的splitstackshape
与stripWhite = FALSE
和sep = ""
一起使用,以拆分列中的每个字母。