Я хотел бы знать, как я могу аккуратно умножить два кадра данных, основываясь на условии соответствия.Например:
df1 <- data.frame(c1 = letters[seq(1,5)], c2 = seq(1,5), c3 = seq(31,35), c4 = seq(41,45))
df1
c1 c2 c3 c4
1 a 1 31 41
2 b 2 32 42
3 c 3 33 43
4 d 4 34 44
5 e 5 35 45
df2 <- data.frame(c1 = letters[seq(5,1)], c2 = seq(11,15), c3 = seq(21,25), c4 = seq(1,5))
df2
c1 c2 c3 c4
1 e 11 21 1
2 d 12 22 2
3 c 13 23 3
4 b 14 24 4
5 a 15 25 5
Я хотел бы создать третий кадр данных, как показано ниже:
df3 <- data.frame(c1 = letters[seq(1,5)], c2 = c(15,28,39,48,55), c3 = c(775,768,759,748,735), c4 = c(205,168,129,88,45))
df3
c1 c2 c3 c4
1 a 15 775 205
2 b 28 768 168
3 c 39 759 129
4 d 48 748 88
5 e 55 735 45
То есть, я хочу соответствовать первому столбцу (c1), который является моимкритерии, в двух кадрах данных, а затем умножьте соответствующие элементы, например: сопоставьте «b» в df1 с «b» в df2, а затем, для каждого столбца, умножьте соответствующие элементы - 2 * 14 = 28 для c2;32 * 24 = 768 для с3;и 42 * 4 = 168 для c4.
Есть ли чистый способ сделать это?Я не нашел это нигде.