首页 > 解决方案 > 如何使用 R 在 .txt 文件中写入列表

问题描述

我想在一个.txt文件中写入以下列表:

[[1]]

   1    2    3    4    5    6    7   15 
3430  145   29    6    1    3    2    1 

[[2]]

  1    2    3    4    5   13   22 
3162   97   16    6    2    1    1 

[[3]]

  1    2    3    5    6   12  
1659   83   15    2    2    1 

正如你在上面看到的。我试过了

lapply(mylist, write, "test.txt", append=TRUE, ncolumns=1000)

但我得到了错误的结果:

3430 145 29 6 1 3 2 1
3162 97 16 6 2 1 1
1659 83 15 2 2 1

(部分数据已被删除)。

标签: rlist

解决方案


l我假设您的意思是在您的示例中,名称没有打印到文件中?一种简单但有点“hackish”的方法(但可以像您的示例中那样准确地实现输出)是使用 sink():

sink(file = "output.txt")
print(mylist)
sink(NULL)

编辑:解释

sink(file = "output.txt")

将(几乎)以下行中的所有输出重定向到指定的文件

print(mylist)

正常打印到标准输出,但由于 sink() 是“活动的”,它打印到文件中(确切地说是打印到控制台的内容)

sink(NULL)

停用重定向。看

?sink()

了解更多信息。


推荐阅读