【发布时间】:2021-12-08 07:02:48
【问题描述】:
我是 R 的新手,我正在尝试将 .Rdata 格式文件转换为逗号分隔的文本文件格式。有人可以帮我解决这个问题吗?
【问题讨论】:
标签: r export-to-csv file-conversion
我是 R 的新手,我正在尝试将 .Rdata 格式文件转换为逗号分隔的文本文件格式。有人可以帮我解决这个问题吗?
【问题讨论】:
标签: r export-to-csv file-conversion
load("yourData.RData")
ls() #returns a list of all the objects you just loaded (and anything else in your environment)
write.csv(theItemOfInterestFromYourDRadataFileAsThereMayBeMoreThanOneThingInthere,
file="yourCSV.csv")
【讨论】:
write.csv 必须使用您要在调用中写入 csv 的变量的名称。它可能不一定是“yourData”
str(yourData) 返回什么?
.RData 文件可以包含多个任何类的对象。
如果您的文件包含超过 1 个 data.frame-like 类的对象,那么以下应该可以工作
resave <- function(file){
e <- new.env(parent = emptyenv())
load(file, envir = e)
objs <- ls(envir = e, all.names = TRUE)
for(obj in objs) {
.x <- get(obj, envir =e)
message(sprintf('Saving %s as %s.csv', obj,obj) )
write.csv(.x, file = paste0(obj, '.csv'))
}
}
resave('yourData.RData')
您可以将呼叫更改为write.csv 来做您想做的事。如果您的对象在使用 write.csv 时表现不佳,那么您不应该尝试这个。
【讨论】:
Error in data.frame(2` = list(pos = c(6506L, 6601L, 21801L, 21811L, 21902L, : 参数暗示不同的行数:7670、9729、114 , 2422 调用:重新保存 ... as.data.frame -> as.data.frame.list -> eval -> eval -> data.frame`