📜  使用 Dplyr 在 R 中选择随机样本(1)

📅  最后修改于: 2023-12-03 15:06:46.184000             🧑  作者: Mango

使用 Dplyr 在 R 中选择随机样本

Dplyr 是一个强大的数据操作工具,它可以轻松地进行过滤、排序、分组、聚合等操作。其中,随机采样也是非常常见的操作。本文介绍如何在 R 中使用 Dplyr 选择随机样本。

安装 Dplyr

安装 Dplyr 很简单,只需在 R 中运行以下命令即可:

install.packages("dplyr")

安装完成后,我们就可以使用 Dplyr 了。

选择随机样本

使用 Dplyr 选择随机样本,可以使用 sample_n() 或者 sample_frac() 函数。

sample_n()

sample_n() 可以随机选取数据集中的指定数量的行。例如,我们要从 mtcars 数据集中随机选取 5 条数据,可以使用以下代码:

library(dplyr)

mtcars %>%
  sample_n(5)

输出结果如下:

                    mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Ford Pantera L        15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
Lincoln Continental  10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
Datsun 710           22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
Lotus Europa         30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
Cadillac Fleetwood   10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
sample_frac()

sample_frac() 可以随机选取数据集中的指定比例的行。例如,我们要从 iris 数据集中随机选取其中的 30% 的数据,可以使用以下代码:

iris %>%
  sample_frac(0.3)

输出结果如下:

    Sepal.Length Sepal.Width Petal.Length Petal.Width     Species
88           6.3         2.3          4.4         1.3 versicolor
18           5.1         3.5          1.4         0.3      setosa
110          7.2         3.6          6.1         2.5   virginica
140          6.9         3.1          5.4         2.1   virginica
136          7.7         3.0          6.1         2.3   virginica
5            5.0         3.6          1.4         0.2      setosa
77           6.8         2.8          4.8         1.4 versicolor
41           5.0         3.5          1.3         0.3      setosa
128          6.1         3.0          4.9         1.8   virginica
114          5.7         2.5          5.0         2.0   virginica
56           5.7         2.8          4.5         1.3 versicolor
68           5.8         2.7          4.1         1.0 versicolor
149          6.2         3.4          5.4         2.3   virginica
63           6.0         2.2          4.0         1.0 versicolor
29           5.2         3.4          1.4         0.2      setosa
75           6.4         2.9          4.3         1.3 versicolor
4            4.6         3.1          1.5         0.2      setosa
100          5.7         2.8          4.1         1.3 versicolor
62           5.9         3.0          4.2         1.5 versicolor
119          7.7         2.6          6.9         2.3   virginica
145          6.7         3.3          5.7         2.5   virginica
147          6.5         3.0          5.2         2.0   virginica
25           4.8         3.4          1.9         0.2      setosa
13           4.8         3.0          1.4         0.1      setosa
76           6.6         3.0          4.4         1.4 versicolor
65           6.7         3.1          4.4         1.4 versicolor
39           4.4         3.0          1.3         0.2      setosa
104          6.3         2.9          5.6         1.8   virginica
82           5.5         2.4          3.7         1.0 versicolor
81           5.5         2.4          3.8         1.1 versicolor
结论

使用 Dplyr 可以轻松地进行随机抽样,并对数据进行各种操作。我们可以使用 sample_n()sample_frac() 来选择指定数量和指定比例的数据行。