74

我看到了一些类似的问题,我试图自己解决,但我做不到。这是我的问题:

我必须加载一个 isfar.RData 文件才能在其他计算中使用它(在这里描述并不重要)。我想简单地看看这个 isfar.RData 文件中的数据是什么样子的,例如它携带的数字、列、行。

首先我加载我的文件:

isfar<-load("C:/Users/isfar.RData") 

当我尝试通过 ls() 函数获取此信息(我正在使用 Rcmdr)或在加载后在开头标记 isfar 时,我进入输出窗口:[1] "isfar" 而不是表格。为什么?

非常感谢,我感谢所有的答案!希望我写的可以理解,我不是母语人士。

4

10 回答 10

81

我认为问题在于你load isfardata.frame 但你用返回的值覆盖它load

尝试:

load("C:/Users/isfar.RData") 
head(isfar)

或者更一般的方式

load("C:/Users/isfar.RData", ex <- new.env())
ls.str(ex) 
于 2011-09-01T20:14:41.833 回答
40

你可以试试

isfar <- get(load('c:/users/isfar.Rdata'))

这会将 isfar.Rdata 中的变量分配给 isfar 。完成此任务后,您可以使用 str(isfar) 或 ls(isfar) 或 head(isfar) 粗略查看 isfar。

于 2016-08-23T04:48:19.293 回答
10

查看 的帮助页面load。load 返回的是创建的对象的名称,因此您可以查看 isfar 的内容以查看创建了哪些对象。没有其他内容显示的事实ls()表明您的文件中可能没有存储任何内容。

另请注意,当使用默认行为时,加载将覆盖全局环境中与正在加载的文件中的名称相同的任何内容。如果您主要想检查文件中的内容,并可能使用该文件中的某些内容以及全局环境中的其他对象,那么最好使用该attach函数或创建一个新环境(new.env)并将文件加载到该环境中使用envir参数load.

于 2011-09-01T16:22:53.810 回答
8

这可能更适合作为评论,但我没有足够的声誉,所以我把它放在这里。
值得一提的是,无论您如何命名文件,load()函数都会保留最初保存的对象名称。.Rdata

请检查函数中使用的 data.frame 对象的名称save()。如果您使用的是 RStudio,您可以检查右上角的面板 Global Environment-Data,以查找您加载的数据的名称。

于 2018-07-31T20:27:11.247 回答
4

如果您的Rdata文件中有很多变量并且不希望它们使您的全局环境混乱,请创建一个新环境并将所有数据加载到这个新环境中。

load(file.path("C:/Users/isfar.RData"), isfar_env <- new.env() )

# Access individual variables in the RData file using '$' operator
isfar_env$var_name 

# List all of the variable names in RData:
ls(isfar_env)
于 2020-02-18T20:31:32.230 回答
2

您还可以通过 RStudio 中“全局环境”下的“导入数据集”选项卡导入数据。使用下拉列表中的文本数据选项,然后从文件夹中选择您的 .RData 文件。导入完成后,它将在控制台中显示数据。希望这可以帮助。

于 2019-09-30T21:58:48.873 回答
1

听起来.RData文件中存储的唯一变量是一个名为isfar.

你真的确定你保存了这张桌子吗?该命令应该是:

save(the_table, file = "isfar.RData")

检查变量的方法有很多种。

在命令提示符下键入它的名称以查看它的打印。然后看str, ls.str, summary,Viewunclass

于 2011-09-01T12:55:57.090 回答
1

您似乎不需要将其分配给变量。那一点神奇地发生了。事实上,将它分配给一个变量可能意味着您最终会得到两个具有相同数据的变量。

get(load('C:/Users/isfar.Rdata'))

或者,如果它与您的 R 代码位于同一文件夹中......

get(load('isfar.Rdata'))
于 2021-07-26T04:29:59.177 回答
0
isfar<-load("C:/Users/isfar.RData") 
if(is.data.frame(isfar)){
   names(isfar)
}

如果 isfar 是一个数据框,这将打印出其列的名称。

于 2011-09-01T13:04:12.440 回答
0
num <- seq(0, 5, length.out=10) #create object num
num
[1] 0.00 1.25 2.50 3.75 5.00
save(num, file = 'num.RData') #save num ro RData
rm(num) #remove num 
load("num.RData") #load num from RData
num
[1] 0.00 1.25 2.50 3.75 5.00

> isfar<-load("num.RData")
> typeof(isfar)
 [1] "character"
> isfar  #list objects saved in RData
 [1] "num"
于 2021-06-09T06:06:53.493 回答