R计算数据框每一行的加权平均值,并写入新的列
时间: 2023-12-03 18:44:29 浏览: 88
R语言,求加权平均成绩
假设你有一个数据框`df`,其中包含三列数据`x1`、`x2`和`x3`,你可以按照以下步骤计算每一行的加权平均值:
1. 定义每一列的权重。假设你的权重分别为`w1`、`w2`和`w3`,可以将它们存储在一个向量`weights`中。
2. 使用`apply()`函数计算每一行的加权平均值。`apply()`函数可以将一个函数应用于数据框的每一行或每一列。在这里,我们需要对每一行计算加权平均值,因此需要设置`apply()`函数的第二个参数为1。具体实现方式如下:
```
weights <- c(w1, w2, w3)
df$weighted.mean <- apply(df, 1, function(row) weighted.mean(row, w = weights))
```
这将在数据框`df`中创建一个名为`weighted.mean`的新列,其中包含每一行的加权平均值。
阅读全文