打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
R语言列表输出到本地简单粗暴的方法

大家好,我是飞哥,今天从老家回来了,对着电脑,感觉又来了,哈哈。

过年休息了几天,打了几天麻将,交了一点学费:

新的一年开始了,继续分享继续肝!

今天分享的是一个保存R语言不规则数据到本地的方法,感觉比较有用,希望也对你有用吧!

有时候,我们R语言的结果是一个list,不能转化为data.frame数据框,强行用数据框函数输出,结果就变化了,比如:

  • fwrite
  • write.table
  • write.csv
  • write.xlsx

这些都不行。中文搜索没有找到合适的答案,后来在stackoverflow找到了,还是要用英文搜索答案呀。

https://stackoverflow.com/questions/27594541/export-a-list-into-a-csv-or-txt-file-in-r

所以,本着我学到了,就要写出来的原则,就写一篇总结一下,方便后来人。

1. 我的不规则数据

> va_list
$y1
component std.error z.ratio bound %ch
vm(ID, ainv) 0.04524 0.01369 3.305 P 0.1
units!units 0.09159 0.01134 8.076 P 0.1
units!R 1.00000 NA NA F 0.0

$y2
component std.error z.ratio bound %ch
vm(ID, ainv) 0.5822 0.3047 1.910 P 0.8
units!units 2.9777 0.3071 9.697 P 0.1
units!R 1.0000 NA NA F 0.0

$y3
component std.error z.ratio bound %ch
vm(ID, ainv) 0.3415 0.09944 3.434 P 0
units!units 0.7387 0.08486 8.705 P 0
units!R 1.0000 NA NA F 0

我想把这个结果,保存到txt文件中,格式不要变。

如果我强行将其输出到txt文件或者,结果是这样的:

或者是这样的:

格式全乱了。

这里,我找到了两种方法,可以搞定。结果如下:

2. 方法1:sink函数

sink函数首先打开一个空文件,然后将后面屏幕的内容输进去,然后关闭文件。

# 新建一个文件:va_result.txt
sink("va_result.txt")
# 写入内容
va_list
# 关闭文件
sink()

可以看到,格式没有变化。

$y1
             component std.error z.ratio bound %ch
vm(ID, ainv)   0.04524   0.01369   3.305     P 0.1
units!units    0.09159   0.01134   8.076     P 0.1
units!R        1.00000        NA      NA     F 0.0

$y2
             component std.error z.ratio bound %ch
vm(ID, ainv)    0.5822    0.3047   1.910     P 0.8
units!units     2.9777    0.3071   9.697     P 0.1

3. 方法2:capture.output函数

注意,file = 不可缺少。

capture.output(va_list, file = "va1_result.txt")

结果查看:

第二种方法更简单,推荐使用。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
一千零一技|如何计算环境遗传相关:育种中的基因与环境互作
软件开发c++运行出错,我是敲的C++primer上的代码
vue实例以及生命周期
手摸手带你理解Vue的Watch原理
<keep-alive> 缓存及其缓存优化原理
递归到非递归的转换
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服