16

我是 R 的新手,我正在尝试将 .Rdata 格式文件转换为逗号分隔的文本文件格式。有人可以帮我解决这个问题吗?

4

2 回答 2

20
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")
于 2012-11-02T04:52:31.217 回答
8

一个.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,那么您不应该尝试这样做。

于 2012-11-02T05:21:49.057 回答