加载其他人的.rdata文件,无法访问数据

时间:2011-02-16 19:22:29

标签: r load

我的教授给我发了一个.rdata文件,希望我对内容做一些分析。虽然我对R很体面,但我从未在.rdata文件中保存过我的工作,因此从未使用它们。

当我尝试加载文件时,它看起来像是在工作:

> load('/home/swansone/Desktop/anes.rdata')
> ls()
[1] "25383-0001-Data"

但我似乎无法获得数据:

> names("25383-0001-Data")
NULL

我知道.rdata文件中有数据(它是13 MB,那里肯定有很多)我做错了什么?我很茫然。

编辑:

我应该注意,我也尝试过不使用引号:

> names(25383-0001-Data)
Error: object "Data" not found

重命名:

> ls()[1] <- 'nes'
Error in ls()[1] <- "nes" : invalid (NULL) left side of assignment

2 个答案:

答案 0 :(得分:16)

对于一个不以字母或字母开头的对象,你会遇到很多问题。和一封信(如An Introduction to R中所述)。

使用反引号来访问此对象(help("`")的“名称和标识符”部分解释了其工作原理)并将对象分配给新的,语法上有效命名的对象。

Data <- `25383-0001-Data`

答案 1 :(得分:5)

也许它与名称和反引号工作中不寻常使用短划线有关:

names(`25383-0001-Data`)

编辑:

更多供参考(因为约书亚已经完美地回答了主要问题),你也可以使用ls()重新分配来自get()(Wilduck在问题中尝试过)的对象。如果名称的对象包含非常奇怪的字符,这可能很有用:

foo <- 1:5
bar <- get(ls()[1])
bar
[1] 1 2 3 4 5

这当然要求foo中的ls()索引为[1],但查找所需对象的索引并不太难。