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?

questionAnswers(6)

yourAnswerToTheQuestion