系列文章目录
1-R语言的安装及使用(还没写这个,太简单了不太想写)
2-R语言内置数据集的使用
……
文章都会尽量详细,话多请见谅(我是话痨
文章目录
- 系列文章目录
- 1. 查看包中有哪些数据集
- 2. 查看某一特定数据集的基本信息
- 3. 调用内置数据集
系统:Windows 10 R语言版本:4.2.1 IDE:RStudio
参考:如何使用R语言中的内置数据集?-青盐
1. 查看包中有哪些数据集
简单来说就是使用data()函数来“Loads specified data sets, or list the available data sets.”。
在说明data函数的功能之前,首先要简单了解一下R语言的数据集(data sets)和包(packages)是怎么会事儿。从文件结构来看,数据集是包的上级目录,比如以datasets包为例,data(这相当于数据集)是datasets(这相当于包)文件夹下的一个独立文件夹,data文件夹中则有着相关的存储这些数据的数据库文件(.rdb看起来是一个数据库类型的文件后缀)。这里可能有点乱,反正就是R语言程序所在的文件中,library文件夹下的下级独立文件夹每个都是package(包括datasets),而点进去某一个package如果有data这个文件,那这一个package也就有其指定的数据集(specified data sets);所有这些有data这个文件的package,他们的数据集的总和便是可用的数据集(available data sets)。
下面具体敲代码来看一下是怎么回事儿吧!
查看特定package(e.g. datasets, ggplot2)中所有数据集,以及如果查看不存在数据集的package(e.g. car)的结果。
> data(package="datasets")
> data(package="ggplot2")
> data(package="car")
no data sets found
查看可用的所有数据集(这是翻译自data函数的帮助文档的原话,但是我觉得有点指代不清,其所指的应该是当前运行环境下可用的所有数据集,即如果某一个包没有导入的话,那么这个包便不在当前的运行环境下)。
> data()
如果此时你的运行环境中没有导入任何包,结果同data(package=“datasets”),我认为这是因为R语言默认一定访问datasets包里的数据集(类似于一个default),但是如果先导入了一个包(e.g. ggplot2),在输出的结果中便会同时包含datasets和ggplot2的数据集。
> library(ggplot2)
> data()
查看所有可用的包(packages)中的数据集。
> data(package=.packages(all.available=TRUE))
2. 查看某一特定数据集的基本信息
使用help()函数来查看某一特定数据集(e.g. BOD)的基本信息。
> help("BOD")
需要注意的是如果没有导入包含某一特定数据集的包(e.g. ggplot2包的diamonds数据集),那么并不会输出该数据集的信息。
> help("diamonds")
在指定的程序包和图书馆里没有与‘diamonds’有关的说明书
需要先导入包含该数据集的包在进行查看(这里应该挺好理解的)。
> library(ggplot2)
> help("diamonds")
除了help()函数以外,还可通过str()和summary()等函数获取某一数据集的不同维度的信息。str()函数能简洁地显示数据集的内部结构(其也可以显示其它变量的内部结构,只需要是R对象即可);summary()函数则能够显示出数据集中各变量的一些基础统计量。
> str(BOD)
'data.frame': 6 obs. of 2 variables:$ Time : num 1 2 3 4 5 7$ demand: num 8.3 10.3 19 16 15.6 19.8- attr(*, "reference")= chr "A1.4, p. 270"
> summary(BOD)Time demand Min. :1.000 Min. : 8.30 1st Qu.:2.250 1st Qu.:11.62 Median :3.500 Median :15.80 Mean :3.667 Mean :14.83 3rd Qu.:4.750 3rd Qu.:18.25 Max. :7.000 Max. :19.80
3. 调用内置数据集
通常直接输入你想要用的数据集的名称作为变量即可返回该数据集对应的数据帧,并且像正常的数据帧一样进行操作即可。而如果你想用的数据集是某一个包里的,那同样需要先导入那个包才可以调用你想要的数据集。
> BODTime demand
1 1 8.3
2 2 10.3
3 3 19.0
4 4 16.0
5 5 15.6
6 7 19.8
> BOD$Time
[1] 1 2 3 4 5 7
> diamonds
Error: object 'diamonds' not found
> library(ggplot2)
> diamonds
# A tibble: 53,940 × 10carat cut color clarity depth table price x y z<dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.432 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.313 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.314 0.29 Premium I VS2 62.4 58 334 4.2 4.23 2.635 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.756 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.487 0.24 Very Good I VVS1 62.3 57 336 3.95 3.98 2.478 0.26 Very Good H SI1 61.9 55 337 4.07 4.11 2.539 0.22 Fair E VS2 65.1 61 337 3.87 3.78 2.49
10 0.23 Very Good H VS1 59.4 61 338 4 4.05 2.39
# … with 53,930 more rows
似乎也会有一些特殊情况,必须先载入数据集才可调用数据集同名参数(为啥我也不知道QAQ)
> library(vegan)
> BCI
Error: object 'BCI' not found
> data("BCI")
> BCIAbarema.macradenia Vachellia.melanoceras Acalypha.diversifolia
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0
写在最后
本菜鸟一边搞生物学研究一边学习计算机一边记录学习过程,文章错误之处还望大佬不吝赐教,谢谢!
我的系列文章都是想到啥写啥,不过尽量会安排得符合逻辑一点,喜欢我的内容的读者可以私信给我你想看的内容,我能力所及可以考虑写一下,谢谢支持!