如何使用 dplyr 计算标准差(附示例)
您可以使用以下方法来计算dplyr中数据框中值的标准差:
方法一:计算变量的标准差
library (dplyr) df %>% summarise(sd_var1 = sd(var1, na. rm = TRUE ))
方法二:计算多个变量的标准差
library (dplyr) df %>% summarize(sd_var1 = sd(var1, na. rm = TRUE ), sd_var2 = sd(var2, na. rm = TRUE ))
方法 3:计算多个变量的标准差,并按另一个变量分组
library (dplyr) df %>% group_by(var3) %>% summarize(sd_var1 = sd(var1, na. rm = TRUE ), sd_var2 = sd(var2, na. rm = TRUE ))
本教程解释了如何在 R 中使用以下数据框来实际使用每种方法:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
points=c(12, 15, 18, 22, 14, 17, 29, 35),
assists=c(4, 4, 3, 6, 7, 8, 3, 10))
#view data frame
df
team points assists
1 to 12 4
2 to 15 4
3 To 18 3
4 to 22 6
5 B 14 7
6 B 17 8
7 B 29 3
8 B 35 10
示例 1:计算变量的标准差
以下代码显示了如何计算点变量的标准差:
library (dplyr) #calculate standard deviation of points variable df %>% summarise(sd_points = sd(points, na. rm = TRUE )) sd_points 1 7.995534
从结果中我们可以看到, points变量的值的标准差是7.995534 。
示例 2:计算多个变量的标准差
以下代码显示了如何计算点和辅助变量的标准差:
library (dplyr) #calculate standard deviation of points and assists variables df %>% summarise(sd_points = sd(points, na. rm = TRUE ), sd_assists = sd(assists, na. rm = TRUE )) sd_points sd_assists 1 7.995534 2.559994
输出显示点和辅助变量的标准差。
示例 3:计算按另一个变量分组的多个变量的标准差
以下代码显示了如何计算点和辅助变量的标准差:
library (dplyr) #calculate standard deviation of points and assists variables df %>% group_by(team) %>% summarise(sd_points = sd(points, na. rm = TRUE ), sd_assists = sd(assists, na. rm = TRUE )) # A tibble: 2 x 3 team sd_points sd_assists 1 A 4.27 1.26 2B 9.91 2.94
结果显示 A 队和 B 队的得分和辅助变量的标准差。
注意:如果要按多个变量进行分组,可以在group_by()函数中包含多个变量的列表。
其他资源
以下教程解释了如何在 R 中执行其他常见任务:
如何使用dplyr过滤唯一值
如何使用 dplyr 按多个条件进行过滤
如何计算R中列中出现的次数