簡體   English   中英

如何查看 .RData 文件中的數據?

[英]How to see data from .RData file?

我看到了一些類似的問題,我試圖自己解決,但我做不到。 這是我的問題:

我必須加載一個 isfar.RData 文件才能在其他計算中使用它(這里不重要描述)。 我想簡單地看看這個 isfar.RData 文件中的數據看起來如何,例如它攜帶的數字、列、行。

首先我加載我的文件:

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

當我嘗試通過 ls() 函數或在加載后在開頭標記 isfar 獲取此信息(我正在使用 Rcmdr)時,我進入輸出窗口:[1] “isfar”而不是表格。 為什么?

非常感謝,我感謝所有的答案! 希望我寫的可以理解,我不是母語人士。

我認為問題是,你load isfar data.frame但你通過返回的值覆蓋它load

嘗試:

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

或更一般的方式

load("C:/Users/isfar.RData", ex <- new.env())
ls.str(ex) 

你可以試試

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

這會將 isfar.Rdata 中的變量分配給 isfar 。 在此賦值之后,您可以使用 str(isfar) 或 ls(isfar) 或 head(isfar) 來粗略查看 isfar。

查看load的幫助頁面。 load 返回的是創建的對象的名稱,所以你可以查看 isfar 的內容,看看創建了哪些對象。 ls()沒有顯示任何其他內容的事實表明,您的文件中可能沒有存儲任何內容。

另請注意,當與默認行為一起使用時, load 將覆蓋全局環境中與正在加載的文件中名稱相同的任何內容。 如果您主要想檢查文件中的內容,並可能將該文件中的某些內容與全局環境中的其他對象一起使用,那么最好使用attach函數或創建一個新環境 ( new.env ) 並加載使用envir參數load到該環境中。

這可能更適合作為評論,但我沒有足夠的聲譽,所以我把它放在這里。
值得一提的是無論您如何命名.Rdata文件, load()函數都會保留最初保存的對象名稱

請檢查save()函數中使用的 data.frame 對象的名稱 如果您使用的是 RStudio,您可以檢查右上角的面板 Global Environment-Data,以找到您加載的數據的名稱。

如果您的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)

您還可以通過 RStudio 中“全局環境”下的“導入數據集”選項卡導入數據。 使用下拉列表中的文本數據選項並從文件夾中選擇您的 .RData 文件。 導入完成后,它將在控制台中顯示數據。 希望這可以幫助。

這聽起來像存儲在唯一varaible .RData文件是一個名為isfar

你真的確定你保存了表格嗎? 命令應該是:

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

有很多方法可以檢查變量。

在命令提示符下鍵入它的名稱以查看它的打印。 然后看看strls.strsummaryViewunclass

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"

您似乎不需要將其分配給變量。 那一點神奇地發生了......

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

或者,如果它與您的 R 代碼在同一文件夾中...

get(load('isfar.Rdata'))
isfar<-load("C:/Users/isfar.RData") 
if(is.data.frame(isfar)){
   names(isfar)
}

如果 isfar 是一個數據框,這將打印出其列的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM