R语言是一种广泛使用的统计分析和图形表示的编程语言,它特别适用于数据分析和数据可视化。下面我将通过一个简单的R语言数据分析案例来展示其基本用法。
案例:分析鸢尾花(Iris)数据集
鸢尾花数据集是机器学习和统计分类中非常著名的数据集之一,它包含了150个样本,分别来自3个不同品种的鸢尾花(Setosa, Versicolour, Virginica),每个样本有4个特征:萼片长度、萼片宽度、花瓣长度和花瓣宽度,所有这些特征都是以厘米为单位测量的。
步骤 1: 安装并加载必要的包
对于这个案例,我们主要使用R的基础功能,但我们可以加载ggplot2包来进行更高级的数据可视化。
R
安装ggplot2包(如果还没有安装的话)
install.packages(“ggplot2”)
加载ggplot2包
library(ggplot2)
加载数据集
data(“iris”)
步骤 2: 查看数据结构
R
查看数据的前几行
head(iris)
查看数据结构
str(iris)
步骤 3: 数据探索
首先,我们可以查看不同品种鸢尾花的统计摘要。
R
分组查看统计信息
summary(iris[iris
S
p
e
c
i
e
s
=
=
"
s
e
t
o
s
a
"
,
1
:
4
]
)
s
u
m
m
a
r
y
(
i
r
i
s
[
i
r
i
s
Species=="setosa", 1:4]) summary(iris[iris
Species=="setosa",1:4])summary(iris[irisSpecies==“versicolor”, 1:4])
summary(iris[iris$Species==“virginica”, 1:4])
或者,使用aggregate函数来同时获取三个品种的统计信息。
R
aggregate(. ~ Species, iris[1:4], summary)
步骤 4: 数据可视化
我们可以使用ggplot2来绘制不同特征的箱线图,以比较三个品种的分布。
R
绘制萼片长度的箱线图
ggplot(iris, aes(x=Species, y=Sepal.Length, fill=Species)) +
geom_boxplot() +
labs(title=“萼片长度按品种的分布”, x=“品种”, y=“萼片长度”)
绘制花瓣宽度的箱线图
ggplot(iris, aes(x=Species, y=Petal.Width, fill=Species)) +
geom_boxplot() +
labs(title=“花瓣宽度按品种的分布”, x=“品种”, y=“花瓣宽度”)
步骤 5: 数据建模
为了完成这个案例,我们可以使用一个简单的线性模型来预测鸢尾花的品种基于其花瓣宽度。
R
使用花瓣宽度作为自变量,品种作为因变量(转换为因子)
iris
S
p
e
c
i
e
s
<
−
a
s
.
f
a
c
t
o
r
(
i
r
i
s
Species <- as.factor(iris
Species<−as.factor(irisSpecies)
model <- lm(Species ~ Petal.Width, data=iris)
查看模型摘要
summary(model)
请注意,由于Species是一个分类变量,直接使用线性模型可能不是最佳选择(尽管这里为了示例目的而使用)。在实际应用中,您可能会考虑使用逻辑回归、决策树或随机森林等更适合分类任务的模型。
以上就是一个使用R语言分析鸢尾花数据集的简单案例。通过这个案例,您可以看到R语言在数据处理、探索和可视化方面的强大功能。