【发布时间】:2016-04-14 04:53:21
【问题描述】:
我的数据框中有一个字符列,看起来像
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 的字符串。
【问题讨论】:
-
我没有 tidyr 解决方案
strsplit(c("AaBbCC","AABBCC","AAbbCC"), '(?<=..)', perl = TRUE)