这里,我正在查看r中的文件mtcars。这是一个循环,可用于将列写入11个单独的文件,因为数据集中有11列。
for(i in (1:length(mtcars[1, ])))
write.table(mtcars[i], file=paste("mtcars", as.character(i), ".txt",
sep=""), row.names=FALSE, sep="t");
我很好奇,如果你要把所有的列都写进单独的文件里,你会怎么做呢?现在,我知道要做的一个修改是将第一个行长度参数设置为mtcars[,1],但我很好奇可以用什么来代替I ?在代码的其他部分是否需要进行其他替换?
编辑:缺少引用
您的代码已经将每个列写入一个单独的文件中。你想把整个表复制11次吗?在这种情况下,只有write.table(mtcars, ...
编辑:试试这个:
for(i in 1:nrow(mtcars)
write.table(mtcars[i,], file=paste("matchers", as.character(i), ".txt",
sep=""), row.names=FALSE, sep="t")
或不带for循环:
sapply(mtcars, 1:nrow(mtcars), function(i)
write.table(mtcars[i,],
file=paste0("matchers", i, ".txt"),
row.names=FALSE, sep="t") )
或
library(dplyr)
mtcars %>%
mutate(index = 1:n() )
rowwise %>%
do(write.table(.,
file=paste0("matchers", .$index, ".txt"),
row.names=FALSE, sep="t") )