我有一个数据框中的字符列,看起来像这样
df<-
data.frame(a=c("AaBbCC","AABBCC","AAbbCC"))#df
a
1 AaBbCC
2 AABBCC
3 AAbbCC
我希望将这一列每两个字符分割一次。因此,在这种情况下,我想要获得三列,分别命名为VA,VB,VC
。
我尝试过
library(tidyr)
library(dplyr)
df<-
data.frame(a=c("AaBbCC","AABBCC","AAbbCC"))%>%
separate(a,c(paste("V",LETTERS[1:3],sep="")),sep=c(2,2))
VA VB VC
1 Aa BbCC
2 AA BBCC
3 AA bbCC
但这不是期望的结果。我希望将现在在
VC
中的结果分成VB
(所有字母B)和VC
(所有字母C)。如何让R每两个字符分割一次?该列中字符串的长度对于每一行始终相同(在此示例中为6)。我将有长度>10的字符串。
strsplit(c("AaBbCC","AABBCC","AAbbCC"), '(?<=..)', perl = TRUE)
,它能够按照每两个字符进行拆分。 - rawr