且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

每两个字符多次分割字符串

更新时间:2022-12-28 16:10:30

你实际上很接近。您需要将分隔符位置指定为 sep = c(2,4)而不是 sep = c(2,2)

You were actually quite close. You need to specify the separator-positions as sep = c(2,4) instead of sep = c(2,2):

df <- separate(df, a, c(paste0("V",LETTERS[1:3])),sep = c(2,4))

你得到:

> df
  VA VB VC
1 Aa Bb CC
2 AA BB CC
3 AA bb CC






在基础R中,您可以(从@ rawr的评论借用):


In base R you could do (borrowing from @rawr's comment):

l <- ave(as.character(df$a), FUN = function(x) strsplit(x, '(?<=..)', perl = TRUE))
df <- data.frame(do.call('rbind', l))

其中:

> df
  X1 X2 X3
1 Aa Bb CC
2 AA BB CC
3 AA bb CC