我有两个数据框列表。我们称之为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)
我现在如何以元素方式在列表上应用某些自定义函数?例如,将df1与df3相乘,df2与df4相乘。然后,函数应该获取列表的前两个数据帧,将它们定义为矩阵并将它们相乘。我非常感谢任何帮助!
答案 0 :(得分:6)
我们可以使用Map
将该功能应用于&#39; list_A&#39;的相应元素。和&#39; list_B&#39;
Map(`*`, list_A, list_B)
正如@RHertel在评论中提到的,如果所需的功能是%*%
Map(function(x,y) as.matrix(x) %*% as.matrix(y), list_A, list_B)