在 r 中创建汇总表的最简单方法


在R 中创建汇总表的最简单方法是使用psych库中的describe()describeBy()函数。

 library (psych)

#create summary table
describe(df)

#create summary table, grouped by a specific variable
describeBy(df, group=df$var_name)

以下示例展示了如何在实践中使用这些功能。

示例1:创建基本汇总表

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'C'),
                 points=c(15, 22, 29, 41, 30, 11, 19),
                 rebounds=c(7, 8, 6, 6, 7, 9, 13),
                 steals=c(1, 1, 2, 3, 5, 7, 5))

#view data frame
df

  team points rebounds steals
1 to 15 7 1
2 A 22 8 1
3 B 29 6 2
4 B 41 6 3
5 C 30 7 5
6 C 11 9 7
7 C 19 13 5

我们可以使用describe()函数为数据框中的每个变量创建一个汇总表:

 library (psych)

#create summary table
describe(df)

         vars n mean sd median trimmed mad min max range skew kurtosis
team* 1 7 2.14 0.90 2 2.14 1.48 1 3 2 -0.22 -1.90
points 2 7 23.86 10.24 22 23.86 10.38 11 41 30 0.33 -1.41
rebounds 3 7 8.00 2.45 7 8.00 1.48 6 13 7 1.05 -0.38
steals 4 7 3.43 2.30 3 3.43 2.97 1 7 6 0.25 -1.73
           se
team* 0.34
points 3.87
rebounds 0.93
steals 0.87

以下是如何解释结果中的每个值:

  • vars : 列号
  • n : 有效案例数
  • 平均值:平均值
  • 中位数:中值
  • rimmed :修剪后的平均值(默认情况下,每端删除 10% 的观测值)
  • mad :绝对中位数偏差(与中位数)
  • min : 最小值
  • max :最大值
  • range :值的范围(最大值 – 最小值)
  • 倾斜:不对称
  • 峰度:平坦化
  • se :标准误

需要注意的是,任何带星号 (*) 的变量都是分类变量或逻辑变量,已转换为数值变量,其值表示值的数字顺序。

在我们的示例中,“team”变量已转换为数值变量,因此我们不应按字面解释相应的汇总统计信息。

另请注意,您可以使用fast=TRUE参数仅计算最常见的汇总统计信息:

 #create smaller summary table
describe(df, fast= TRUE )

         vars n mean sd min max range se
team 1 7 NaN NA Inf -Inf -Inf NA
points 2 7 23.86 10.24 11 41 30 3.87
rebounds 3 7 8.00 2.45 6 13 7 0.93
steals 4 7 3.43 2.30 1 7 6 0.87

我们还可以选择仅计算数据框中某些变量的汇总统计:

 #create summary table for just 'points' and 'rebounds' columns
describe(df[, c(' points ', ' rebounds ')], fast= TRUE )

         vars n mean sd min max range se
points 1 7 23.86 10.24 11 41 30 3.87
rebounds 2 7 8.00 2.45 6 13 7 0.93

示例 2:创建一个汇总表,按特定变量分组

以下代码显示如何使用describeBy()函数为数据框创建汇总表,并按“team”变量分组:

 #create summary table, grouped by 'team' variable
describeBy(df, group=df$team, fast= TRUE )

 Descriptive statistics by group 
group: A
         vars n mean sd min max range se
team 1 2 NaN NA Inf -Inf -Inf NA
points 2 2 18.5 4.95 15 22 7 3.5
rebounds 3 2 7.5 0.71 7 8 1 0.5
steals 4 2 1.0 0.00 1 1 0 0.0
-------------------------------------------------- ---------- 
group: B
         vars n mean sd min max range se
team 1 2 NaN NA Inf -Inf -Inf NA
points 2 2 35.0 8.49 29 41 12 6.0
rebounds 3 2 6.0 0.00 6 6 0 0.0
steals 4 2 2.5 0.71 2 3 1 0.5
-------------------------------------------------- ---------- 
group: C
         vars n mean sd min max range se
team 1 3 NaN NA Inf -Inf -Inf NA
points 2 3 20.00 9.54 11 30 19 5.51
rebounds 3 3 9.67 3.06 7 13 6 1.76
steals 4 3 5.67 1.15 5 7 2 0.67

输出显示数据框中三支球队各自的汇总统计数据。

其他资源

如何在R中计算五个数字的总和
如何计算R中每组的平均值
如何在R中按组计算总和
如何计算 R 中的方差
如何在 R 中创建协方差矩阵

添加评论

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