在R中将几个输出打印到同一个CSV?

时间:2012-12-13 17:18:40

标签: r csv file-io traminer

我正在使用TraMineR包。我打印输出到CSV文件,如下所示:

write.csv(seqient(sequences.seq), file = "diversity_measures.csv", quote = FALSE, na = "", row.names = TRUE)
write.csv(seqici(sequences.seq), file = "diversity_measures.csv", quote = FALSE, na = "", row.names = TRUE, append= TRUE)
write.csv(seqST(sequences.seq), file = "diversity_measures.csv", quote = FALSE, na = "", row.names = TRUE,  append= TRUE)

可以找到dput(sequences.seq)对象here

但是,这不会正确附加输出,但会创建此错误消息:

In write.csv(seqST(sequences.seq), file = "diversity_measures.csv",  :attempt to set 'append' ignored

另外,它只给出了最后一个命令的输出,所以它似乎每次都会覆盖该文件。

是否可以将所有列都放在一个CSV文件中,每个列都有一个列名(即熵,复杂性,湍流)

1 个答案:

答案 0 :(得分:7)

您可以在append=TRUE调用中使用write.table并使用相同的文件名,但您需要根据需要指定所有其他参数。 append=TRUE不适用于包装函数write.csv,如文档中所述:

  

这些包装是故意不灵活的:它们的设计目的是为了   确保使用正确的约定来写入有效文件。   尝试更改append,col.names,sep,dec或qmethod将被忽略,   警告。

或者你可以写出来

write.csv(data.frame(entropy=seqient(sequences.seq), 
                     complexity=seqici(sequences.seq), 
                     turbulence=seqST(sequences.seq)),
          'output.csv')