R中的summary()函数可以用来快速总结R中的向量、数据框架、回归模型或方差分析模型中的数值。
这个语法使用以下基本语法:
summary(data)
下面的例子展示了如何在实践中使用这个函数。
例1:在向量中使用summary()
下面的代码展示了如何使用**summary()**函数来总结一个向量中的数值:
#define vector
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()函数会自动计算向量的以下汇总统计数据:
- 最小值,最小值
- 1st Qu:第1个四分位数(第25个百分位数)的值
- 中位数。中位值
- 第3个四分位数。第3个四分位数(第75个百分点)的值
- Max: 最大值
注意,如果向量中存在任何缺失值(NA),summary()函数在计算汇总统计时将自动排除它们。
#define vector
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')])
points rebounds
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
---
Signif. 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()
下面的代码显示了如何使用**summary()**函数来总结R中的方差分析模型的结果:
#make this example reproducible
set.seed(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
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
其他资源
下面的教程提供了更多关于在R中计算汇总统计的信息: