我想获得控制台中显示的特定R包中所有数据集的列表。我知道函数data()
将列出已加载包中的所有数据集。那不是我的目标。我想获得特定R包中所有数据集的列表。以下尝试无效。
data()
data('arules')
# Warning message:
# In data("arules") : data set ‘arules’ not found
我的另一个目的是获取特定包中所有数据集的dim
列表。
答案 0 :(得分:33)
在help(data)
的详细信息部分中有一些很好的信息。以下是基础知识,以 plyr 包为例。首先,让我们看一下data()
提供的内容。
names(data())
#[1] "title" "header" "results" "footer"
对这些元素的进一步调查将揭示其中的内容。接下来,我们可以使用data()
中的参数,然后对结果列表进行子集化,以查找包中数据集的名称。
d <- data(package = "plyr")
## names of data sets in the package
d$results[, "Item"]
# [1] "baseball" "ozone"
## assign it to use later
nm <- d$results[, "Item"]
## call the promised data
data(list = nm, package = "plyr")
## get the dimensions of each data set
lapply(mget(nm), dim)
# $baseball
# [1] 21699 22
#
# $ozone
# [1] 24 24 72
编辑/更新:如果要在所有已安装的软件包中找到数据集的名称,可以使用以下命令。 .packages(TRUE)
提供了库位置路径lib.loc
中可用的所有包。由于 base 和 stats 包中的数据集已移至数据集包,我们需要通过将其与setdiff()
。
## names of all packages sans base and stats
pkgs <- setdiff(.packages(TRUE), c("base", "stats"))
## get the names of all the data sets
dsets <- data(package = pkgs)$result[, "Item"]
## look at the first few in our result
head(dsets)
# [1] "AirPassengers" "BJsales" "BJsales.lead (BJsales)"
# [4] "BOD" "CO2" "ChickWeight"
答案 1 :(得分:7)
vcdExtra包有一个函数datasets
就是为了这个目的。它返回一个数据框,其中包含程序包中找到的每个数据集的名称,类,维和标题。
> vcdExtra::datasets("plyr")
Item class dim Title
1 baseball data.frame 21699x22 Yearly batting records for all major league baseball players
2 ozone array 24x24x72 Monthly ozone measurements over Central America.
>
它也适用于多个包名称:
> vcdExtra::datasets(c("plyr", "dplyr"))
Package Item class dim
1 plyr baseball data.frame 21699x22
2 plyr ozone array 24x24x72
3 dplyr nasa tbl_cube 41472x4
Title
1 Yearly batting records for all major league baseball players
2 Monthly ozone measurements over Central America.
3 NASA spatio-temporal data
>
答案 2 :(得分:0)
如果您在R-studio中并且已导入该包
您可以从全球环境切换到&#34;环境中的特定包裹#34;窗口
然后您可以看到该包中的数据集列表
答案 3 :(得分:0)
如果要检查所有数据集的列表,请使用此命令
rev
如果您要检查特定软件包的数据集,例如ggplot2
rep