如何获取 R 中内置数据集的列表?

How do I get a list of built-in data sets in R?

提问人:mockash 提问时间:11/19/2015 最后编辑:Jaapmockash 更新时间:9/16/2022 访问量:44781

问:

有人可以帮忙获取内置数据集及其依赖包的列表吗?

数据集 R-FAQ

评论

13赞 akrun 11/19/2015
试用data()
5赞 Rich Scriven 11/19/2015
您可能需要包中所有“内置”数据集的名称。ls("package:datasets")datasets
1赞 mockash 11/19/2015
谢谢@akrun...这奏效了......data() 从包 'datasets' 返回数据帧,'data(package = .packages(all.available = TRUE))' 返回所有包中的内置数据帧。

答:

60赞 4 revsJaap #1

有几种方法可以在 R 中查找包含的数据集:

1:using 将为您提供所有已加载包的数据集列表(而不仅仅是包中的数据集);数据集按包排序data()datasets

阿拉伯数字:使用将为您提供计算机上可用包中所有数据集的列表(即未加载的数据集)data(package = .packages(all.available = TRUE))

3:using 将为您提供该特定包的数据集,因此将提供包中的数据集data(package = "packagename")data(package = "plyr")plyr


如果你想知道数据集位于哪个包中(例如数据集),你可以执行以下操作:acme

dat <- as.data.frame(data(package = .packages(all.available = TRUE))$results)
dat[dat$Item=="acme", c(1,3,4)]

这给了:

    Package Item                  Title
107    boot acme Monthly Excess Returns

评论

0赞 mockash 11/26/2015
如何找到数据帧的包?从某种意义上说,如果我知道一个数据帧,我怎么知道它是在哪个包中创建的。
6赞 Heroka 11/26/2015
对于某些数据集,您可以使用“help”函数,它显示集合来自的包。例如:“?iris”。
7赞 Berry Boessenkool 7/21/2017 #2

我经常还需要知道哪些数据集结构可用,所以我在我的杂项包中创建了。dataStr

dataStr <- function(package="datasets", ...)
  {
  d <- data(package=package, envir=new.env(), ...)$results[,"Item"]
  d <- sapply(strsplit(d, split=" ", fixed=TRUE), "[", 1)
  d <- d[order(tolower(d))]
  for(x in d){ message(x, ":  ", class(get(x))); message(str(get(x)))}
  }
dataStr()

请注意,控制台中的输出很长。

这是输出的类型:

[...]

warpbreaks:  data.frame
'data.frame':   54 obs. of  3 variables:
 $ breaks : num  26 30 54 25 70 52 51 26 67 18 ...
 $ wool   : Factor w/ 2 levels "A","B": 1 1 1 1 1 1 1 1 1 1 ...
 $ tension: Factor w/ 3 levels "L","M","H": 1 1 1 1 1 1 1 1 1 2 ...

WorldPhones:  matrix
 num [1:7, 1:7] 45939 60423 64721 68484 71799 ...
 - attr(*, "dimnames")=List of 2
  ..$ : chr [1:7] "1951" "1956" "1957" "1958" ...
  ..$ : chr [1:7] "N.Amer" "Europe" "Asia" "S.Amer" ...

WWWusage:  ts
 Time-Series [1:100] from 1 to 100: 88 84 85 85 84 85 83 85 88 89 ...

编辑:要获得更多信息输出并将其用于卸载的包或搜索路径上的所有包,请使用修订后的在线版本

source("https://raw.githubusercontent.com/brry/berryFunctions/master/R/dataStr.R")

评论

0赞 Frank 7/22/2017
很好,但如果你想让它与其他包一起使用,这需要一些修改。 (即使有效,我也看到了这一点。dataStr("colorspace") # Error in get(x) : object 'USSouthPolygon' not foundcolorspace::USSouthPolygon
2赞 Berry Boessenkool 7/31/2017
快速解决方案:首先。更好的解决方案现已上线,但代码太长,无法在此处复制粘贴。github.com/brry/berryFunctions/blob/master/R/dataStr.Rlibrary(colorspace)
2赞 Igor Micev 1/24/2019 #3

help(package = "datasets")

在 R Studio 控制台中,你将在右侧整洁的“帮助”选项卡中获得所有可用的数据集。

6赞 Ayşe Nur 2/4/2019 #4

下面是由 Vincent Arel-Bundock 教授维护的综合 R 包数据集列表。https://vincentarelbundock.github.io/Rdatasets/

Rdatasets是 1892 个数据集的集合,这些数据集最初 与统计软件环境 R 和一些一起分发 其附加包。目标是使这些数据更广泛地传播 可用于教学和统计软件开发。

评论

1赞 Anton Antonov 6/7/2021
感谢您提供此答案/链接!