数据帧乘法和使用R存储在另一个数据帧中

时间:2017-10-05 18:45:26

标签: r math dataframe dplyr multiplication

我有以下许多行和列的示例数据集。我试图将DF1的每一行乘以DF2的每一行。并且乘法的结果存储在不同的数据帧中。我尝试使用DF1 %*% DF2但无法成功运行,因为矩阵乘法是不可能的。任何人都可以帮助解决这个问题

DF1:

A   B   C   D   E   F   G
1   5   4   6   4   3   1
4   5   5   7   5   4   2
5   2   6   8   6   5   3
5   3   7   8   7   7   3
5   4   8   6   8   8   4
5   5   7   3   5   9   6

DF2:

A   B   C   D   E   F   G                   
1   0   0   0   1   0   0
0   0   1   0   0   0   0
1   0   0   0   0   0   1
0   0   0   1   0   1   0
1   0   0   1   0   0   1

输出:

T1  T2  T3  T4  T5  T6
5   9   11  12  10  10
4   5   6   7   7   7
2   6   8   8   11  11
9   11  13  15  14  12
8   13  16  16  15  14

1 个答案:

答案 0 :(得分:2)

我们可以尝试

DF3 <- as.data.frame(t(as.matrix(DF1) %*% t(DF2)))
DF3
#   V1 V2 V3 V4 V5 V6
#1  5  9 11 12 13 10
#2  4  5  6  7  8  7
#3  2  6  8  8  9 11
#4  9 11 13 15 14 12
#5  8 13 16 16 15 14