📅  最后修改于: 2023-12-03 14:49:45.955000             🧑  作者: Mango
在 R 编程中,我们有时需要使用数据框中已有的变量来计算新的变量,来进一步分析数据。mutate() 函数可以帮助我们实现这个目的。
首先,我们需要准备一些数据,以便我们进行演示。我们可以使用内置的 iris 数据集。
# 导入 iris 数据集
data(iris)
# 查看 iris 数据集
head(iris)
预期输出:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
接下来,我们将使用 mutate() 函数创建新变量。在这个例子中,我们将使用 Sepal.Length 和 Sepal.Width 两个变量创建新的变量 Sepal.Area。Sepal.Area 表示萼片面积,可以通过将 Sepal.Length 和 Sepal.Width 相乘得到。
# 使用 mutate() 函数创建新变量
iris <- iris %>% mutate(Sepal.Area = Sepal.Length * Sepal.Width)
# 查看 iris 数据集
head(iris)
预期输出:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal.Area
1 5.1 3.5 1.4 0.2 setosa 17.85
2 4.9 3.0 1.4 0.2 setosa 14.70
3 4.7 3.2 1.3 0.2 setosa 15.04
4 4.6 3.1 1.5 0.2 setosa 14.26
5 5.0 3.6 1.4 0.2 setosa 18.00
6 5.4 3.9 1.7 0.4 setosa 21.06
我们可以看到新的变量 Sepal.Area 成功被添加到了数据集 iris 中。
我们也可以使用多个变量来创建新的变量。在这个例子中,我们将使用 Petal.Length 和 Petal.Width 两个变量创建新的变量 Petal.Ratio。Petal.Ratio 表示花瓣长度和宽度的比值,可以通过将 Petal.Length 除以 Petal.Width 得到。
# 使用 mutate() 函数创建新变量
iris <- iris %>% mutate(Petal.Ratio = Petal.Length / Petal.Width)
# 查看 iris 数据集
head(iris)
预期输出:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal.Area Petal.Ratio
1 5.1 3.5 1.4 0.2 setosa 17.85 7.000000
2 4.9 3.0 1.4 0.2 setosa 14.70 7.000000
3 4.7 3.2 1.3 0.2 setosa 15.04 6.500000
4 4.6 3.1 1.5 0.2 setosa 14.26 7.500000
5 5.0 3.6 1.4 0.2 setosa 18.00 7.000000
6 5.4 3.9 1.7 0.4 setosa 21.06 4.250000
我们在数据集 iris 中成功添加了新变量 Petal.Ratio,这个例子还展示了如何使用除法来创建新变量。