我决定将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)
一个接一个地做很无聊,所以我正在寻找一种简单的方法。
感谢您的回答!
答案 0 :(得分:1)
以下单线计算list_tab
中矩阵之间的所有成对相关性,包括每个矩阵与其自身的相关性。
lapply(list_tab, function(DF) Map(cor, list_tab, list(DF)))