如何在 r 中使用 summary() 函数(附示例)


R中的summary()函数可用于快速汇总R中向量、数据框、回归模型或ANOVA模型中的值。

该语法使用以下基本语法:

 summary(data)

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

示例 1:将 summary() 与 Vector 一起使用

下面的代码展示了如何使用summary()函数将值汇总成向量:

 #definevector
x <- c(3, 4, 4, 5, 7, 8, 9, 12, 13, 13, 15, 19, 21)

#summarize values in vector
summary(x)

   Min. 1st Qu. Median Mean 3rd Qu. Max. 
   3.00 5.00 9.00 10.23 13.00 21.00 

summary()函数自动计算向量的以下汇总统计数据:

  • Min:最小值
  • 1st Qu:第一个四分位数(第 25 个百分位数)的值
  • 中位数:中值
  • 第三个 Qu:第三个四分位数(第 75 个百分位数)的值
  • 最大值:最大值

注意,如果向量中存在缺失值(NA), summary()函数在计算汇总统计时会自动排除它们:

 #definevector
x <- c(3, 4, 4, 5, 7, 8, 9, 12, 13, 13, 15, 19, 21, NA, NA)

#summarize values in vector
summary(x)

   Min. 1st Qu. Median Mean 3rd Qu. Max. NA's 
   3.00 5.00 9.00 10.23 13.00 21.00 2

示例 2:将 summary() 与数据框结合使用

以下代码展示了如何使用summary()函数来汇总数据框中的每一列:

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

#summarize every column in data frame
summary(df)

     team points assists rebounds   
 Length:5 Min. :86.0 Min. :28 Min. :24.0  
 Class:character 1st Qu.:88.0 1st Qu.:31 1st Qu.:24.0  
 Mode:character Median:90.0 Median:33 Median:28.0  
                    Mean:91.6 Mean:33 Mean:26.8  
                    3rd Qu.:95.0 3rd Qu.:34 3rd Qu.:28.0  
                    Max. :99.0 Max. :39 Max. :30.0 

示例 3:将summary() 与特定数据框列一起使用

以下代码展示了如何使用summary()函数来汇总数据框中的特定列:

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

#summarize every column in data frame
summary(df[c(' points ', ' rebounds ')])

     rebound points   
 Min. :86.0 Min. :24.0  
 1st Qu.:88.0 1st Qu.:24.0  
 Median:90.0 Median:28.0  
 Mean:91.6 Mean:26.8  
 3rd Qu.:95.0 3rd Qu.:28.0  
 Max. :99.0 Max. :30.0

示例 4:将summary() 与回归模型结合使用

下面的代码展示了如何使用summary()函数来总结线性回归模型的结果:

 #define data
df <- data. frame (y=c(99, 90, 86, 88, 95, 99, 91),
                 x=c(33, 28, 31, 39, 34, 35, 36))

#fit linear regression model
model <- lm(y~x, data=df)

#summarize model fit
summary(model)

Call:
lm(formula = y ~ x, data = df)

Residuals:
     1 2 3 4 5 6 7 
 6,515 -1,879 -6,242 -5,212 2,394 6,273 -1,848 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept) 88.4848 22.1050 4.003 0.0103 *
x 0.1212 0.6526 0.186 0.8599  
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.668 on 5 degrees of freedom
Multiple R-squared: 0.006853, Adjusted R-squared: -0.1918 
F-statistic: 0.0345 on 1 and 5 DF, p-value: 0.8599

相关:如何解释 R 中的回归输出

示例 5:将summary() 与 ANOVA 模型结合使用

以下代码展示了如何使用summary()函数总结R中ANOVA模型的结果:

 #make this example reproducible
set. seeds (0)

#create data frame
data <- data. frame (program = rep (c("A", "B", "C"), each = 30 ),
                   weight_loss = c(runif(30, 0, 3),
                                   runif(30, 0, 5),
                                   runif(30, 1, 7)))

#fit ANOVA model
model <- aov(weight_loss ~ program, data = data)

#summarize model fit
summary(model)

            Df Sum Sq Mean Sq F value Pr(>F)    
program 2 98.93 49.46 30.83 7.55e-11 ***
Residuals 87 139.57 1.60                     
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

相关: 如何解释 R 中的方差分析结果

其他资源

以下教程提供了有关在 R 中计算汇总统计量的更多信息:

如何在R中计算五个数字的总和
在 R 中创建汇总表的最简单方法
如何在 R 中创建相对频率表

添加评论

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