假设有两个变量 a 和 b,还有一个 id 变量,我们想要按照 id 将 a 和 b 对应行的值相乘,可以使用 dplyr 包中的 group_by 和 mutate 函数来实现。
示例代码如下:
library(dplyr)
df <- data.frame(id = c(1, 2, 3, 4),
a = c(2, 3, 4, 5),
b = c(5, 6, 7, 8))
df_new <- df %>%
group_by(id) %>%
mutate(ab_multiply = a * b)
首先,我们用 data.frame 函数创建一个数据框 df,其中包含 id,a,b 三个变量。然后,我们使用 dplyr 包中的 group_by 函数按照 id 将 df 分组。
接着,我们使用 mutate 函数来增加一个新变量 ab_multiply,我们将 a 和 b 相乘得到的结果存储到新变量中。最后,我们将结果存储到 df_new 数据框中,其中包含了原始数据以及新变量 ab_multiply。
运行完以上代码后,df_new 数据框中将会含有 ab_multiply 变量,其中存储了按照 id 将变量 a 和 b 相乘的结果。