我有一个包含113行的数据框,我想连接每10行。
我正在尝试这样的事情:
test<-runif(113)
test2<-paste(test, collapse", ")
我不知道每10行可以指定一个人。
答案 0 :(得分:2)
如果是data.frame
set.seed(42)
d1 <- as.data.frame(matrix(sample(1:20, 4*113,replace=TRUE), ncol=4))
indx <- (seq_len(nrow(d1))-1)%/%10 +1
lapply(split(d1, indx), function(x) paste(unlist(x), collapse=", "))
或者
unname(c(by(d1, list(indx), FUN=function(x) paste(unlist(x), collapse=", "))))
答案 1 :(得分:1)
首先,你有一个向量,而不是数据框。
其次,粘贴语法格式不正确(可能会为您抛出错误)。
您可以使用以下内容每10个元素拆分向量,执行连接并将结果作为字符向量返回。
test2 <- unlist(lapply(split(test, ceiling(seq_along(test)/10)), paste, collapse=", "))
seq_along
创建“群组”,split
沿着这些群体划分向量。 lapply
然后对这些组执行paste
,unlist
将结果转换回字符向量。