2015-05-04 53 views
0

如果我有一个包含7列或任意数量列的输入文件,并且每列都有一些值,并且我想运行所有唯一对的相关性(其中AB和BA是相同的)列,而不必进入,并为每个可能的对执行cor.test(column$A, Column$B)如何在R中执行此操作?通过所有唯一对迭代皮尔逊R相关

实施例的数据:

A B C D 
1 2 2 3 
3 2 2 1 
5 2 4 3 
5 2 3 3 

在这种情况下,A,B,C,d是不同的列和我愿意这样做为唯一对所有可能的相关性,其中AB和BA计数为相同的一对,只是因为DA和AD是同一对。

+3

您是否在寻找'心病(垫)'?这返回矩阵所有列的成对相关性。 – josliber

+0

这听起来像它会适用于我的目的。你会提供一个使用例子吗? :) – Nolohice

+0

@josilber - 诚然,这给出了相关性,而不是相关性测试。但它可能是一个合适的起点。 – thelatemail

回答

0

你可以试试:

cor(df, use="complete.obs", method="kendall") #or whichever method fits you 

或:

#this gives significance levels also 
library(Hmisc) 
rcorr(df, type="pearson") # type can be pearson or spearman 

#or as matrix 
rcorr(as.matrix(df)) 

如果这不起作用,尝试创建列向量,并通过一切回路的列表(我会尽量提供一个例子在编辑)

希望这有助于