列表对象中几个数据框之间的关联

时间:2018-11-06 13:40:23

标签: r

我决定将4个数据框放入列表对象中。

我想计算每个数据框与所有其他数据框之间的相关性。更具体地说,我想计算dataframe_1与另外2个之间的相关性。 dataframe_2和另外3个之间的相同,依此类推,直到完成所有组合为止。

脚本示例:

df1=matrix(data = rnorm(25), nrow = 5, ncol = 5); colnames(df1)=c("a", "b","c", "d", "e")
df2=matrix(data = rnorm(25), nrow = 5, ncol = 5); colnames(df2)=c("a", "b","c", "d", "e")
df3=matrix(data = rnorm(25), nrow = 5, ncol = 5); colnames(df3)=c("a", "b","c", "d", "e")
df4=matrix(data = rnorm(25), nrow = 5, ncol = 5); colnames(df4)=c("a", "b","c", "d", "e")
list_tab=list(df1, df2, df3, df4)

我尝试使用lapply(list_tab, function(x)cor(x)),但没有达到我的期望。

我想获取包含这些对象的列表:

  • cor(df1, df2)
  • cor(df1, df3)
  • cor(df1, df4)
  • cor(df2, df3)
  • cor(df2, df4)
  • cor(df3, df4)

一个接一个地做很无聊,所以我正在寻找一种简单的方法。

感谢您的回答!

1 个答案:

答案 0 :(得分:1)

以下单线计算list_tab中矩阵之间的所有成对相关性,包括每个矩阵与其自身的相关性。

lapply(list_tab, function(DF) Map(cor, list_tab, list(DF)))