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

Posted

技术标签:

【中文标题】如何获取 R 中的内置数据集列表?【英文标题】:How do I get a list of built-in data sets in R? 【发布时间】:2016-02-21 05:28:24 【问题描述】:

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

【问题讨论】:

试试data() 您可能需要ls("package:datasets") 来获取datasets 包中所有“内置”数据集的名称。 谢谢@akrun...这工作... data() 从包“datasets”返回数据帧,“data(package = .packages(all.available = TRUE))”返回来自所有包的内置数据框。 【参考方案1】:

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

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

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

3:使用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

【讨论】:

我如何找到数据框的包?从某种意义上说,如果我知道一个数据框,我怎么知道它是在哪个包中创建的。 对于某些数据集,您可以使用“帮助”功能,它会显示该集合的来源包。例如:'?iris'。【参考方案2】:

我经常还需要知道可用的数据集结构,所以我在我的misc package 中创建了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")

【讨论】:

很好,但如果您希望它与其他软件包一起使用,则需要进行一些修改。 dataStr("colorspace") # Error in get(x) : object 'USSouthPolygon' not found(即使colorspace::USSouthPolygon 有效,我也看到了。) 快速解决方案:首先library(colorspace)。更好的解决方案现已上线,但代码太长无法在此处复制粘贴。 github.com/brry/berryFunctions/blob/master/R/dataStr.R【参考方案3】:

运行

help(package = "datasets")

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

【讨论】:

【参考方案4】:

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

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

【讨论】:

感谢您提供此答案/链接!

以上是关于如何获取 R 中的内置数据集列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不调用索引函数或任何内置函数的情况下获取列表中的索引?

google-bigquery 如何使用 https 获取数据集列表?

OSX 内置强制退出应用程序如何获取其应用程序列表?

R语言学习之获取数据的学习(XML和JSON文件的读取)

如何获取 SSAS 多维数据集维度和维度属性的列表

R语言使用data函数获取当前R环境可用的示例数据集:获取datasets包中的所有示例数据集获取所有包的数据集获取特定包的数据集