如何在 r 中计算描述性统计(附示例)


描述性统计是描述一组数据的值。

它们帮助我们了解数据集的中心在哪里以及数据集中值的分布。

我们可以使用两个函数来计算 R 中的描述性统计量:

方法一:使用summary()函数

 summary(my_data)

summary()函数计算 R 中数据帧中每个变量的以下值:

  • 最低限度
  • 第一个四分位数
  • 中位数
  • 意思是
  • 第三个四分位数
  • 最大限度

方法2:使用sapply()函数

 sapply(my_data, sd, na. rm = TRUE )

sapply()函数可用于计算数据框中每个变量的描述性统计量,而不是通过summary()函数计算的统计量。

例如,上面的sapply()函数计算数据框中每个变量的标准差。

以下示例演示如何使用这两个函数来计算 R 数据框中变量的描述性统计量。

示例:在 R 中计算描述性统计量

假设我们在 R 中有以下数据框,其中包含三个变量:

 #create data frame
df <- data. frame (x=c(1, 4, 4, 5, 6, 7, 10, 12),
                 y=c(2, 2, 3, 3, 4, 5, 11, 11),
                 z=c(8, 9, 9, 9, 10, 13, 15, 17))

#view data frame
df

   X Y Z
1 1 2 8
2 4 2 9
3 4 3 9
4 5 3 9
5 6 4 10
6 7 5 13
7 10 11 15
8 12 11 17

我们可以使用summary()函数来计算每个变量的各种描述性统计数据:

 #calculate descriptive statistics for each variable
summary(df)

       xyz Min. : 1,000 Min. : 2,000 Min. : 8.00  
 1st Qu.: 4,000 1st Qu.: 2,750 1st Qu.: 9.00  
 Median: 5,500 Median: 3,500 Median: 9.50  
 Mean: 6.125 Mean: 5.125 Mean: 11.25  
 3rd Qu.: 7,750 3rd Qu.: 6,500 3rd Qu.: 13.50  
 Max. :12,000 Max. :11,000 Max. :17.00

我们还可以使用括号仅计算数据框中特定变量的描述性统计数据:

 #calculate descriptive statistics for 'x' and 'z' only
summary(df[, c(' x ', ' z ')])

       xz Min. : 1,000 Min. : 8.00  
 1st Qu.: 4.000 1st Qu.: 9.00  
 Median: 5.500 Median: 9.50  
 Mean: 6.125 Mean: 11.25  
 3rd Qu.: 7.750 3rd Qu.: 13.50  
 Max. :12,000 Max. :17.00 

我们还可以使用sapply()函数来计算每个变量的具体描述统计量。

例如,以下代码显示了如何计算每个变量的标准差:

 #calculate standard deviation for each variable
sapply(df, sd, na. rm = TRUE )

       X Y Z
3.522884 3.758324 3.327376

我们还可以使用sapply( ) 中的 function()来计算描述性统计量。

例如,以下代码显示如何计算每个变量的范围

 #calculate range for each variable
sapply(df, function(df) max(df, na. rm = TRUE )-min(df, na. rm = TRUE ))

 X Y Z
11 9 9

最后,我们可以创建一个复杂的函数来计算描述性统计量,然后将该函数与sapply()函数一起使用。

例如,以下代码显示了如何计算数据框中每个变量的众数

 #define function that calculates mode
find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

#calculate mode for each variable
sapply(df, find_mode)

$x
[1] 4

$y
[1] 2 3 11

$z
[1] 9

从结果我们可以看出:

  • 变量 x 的众数为4
  • y 变量的众数为2311 (因为这些值中的每一个都出现最频繁)
  • 变量 z 的众数为9

使用summary()sapply()函数,我们可以计算数据框中每个变量所需的任何描述性统计数据。

其他资源

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

如何在 R 中创建汇总表
如何在R中找到四分位数范围
如何去除R中的异常值

添加评论

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