【发布时间】:2017-04-03 15:53:06
【问题描述】:
我有以下数据框和向量:
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 循环?
【问题讨论】:
-
t(t(dframe) * vector)呢? -
这是重复的。一种方法是
df * rep(vec, each=nrow(df))