我有以下许多行和列的示例数据集。我试图将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
答案 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