Я пытаюсь написать сценарий для загрузки RDA по имени файла и записи эквивалентного файла в формате CSV.
Он почти готов (с загрузкой и записью), однако выходной CSV содержит вектор строк, возвращаемых load (), а не фрейм данных, на который ссылается load ...
$ 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 ?!