当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。