【发布时间】:2018-02-04 21:27:09
【问题描述】:
我是 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
我需要编写一个函数来将列x 与其他列相乘(这里只是a、b,但我有30-40)。
目前我已经编写了一个 for 循环,它一次在列上进行乘法运算。我需要帮助来对它进行矢量化并同时进行计算。
【问题讨论】:
-
您想将所有列与
x中的条目相乘(即a*x、b*x、...),还是要将所有列相乘(即a*b*...*x) ? -
非常简单。
df$mult <- df$a * df$b * df$x会为你工作。 -
如果你只有数字,你应该考虑矩阵而不是 data.frame
-
@MauritsEvers 我想将 x 与其他列相乘 - ax | bx |...
-
@RolandASc 是的,所有列都只有数字。如何处理矩阵?