在这里,我正在查看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],但我很好奇你可以用什么代替我?是否需要在代码的其他部分进行其他替换?
编辑:缺少引用
答案 0 :(得分:2)
您的代码已将每列写入单独的文件中。你想复制整个表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") )