R统计分析案例
介绍
R语言是一种强大的统计分析工具,广泛应用于数据科学、统计学和机器学习领域。通过R,我们可以轻松地进行数据清洗、探索性数据分析(EDA)、假设检验、回归分析等操作。本文将通过实际案例,逐步讲解如何使用R进行统计分析,帮助初学者掌握R语言的基本统计分析方法。
案例1:描述性统计分析
1.1 数据准备
首先,我们需要加载一个数据集。R语言内置了许多数据集,我们可以使用mtcars
数据集来进行描述性统计分析。
r
# 加载数据集
data(mtcars)
1.2 查看数据
我们可以使用head()
函数查看数据集的前几行。
r
# 查看前6行数据
head(mtcars)
输出结果:
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
1.3 描述性统计
我们可以使用summary()
函数来获取数据集的描述性统计信息。
r
# 获取描述性统计信息
summary(mtcars)
输出结果:
mpg cyl disp hp drat wt qsec vs am gear carb
Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0 Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000 Min. :0.0000 Min. :3.000 Min. :1.000
1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
Median :19.20 Median :6.000 Median :196.3 Median :123.0 Median :3.695 Median :3.325 Median :17.71 Median :0.0000 Median :0.0000 Median :4.000 Median :2.000
Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7 Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375 Mean :0.4062 Mean :3.688 Mean :2.812
3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0 Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000 Max. :1.0000 Max. :5.000 Max. :8.000
提示
summary()
函数提供了每个变量的最小值、第一四分位数、中位数、均值、第三四分位数和最大值。
案例2:线性回归分析
2.1 数据准备
我们继续使用mtcars
数据集,研究mpg
(每加仑英里数)与wt
(车重)之间的关系。
2.2 绘制散点图
首先,我们可以绘制mpg
与wt
的散点图,观察它们之间的关系。
r
# 绘制散点图
plot(mtcars$wt, mtcars$mpg, main="Scatter plot of mpg vs wt", xlab="Weight (1000 lbs)", ylab="Miles per Gallon")
2.3 线性回归模型
接下来,我们可以使用lm()
函数来拟合线性回归模型。
r
# 拟合线性回归模型
model <- lm(mpg ~ wt, data=mtcars)
summary(model)
输出结果:
Call:
lm(formula = mpg ~ wt, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-4.5432 -2.3647 -0.1252 1.4096 6.8727
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 37.2851 1.8776 19.858 < 2e-16 ***
wt -5.3445 0.5591 -9.559 1.29e-10 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.046 on 30 degrees of freedom
Multiple R-squared: 0.7528, Adjusted R-squared: 0.7446
F-statistic: 91.38 on 1 and 30 DF, p-value: 1.294e-10
备注
lm()
函数用于拟合线性模型,summary()
函数提供了模型的详细信息,包括回归系数、标准误差、t值和p值等。
2.4 绘制回归线
我们可以将回归线添加到散点图中,以更直观地展示模型拟合效果。
r
# 绘制散点图
plot(mtcars$wt, mtcars$mpg, main="Scatter plot of mpg vs wt", xlab="Weight (1000 lbs)", ylab="Miles per Gallon")
# 添加回归线
abline(model, col="red")
案例3:假设检验
3.1 数据准备
我们继续使用mtcars
数据集,研究自动挡(am=0
)和手动挡(am=1
)汽车的mpg
是否存在显著差异。
3.2 t检验
我们可以使用t.test()
函数来进行独立样本t检验。
r
# 进行t检验
t.test(mpg ~ am, data=mtcars)
输出结果:
Welch Two Sample t-test
data: mpg by am
t = -3.7671, df = 18.332, p-value = 0.001374
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-11.280194 -3.209684
sample estimates:
mean in group 0 mean in group 1
17.14737 24.39231
警告
t检验的结果显示,自动挡和手动挡汽车的mpg
存在显著差异(p-value < 0.05)。
总结
通过以上案例,我们学习了如何使用R进行描述性统计分析、线性回归分析和假设检验。这些方法是统计分析中的基础工具,掌握它们将有助于你在数据科学和统计学领域进一步探索。
附加资源
练习
- 使用
iris
数据集,进行描述性统计分析。 - 使用
mtcars
数据集,研究hp
(马力)与mpg
之间的关系,并拟合线性回归模型。 - 使用
t.test()
函数,比较iris
数据集中不同种类的花瓣长度是否存在显著差异。
注意
在完成练习时,务必仔细检查代码和结果,确保理解每一步的含义。