如何在R中的列表中的几个不同数据帧的列上应用函数

时间:2015-09-07 01:56:22

标签: r list dataframe mapply

我有一个列表,其中包含大量具有相同格式的数据帧,并测量相同的变量。

我想在这些数据帧的两列上应用cor函数(让我们称之为“A”和“B”)来计算相应变量之间的相关性。

我面临的困难来自于这样一个事实,即我想计算A列和B列的所有数据帧的值之间的相关性,而不是分别计算每个数据帧的值之间的相关性( lapply我可以很容易地做到。)

因此,我不确定如何继续使用cor函数计算列表中所有数据帧的A列和B列之间的相关性。 我想过使用mapply函数但是没有完全成功(我甚至不确定这是最好的方法)。我还考虑过合并数据帧,但必须有一种更简单,更优雅的方式在列表中应用该功能。

1 个答案:

答案 0 :(得分:1)

如何仅合并所有数据帧的列(c(df1 $ A,df2 $ A,...)和b列或创建空A和B向量,然后将其与相应的变量合并,并通过循环所有数据框:

a <- c(); b <- c();
for (df in dflist){
    a <- c(a,df$A);
    b <- c(b,df$B);
} 

希望这有帮助。