我是 R 新手。我的数据如下所示:
df <- data.frame(a=c(1, 1, 2, 3, 8, 9, 1, 3), b = c(5, 4, 3, 8, 6, 1, 0, 2), x = c(4, 3, 8, 9, 1, 8, 2, 3))
> df
a b x
1 1 5 4
2 1 4 3
3 2 3 8
4 3 8 9
5 8 6 1
6 9 1 8
7 1 0 2
8 3 2 3
Run Code Online (Sandbox Code Playgroud)
我需要编写一个函数来将该列x与其他列相乘(这里只是a,b但我有 30-40)。
目前我已经编写了一个 for 循环,它一次对列进行乘法。我需要帮助对其进行矢量化并同时进行计算。
mutate您可以在from包的帮助下完成此操作dplyr:
df <- df %>% mutate(mul = a * b * x)
df
a b x mul
1 1 5 4 20
2 1 4 3 12
3 2 3 8 48
4 3 8 9 216
5 8 6 1 48
6 9 1 8 72
7 1 0 2 0
8 3 2 3 18
Run Code Online (Sandbox Code Playgroud)