Как правильно умножить фрейм данных на вектор?
Я пытаюсь умножить фрейм данныхdf
векторомv
, так что продукт представляет собой фрейм данных, гдеi
ая строка задается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(.))
необходимы.
Как я могу найти эффективный и элегантный обходной путь здесь?