如何在两个数据帧列表中应用函数?

Pat*_*ada 2 r list matrix dataframe

我有两个数据框列表.我们称之为list_A和list_B.

df1 = data.frame(matrix(rnorm(4), nrow=2))
df2 = data.frame(matrix(rnorm(4), nrow=2))
df3 = data.frame(matrix(rnorm(4), nrow=2))
df4 = data.frame(matrix(rnorm(4), nrow=2))

list_A <- list(df1,df2)
list_B <- list(df3,df4)
Run Code Online (Sandbox Code Playgroud)

我现在如何以元素方式在列表上应用一些自定义函数?例如,将df1与df3相乘,df2与df4相乘.然后,函数应该获取列表的前两个数据帧,将它们定义为矩阵并将它们相乘.我非常感谢任何帮助!

akr*_*run 6

我们可以使用Map将函数应用于'list_A'和'list_B'的相应元素

Map(`*`, list_A, list_B)
Run Code Online (Sandbox Code Playgroud)

正如@RHertel在评论中提到的,如果需要的功能是 %*%

 Map(function(x,y) as.matrix(x) %*% as.matrix(y), list_A, list_B)
Run Code Online (Sandbox Code Playgroud)

  • 这很华丽,正是我想要的.还要感谢矩阵乘法的例子.它完美无缺. (2认同)