R 将两个数据帧相乘

R 将两个数据帧相乘,r,dataframe,R,Dataframe,如何将两个数据帧相乘,它们具有相同的大小和相同的列名:aaa、bbb、ccc、0、1、2、3、…、n 我想将列0,1,2,3,…,n相乘,再将每个列与ccc列中的值相乘,得到一个新的数据帧。 我的示例数据帧: | aaa | bbb | ccc | 0 | 1 | 2 | 3 | ... | n | | --- | --- | --- | - | - | - | - | --- | - | | EU | AU |2 |0,2|0,5|0,7|1 | ... |5 | | EU |

如何将两个数据帧相乘,它们具有相同的大小和相同的列名:aaa、bbb、ccc、0、1、2、3、…、n 我想将列0,1,2,3,…,n相乘,再将每个列与ccc列中的值相乘,得到一个新的数据帧。 我的示例数据帧:

| aaa | bbb | ccc | 0 | 1 | 2 | 3 | ... | n |
| --- | --- | --- | - | - | - | - | --- | - |
| EU  | AU  |2    |0,2|0,5|0,7|1  | ... |5  |
| EU  | PL  |3    |0,4|0,9|0,1|2  | ... |3  |
| ..  | ..  |..   |.. |.. |.. |.. | ... |.. |
| GR  | IN  |5    |0,4|0,9|0,1|2  | ... |3  |
| WR  | ES  |4    |0,6|0,3|0,2|4  | ... |1  |
我要执行以下操作:

| aaa | bbb | ccc | 0                 | 1                 |2                  |3              | ... | n    |
| --- | --- | --- | ---               | ---               | ---               | ----          | --- | ---  |
| EU  | AU  |2    |multi (ccc;0,2;0,2)|multi (ccc;0,5;0,5)|multi (ccc;0,7;0,7)|multi(ccc;1;1) | ... |multi(ccc;5;5) |
我的数据帧:

aaa df$0不会成功。如果确实有一个名为0的列,则需要用反勾号将其包围起来。如果读取这样一个header=TRUE的文件,列名将命名为V.0或X.0欢迎使用堆栈溢出。请将您的数据作为一个对象包含在问题中:使用dput(您的_数据)这允许轻松复制数据,以帮助验证解决方案最小可复制示例是寻找指导的好地方。假设两个数据帧不相同,您是否可以澄清哪些列明确需要相乘,例如新列0=
df1$ccc
*
df1$0
*
df1$2
,*
df2$0
*
df2$2
可能是对预期输出的解释。。。这是正确的吗?(假设数字列名打勾)我正在寻找一个精确的解决方案:0=df1$ccc*df1$0*df1$2对于df1和df2中的行,ccc是相同的。此外,名为0、1、2、3的列可以称为x0、x1、x2、x3…,xn它们的名称不一定是数字,而是文本。aaa、bbb和ccc列在df1和df2中是相同的。如果您创建一个小的可复制示例以及预期输出,将更容易提供帮助。了解。
My data frame:
aaa <- c("EU", "EU", "IN", "GR")
bbb <- c("AU", "PL", "IN", "ES")
ccc <- c(1, 2, 3, 4)
h0 <- c(2, 2, 3, 4)
h1 <- c(3, 4, 3, 1)
h2 <- c(3, 5, 5, 5)
#..
#hn

df1 <- data.frame(aaa, bbb, ccc, h0, h1, h2)
df2 <- data.frame(aaa, bbb, ccc, h0, h1, h2)
print (df1)
print (df2)

aaa <- c("EU", "EU", "IN", "GR")
bbb <- c("AU", "PL", "IN", "ES")
ccc <- c(1, 2, 3, 4)
h0 <- c(1*2*2, 2*2*2, 3*3*3, 4*4*4)
h1 <- c(1*3*3, 2*4*4, 3*3*3, 4*1*1)
h2 <- c(1*3*3, 2*5*5, 3*5*5, 4*5*5)
#..
#hn

df3 <- data.frame(aaa, bbb, ccc, h0, h1, h2)
print (df3)