繁体   English   中英

如何在两个数据框列表上应用函数?

[英]How to apply a function on two lists of data frames?

我有两个数据框列表。 我们称它们为 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。 然后该函数应该获取列表的前两个数据帧,将它们定义为矩阵并将它们相乘。

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

Map(`*`, list_A, list_B)

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

 Map(function(x,y) as.matrix(x) %*% as.matrix(y), list_A, list_B)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM