【问题标题】:How to apply a function on two lists of data frames?如何在两个数据框列表上应用函数?
【发布时间】:2016-07-21 05:53:51
【问题描述】:

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

【问题讨论】:

    标签: r list matrix dataframe


    【解决方案1】:

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

    Map(`*`, list_A, list_B)
    

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

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

    【讨论】:

    • 这很漂亮,正是我想要的。还要感谢您提供矩阵乘法的示例。效果很好。
    猜你喜欢
    • 2020-04-21
    • 1970-01-01
    • 2021-02-03
    • 2012-10-31
    • 1970-01-01
    • 2022-11-13
    相关资源
    最近更新 更多