Jaki jest właściwy sposób pomnożenia ramki danych przez wektor?
Próbuję pomnożyć ramkę danychdf
przez wektorv
, aby produkt był ramką danych, gdziei
-ty rząd podajedf[i,]*v
. Mogę to zrobić, na przykład, przez
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
Jestem pewien, że musi być coś więcejR-style podejście (i bardzo proste!), ale nic nie przychodzi mi na myśl. Próbowałem nawet czegoś takiego
apply(df, MARGIN=1, function(x) x*v)
ale wciąż nieczytelne konstrukcjeas.data.frame(t(.))
są wymagane.
Jak mogę znaleźć skuteczne i eleganckie obejście tutaj?