R:将列表打印到文本文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R:将列表打印到文本文件相关的知识,希望对你有一定的参考价值。

我在R中有这样一个列表:

> print(head(mylist,2))
[[1]]
[1] 234984  10354  41175 932711 426928

[[2]]
[1] 1693237   13462

列表的每个元素都有不同数量的元素。

我想将此列表打印到这样的文本文件:

mylist.txt
234984  10354  41175 932711 426928
1693237   13462

我知道我可以使用sink(),但它打印元素[[x]],[y]的名称,我想避免它。此外,由于列表的每个元素中的元素数量不同,因此无法使用write()或write.table()。

答案

未经测试,但它应该工作(评论后编辑)

lapply(mylist, write, "test.txt", append=TRUE, ncolumns=1000)
另一答案

我在Nico回答的评论中看到,有些人遇到了保存列表的问题。我的一些工作也遇到了这个问题,并希望有人找到比我发现的更好的答案,但没有人回答他们的问题。

所以:@ali,@ FoxKerckhof和@Kerry我发现保存嵌套列表的唯一方法是使用sink(),如user6585653建议(我试图投票他的答案,但不能)。这不是最好的方法,因为您链接文本文件,这意味着它可以很容易地写入,或者如果您不取消接收器,其他结果可能会保存在该文件中。请参阅下面的代码。

sink("mylist.txt")
print(mylist)
sink()

确保代码末尾有接收器(),以便取消接收器。

另一答案

其他方式

writeLines(unlist(lapply(mylist, paste, collapse=" ")))
另一答案

这是使用接收器的另一种方式:

sink(sink_dir_and_file_name); print(yourList); sink()

另一答案

根据您的口味,替代尼科的答案:

d<-lapply(mylist, write, file=" ... ", append=T);
另一答案

这是另一个

cat(sapply(mylist, toString), file, sep="
")
另一答案

我通过混合上述解决方案来解决这个问题。

sink("/Users/my/myTest.dat")
writeLines(unlist(lapply(k, paste, collapse=" ")))
sink()

我认为它运作良好

另一答案

格式不会完全相同,但它会将数据写入文本文件,当您想要再次将其作为列表检索时,R将能够使用dget重新读取它。

dput(mylist, "mylist.txt")

以上是关于R:将列表打印到文本文件的主要内容,如果未能解决你的问题,请参考以下文章

将 R 列表保存到文本文件中

如何将 r ggplot 图存储为 html 代码片段

使用R中的ANOVA分析多列

无法保存映射到文本文件的两个列表 - python

打印到文本文件[重复]

主动离婚的女性为何选择离婚?一项简单的R语言文本分析