2015-09-04 36 views
2

我正在嘗試編寫一個腳本來通過文件名來加載RDA,並將等效文件寫爲CSV。在R中將RDA寫入CSV

這幾乎沒有(與加載和寫作),但是輸出CSV包含負載(返回的字符串向量),而不是由負載所引用的數據幀...

$ 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) 

這是命令+輸出...

/convert.r data.rda 
[1] "data.rda" 
[1] "data.csv" 
[1] "table.data" 

所以,你可以看到它從參數拿起輸入文件名,它的創造合適的輸出文件名,但INDATA是叫table.data全局對象的引用。當write.csv運行,它只是包含此:

$ cat data.csv 
"","x" 
"1","table.data" 

如何使write.csv拿起從RDA文件中的數據幀?我明白,如果RDA包含多個框架,目前存在風險 - 也許它應該循環它們並執行file-frame.csv?!

回答