Я пытаюсь умножить кадр данных df
на вектор v
, так что продукт является кадром данных, где строка i
-th задается df[i,]*v
. Я могу это сделать, например,
df <- data.frame(A=1:5, B=2:6); v <- c(0,2)
as.data.frame(t(t(df) * v))
A B
1 0 4
2 0 6
3 0 8
4 0 10
5 0 12
Я уверен, что должен быть более подход R-стиля (и очень простой!), Но ничего не приходит мне на ум. Я даже пробовал что-то вроде
apply(df, MARGIN=1, function(x) x*v)
но тем не as.data.frame(t(.))
конструкции, такие как as.data.frame(t(.))
.
Как найти эффективный и элегантный обходной путь здесь?