首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将RDA写入R中的CSV

将RDA写入R中的CSV
EN

Stack Overflow用户
提问于 2015-09-04 20:30:10
回答 1查看 5.1K关注 0票数 2

我正在尝试编写一个脚本,通过文件名加载一个RDA,并写出一个等价的CSV文件。

它几乎就在那里(通过加载和写入),但是输出CSV包含load()返回的字符串的向量,而不是load引用的数据帧……

代码语言:javascript
复制
$ cat convert.r
#!/usr/bin/env Rscript

argv <- commandArgs(TRUE)
inFile <- toString(argv[1])
print(inFile)

outFile <- gsub(".rda$", ".csv", inFile)
print(outFile)

inData <- load(inFile)
write.csv(inData, file=outFile)

这是命令+输出...

代码语言:javascript
复制
/convert.r data.rda
[1] "data.rda"
[1] "data.csv"
[1] "table.data"

所以你可以看到它从参数中提取了输入文件名,它创建了正确的输出文件名,但inData是一个名为table.data的全局对象的引用。当write.csv运行时,它只包含以下内容:

代码语言:javascript
复制
$ cat data.csv
"","x"
"1","table.data"

如何让write.csv从rda文件中提取数据帧?我知道,如果RDA包含多个帧,那么当前存在风险--也许它应该循环遍历这些帧并执行file-frame.csv?!

EN

回答 1

Stack Overflow用户

发布于 2015-09-04 20:32:29

显然,自己解决问题的最好方法是公开提问。

答案是:get()

代码语言:javascript
复制
inData <- load(inFile)
write.csv(get(inData), file=outFile)

(答案由greg-snowhttps://stackoverflow.com/a/6316461/224707上找到)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32398127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档