R语言 将函数应用于R数据框中的每一行
在这篇文章中,我们将讨论如何在R编程语言中对数据框架的每一行应用一个函数。让我们举个例子,以便更好地理解。
例子
假设我们有一个假数据集,A、B、C为列名,一些数值为行。
编号 | A | B | C |
---|---|---|---|
1. | 5 | 6 | 1 |
2. | 6 | 4 | 2 |
3. | 7 | 3 | 3 |
4. | 5 | 4 | 7 |
5. | 6 | 2 | 8 |
6. | 9 | 6 | 9 |
而我们想应用一个函数来返回每行数值的乘积,那么结果的数据框应该是这样的。
编号 | A | B | C | 产品 |
---|---|---|---|---|
1. | 5 | 6 | 1 | 60 |
2. | 6 | 4 | 2 | 48 |
3. | 7 | 3 | 3 | 63 |
4. | 5 | 4 | 7 | 140 |
5. | 6 | 2 | 8 | 96 |
6. | 9 | 6 | 9 | 486 |
对R数据框中的每一行应用函数
方法: 使用apply函数
apply() 用于在数据框或矩阵上计算一个函数。使用apply()函数的目的是为了避免使用循环。apply()函数将输出作为一个向量返回。
语法: apply(x, margin, func)
参数:
x: 数组或矩阵
margin: 要应用操作的维度
func: 要应用的操作
分步实现
步骤1: 创建一个假数据集。
输出
第2步: 创建一个用于计算产品的自定义函数。
注意:这里我们只是定义了计算乘积的函数,并没有调用,所以在调用这个函数之前不会有输出。
第3步: 使用应用函数来计算每一行的乘积。
语法: (data_frame,1,function,…)。
现在我们正在调用新创建的product函数,并使用apply函数返回乘积。
输出
注意:apply()返回的产品是一个矢量列表。所以我们必须使用cbind(列绑定)将其添加到数据框中。
第4步: 将产品列表添加到数据框中。
输出
使用apply()。
下面是完整的实现
输出
使用apply()。