This question already has answers here:
Multiply columns in a data frame by a vector
(3个答案)
What is the right way to multiply data frame by vector?
(6个答案)
4年前关闭。
我有以下数据框和向量:
我想将
或使用
(3个答案)
What is the right way to multiply data frame by vector?
(6个答案)
4年前关闭。
我有以下数据框和向量:
dframe <- as.data.frame(matrix(1:9,3))
vector <- c(2,3,4)
我想将
dframe
的每一列乘以vector
的相应值。这不会做:> vector * dframe
V1 V2 V3
1 2 8 14
2 6 15 24
3 12 24 36
dframe
的每个行乘以vector
的相应值,而不是每个列。有什么惯用的解决方案,还是我陷入了for
周期? 最佳答案
这是另一个使用sweep
的选项
sweep(dframe, 2, vector, "*")
# V1 V2 V3
#1 2 12 28
#2 4 15 32
#3 6 18 36
或使用
col
dframe*vector[col(dframe)]
关于r - 将数据帧的每一列乘以向量的相应值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43189087/
10-12 17:39