[R] Multiplying each row of data.frame by a row in another data.frame

m@ithiii_shiv@ m@iii@g oii y@hoo@com m@ithiii_shiv@ m@iii@g oii y@hoo@com
Fri Apr 8 14:17:42 CEST 2022


Dear R forum
weights <- data.frame(id = c("ABC", "DEF",  "ONS"), value = c(1, 2, 5))
val_df <- data.frame(ABC = c(10, 20, 10, 10, 10), DEF = c(1, 2, 10, 2, 5), ONS = c(100, 100, 200, 100, 100))

> weights
   id           value1 ABC       12 DEF       23 ONS       5

> val_df
  ABC DEF ONS1  10   1     1002  20   2     1003  10  10    2004  10   2    1005  10   5    100
I wish to multilpy each row of data.frame val_df by value column of data.frame weights.
  ABC    DEF    ONS1  10*1   1*2   100*52  20*1   2*2   100*53  10*1   10*2  200*54  10*1   2*2   100*55  10*1   5*2   100*5
ie I wish to have output as
OUTPUT
  ABC    DEF    ONS1  10    2          5002  20    4         5003  10    20      10004  10    4        5005  10    10     500

O have tried sweep function, even matrix multiplcation etc, but nothing seems to be working.
Please guide
Regards
Maithili

	[[alternative HTML version deleted]]



More information about the R-help mailing list