我想知道,R中是否有一种方法可以连接没有循环的vektor元素。例如,将每3个元素连接起来,如下所示:
之前:
"1 2 3 4 5 6 7 8 9"
后:
"1 2 3" "4 5 6" "7 8 9"
谢谢!
最佳答案
我们可以使用环视正则表达式拆分字符串
trimws(strsplit(str1, '(?<=([^ ]\\s){3})', perl=TRUE)[[1]])
#[1] "1 2 3" "4 5 6" "7 8 9"
如果我们有一个数值 vector ,则使用
gl
为每3个连续元素创建一个分组变量,并使用group by函数之一(tapply
)将这些元素一起paste
。v1 <- 1:9
tapply(v1, as.numeric(gl(length(v1), 3, length(v1))),
FUN= paste, collapse=' ')
数据
str1 <- "1 2 3 4 5 6 7 8 9"