如何计算r中列的标准差


您可以使用以下基本语法来计算 R 中列的标准差:

 #calculate standard deviation of one column
sd(df$col1)

#calculate standard deviation of all columns
sapply(df, sd)

#calculate standard deviation of specific columns
sapply(df[c(' col1 ', ' col2 ', ' col5 ')], sd)

以下示例展示了如何在实践中使用以下数据框使用此语法:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 points=c(99, 91, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1 A 99 33 30
2 B 91 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28

示例 1:列的标准差

以下代码显示了如何计算数据框中列的标准差:

 #calculate standard deviation of 'points' column
sd(df$points)

[1] 5.263079

“点”列中的值的标准差是5.263079

示例 2:所有列的标准差

以下代码显示了如何计算数据框中每列的标准差:

 #calculate standard deviation of all columns in data frame
sapply(df, sd)

    team points assists rebounds 
      NA 5.263079 4.062019 2.683282 
Warning message:
In var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm = na.rm):
  NAs introduced by coercion

由于“team”列是一个字符变量,R 返回 NA 并给我们一个警告。

但是,它成功计算了其他三个数字列的标准差。

示例 3:特定列的标准差

以下代码显示了如何计算数据框中特定列的标准差:

 #calculate standard deviation of 'points' and 'rebounds' columns
sapply(df[c(' points ', ' rebounds ')], sd)

  rebound points 
5.263079 2.683282

请注意,我们还可以使用列索引值来选择列:

 #calculate standard deviation of 'points' and 'rebounds' columns
sapply(df[c(2, 4)], sd)

  rebound points 
5.263079 2.683282

其他资源

以下教程解释了如何在 R 中执行其他常见功能:

如何计算R中行的标准差
如何计算R中多列的平均值
如何在R中查找多列中的最大值
如何在 R 中选择特定列

添加评论

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