跳到主要内容

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 绘制散点图

首先,我们可以绘制mpgwt的散点图,观察它们之间的关系。

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进行描述性统计分析、线性回归分析和假设检验。这些方法是统计分析中的基础工具,掌握它们将有助于你在数据科学和统计学领域进一步探索。

附加资源

练习

  1. 使用iris数据集,进行描述性统计分析。
  2. 使用mtcars数据集,研究hp(马力)与mpg之间的关系,并拟合线性回归模型。
  3. 使用t.test()函数,比较iris数据集中不同种类的花瓣长度是否存在显著差异。
注意

在完成练习时,务必仔细检查代码和结果,确保理解每一步的含义。