當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R data 數據集


R語言 data 位於 utils 包(package)。

說明

加載指定的數據集,或列出可用的數據集。

用法

data(..., list = character(), package = NULL, lib.loc = NULL,
     verbose = getOption("verbose"), envir = .GlobalEnv,
     overwrite = TRUE)

參數

...

文字字符串或名稱。

list

一個字符向量。

package

給出要查找數據集的包的字符向量,或 NULL

默認情況下,使用搜索路徑中的所有包,然後‘數據' 當前工作目錄的子目錄(如果存在)。

lib.loc

目錄名稱的字符向量R Library ,或NULL.默認值為NULL對應於當前已知的所有庫。

verbose

一個合乎邏輯的。如果是 TRUE ,則會打印附加診斷信息。

envir

應加載數據的environment

overwrite

邏輯:應該存在同名對象環境被替換?

細節

目前支持四種格式的數據文件:

  1. 以‘結尾的文件.R' 或者 '.r' 是source()d 中,與R工作目錄暫時更改為包含相應文件的目錄。 (data確保utils軟件包已附上,以防已運行通過 utils::data.)

  2. 以‘結尾的文件.RData' 或者 '.rda' 是load()編輯。

  3. 以‘結尾的文件。標簽', '。TXT' 或者 '。TXT' 被讀取使用read.table(..., header = TRUE, as.is=FALSE),從而產生一個 DataFrame 。

  4. 以‘結尾的文件.csv' 或者 '.CSV' 被讀取使用read.table(..., header = TRUE, sep = ";", as.is=FALSE),並且還產生一個 DataFrame 。

如果找到多個匹配的文件名,則使用此列表中的第一個。 (擴展名為‘。TXT', '。標簽' 或者 '.csv' 可以被壓縮,有或沒有進一步擴展 '.gz', '.bz2' 或者 '.xz’。)

要加載的數據集可以指定為一組字符串或名稱,或字符向量 list ,或兩者兼而有之。

對於每個給定的數據集,前兩種類型(‘.R' 或者 '.r', 和 '.RData' 或者 '.rda’文件)可以在加載環境中創建多個變量,這些變量的命名可能與數據集不同。第三種和第四種類型始終會導致創建與數據集同名(無擴展名)的單個變量。

如果沒有指定數據集,data列出可用的數據集。對於每個包,它在‘’ 子目錄,或者,如果未找到,則掃描‘數據’數據文件的子目錄使用list_files_with_type。有關可用數據集的信息在類的對象中返回"packageIQR"。該類的結構是實驗性的。如果數據集的名稱與用於檢索它們的參數的名稱不同,則索引將具有類似的條目beaver1 (beavers)這告訴我們數據集beaver1可以通過調用來檢索data(beavers).

如果lib.locpackage都是NULL(默認),在所有當前加載的包中搜索數據集,然後在“數據' 當前工作目錄的目錄(如果有)。

如果 lib.loc = NULLpackage 被指定為字符向量,則首先在加載的包中搜索指定的包,然後在默認庫中搜索(請參閱 .libPaths )。

如果指定了 lib.loc (而不是 NULL ),則會在指定的庫中搜索包,即使它們已從另一個庫加載。

隻需查看“數據' 當前工作目錄的目錄,設置package = character(0)(和lib.loc = NULL,默認)。

指定的所有數據集(無論是否找到)的字符向量,或者有關 "packageIQR" 類的對象中的所有可用數據集的信息(如果未指定)。

好的做法

data(foo) 不需要創建一個名為 foo 的對象(也不需要創建一個對象),盡管如果遵循這一約定(並且如果數據集是 lazy-loaded 則強製執行),則會大大減少混亂。

data() 最初的目的是允許用戶從包中加載數據集以在其示例中使用,因此它將數據集加載到工作區 .GlobalEnv 中。這避免了在不使用時在內存中保留大量數據集:這種需求幾乎完全被數據集的延遲加載所取代。

通過名稱(不帶引號)指定數據集的能力很方便:在編程中,數據集應通過字符串(帶引號)指定。

在沒有 envir 參數的函數中使用 data 幾乎總是會產生不良副作用,即將對象放入用戶工作區(實際上,替換已存在的任何同名對象)。通過 data(..., envir = environment()) 將對象放入當前評估環境幾乎總是更好。然而,通常有兩種選擇更好,這兩種選擇都在“Writing R Extensions”手冊中進行了說明。

  • 對於數據集,設置一個包以使用數據的延遲加載。

  • 對於係統數據的對象,例如函數內計算中使用的查找表,請使用文件‘R/sysdata.rda' 在包源中或通過以下方式創建對象R包安裝時的代碼。

有時一個重要的區別是,第二種方法將對象放置在命名空間中,而第一種方法則不然。因此,如果函數將 mytable 視為包中的對象很重要,那麽它是係統數據,應使用第二種方法。在特殊情況下,包使用 lazy-loaded 數據集作為函數的默認參數,需要由 :: 指定,例如 survival::survexp.us

警告

此函數在 envir 環境(默認情況下為用戶工作區)中創建對象,替換任何已存在的對象。 data("foo") 可以靜默創建 foo 以外的對象:在已發布的包中存在創建/替換 .Random.seed 的實例,從而更改會話的種子。

注意

人們可以利用搜索順序以及“.R’文件將更改目錄。如果原始數據存儲在‘mydata.txt’然後就可以設置‘mydata.R' 讀書 'mydata.txt’並對其進行預處理,例如使用transform()。例如,可以將數值向量轉換為具有適當標簽的因子。就這樣 '.R’文件可以有效地包含明文格式的元數據規範。

例子

require(utils)
data()                         # list all available data sets
try(data(package = "rpart"), silent = TRUE) # list the data sets in the rpart package
data(USArrests, "VADeaths")    # load the data sets 'USArrests' and 'VADeaths'
## Not run: ## Alternatively
ds <- c("USArrests", "VADeaths"); data(list = ds)
## End(Not run)
help(USArrests)                # give information on data set 'USArrests'

也可以看看

help為了獲取數據集的文檔,save為了創造第二 ('.rda’)一種數據,通常是最有效的數據。

“編寫 R 擴展”,用於準備“數據’ 包的目錄。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Data Sets。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。