通过在R中加载.rda文件获取数据帧的名称

时间:2011-12-17 21:05:31

标签: r load dataframe rda

我正在尝试在r中加载一个.rda文件,这是一个保存的数据帧。我不记得它的名字。

我试过了

a<-load("al.rda")

然后不允许我做任何事情。我收到了错误

Error:object 'a' not found

我也试过使用=符号。

如何加载此.rda文件以便我可以使用它?

我用负载(“al.rda”)重新调整了R,我知道得到以下错误

Error: C stack usage is too close to the limit

5 个答案:

答案 0 :(得分:5)

使用'attach'然后使用name参数'ls'。类似的东西:

attach("al.rda")
ls("file:al.rda")

数据文件现在位于搜索路径2的位置,很有可能。做:

search()
ls(pos=2)

启蒙。输入保存在al.rda中的任何对象的名称现在都可以获得它,除非你在搜索路径位置1中有一些东西,但是R可能会警告你有关某个东西掩盖另一个东西的信息。

但是我现在怀疑你在RData文件中没有保存任何内容。有两个原因:

  1. 您说您没有收到错误消息
  2. load表示没有任何内容
  3. 我可以复制这种情况。如果你保存(file =“foo.RData”),那么你将得到一个空的RData文件 - 你可能要做的是save.image(file =“foo.RData”),它会保存你的所有对象。

    你的.rda文件有多大?如果它低于100个字节(我的空RData文件长度为42个字节),那么我怀疑发生了什么。

答案 1 :(得分:4)

load函数执行会返回它加载的变量列表。我怀疑你加载“al.rda”时实际上得到错误。加载时R输出到底是什么?

应如何工作的示例:

d <- data.frame(a=11:13, b=letters[1:3])
save(d, file='foo.rda')
a <- load('foo.rda')
a # prints "d"

为了确定,请检查您实际调用的load函数是否为原始函数:

find("load") # should print "package:base"

编辑由于现在加载文件时出现错误,因此可能会以某种方式损坏。试试这个并说出它打印的内容:

file.info("a1.rda") # Prints the file size etc...
readBin("a1.rda", "raw", 50) # reads first 50 bytes from the file

无法访问该文件,很难调查更多...也许您可以以某种方式共享该文件(http://www.filedropper.com或类似的)?

答案 2 :(得分:4)

我不得不重新安装R ...不知怎的,它已经腐败了。我期望的简单命令

load("al.rda")

终于有效了。

答案 3 :(得分:3)

我遇到了类似的问题,并且在没有重新安装R.的情况下解决了这个问题,例如做

load("al.rda)可以正常工作,但是如果你这样做的话 a <- load("al.rda")无效。

答案 4 :(得分:1)

我通常使用save来保存单个对象,然后我使用以下实用程序方法使用load将该对象检索到给定的变量名,但是使用临时命名空间以避免覆盖现有对象。也许它对其他人也有帮助:

<h1 data-ng-bind-html="eventSources"></h1>

该方法当然可以扩展为返回命名对象和对象列表,但这个简单版本对我来说最有用。