如何使用 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中列中出现的次数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注