如何将属于不同data.frame的同名列相乘

如何将属于不同data.frame的同名列相乘,r,R,我有个问题。。。我有两个数据。框架有很多列,这两个data.frame的长度不同,事实上一个有很多行,而第二个data.frame只有一行。。。。但在两个数据帧中都有同名的列。现在,我想将匹配列相乘。我没能解决它。请帮帮我。命令 mapply("*", DataFrame1, DataFrame2) 如果要将所有列相乘,则应该可以使用。如果相关列只是数据帧中所有列的子集,我们首先需要确定两个数据帧中存在的列 mapply("*", DataFrame1[intersect(names(Data

我有个问题。。。我有两个数据。框架有很多列,这两个data.frame的长度不同,事实上一个有很多行,而第二个data.frame只有一行。。。。但在两个数据帧中都有同名的列。现在,我想将匹配列相乘。我没能解决它。请帮帮我。

命令

mapply("*", DataFrame1, DataFrame2)
如果要将所有列相乘,则应该可以使用。如果相关列只是数据帧中所有列的子集,我们首先需要确定两个数据帧中存在的列

mapply("*", DataFrame1[intersect(names(DataFrame1), names(DataFrame2))],
       DataFrame2[intersect(names(DataFrame1), names(DataFrame2))])
命令

mapply("*", DataFrame1, DataFrame2)
如果要将所有列相乘,则应该可以使用。如果相关列只是数据帧中所有列的子集,我们首先需要确定两个数据帧中存在的列

mapply("*", DataFrame1[intersect(names(DataFrame1), names(DataFrame2))],
       DataFrame2[intersect(names(DataFrame1), names(DataFrame2))])

我相信这种方法适用于任何一对数据帧,因为R将根据需要重复较短(较少的行)的数据帧以匹配较长的数据帧。。。我只想再问一个与此相关的问题,我能否以相同的方式使用一个data.frame的行名称。e、 g.mapply(“*”,DataFrame1[intersect(行名称(DataFrame1),名称(DataFrame2))],DataFrame2[intersect(行名称(DataFrame1),名称(DataFrame2))])致以最良好的问候Maria@mariariaz此命令应能工作:
mapply(“*”,as.data.frame(t(DataFrame1))[intersect(rownames(DataFrame1),names(DataFrame2))],DataFrame2[intersect(rownames(DataFrame1),names(DataFrame2))]
。通过此命令,
DataFrame1
的行与
DataFrame2
@Sven Hohenstein的相应列(此处:单个值)相乘…我尝试了此代码,但输出是“命名列表()'我有两个包含许多列的数据框。我想将这两个数据框中具有公共名称的所有列相乘。一些不常用的列将被忽略。提前感谢。@mariariaz
str(DataFrame1)
str(DataFrame2)的结果是什么
?我相信这种方法适用于任何一对数据帧,因为R将根据需要重复较短(较少的行)的数据帧以匹配较长的数据帧。Sven Hohenstein感谢您的回答……我只想再问一个与此相关的问题,我能否以相同的方式使用一个data.frame的行名称。例如,mapply(“*”,DataFrame1[intersect(row.names(DataFrame1),names(DataFrame2))],DataFrame2[intersect(row.names(DataFrame1),names(DataFrame2))])致以最诚挚的问候Maria@mariariaz此命令应起作用:
mapply(“*”,as.data.frame(t(DataFrame1))[intersect(rownames(DataFrame1),names(DataFrame2))],DataFrame2[intersect(rownames(DataFrame1),names(DataFrame2))]
。通过此命令,
DataFrame1
的行与
DataFrame2
@Sven Hohenstein的相应列(此处:单个值)相乘…我尝试了此代码,但输出是“命名列表()'我有两个包含许多列的数据框。我想将这两个数据框中所有具有通用名称的列相乘。一些不通用的列将被忽略。提前感谢。@mariariaz
str(DataFrame1)
str(DataFrame2)
的结果是什么?