一列中许多变量之间的相关性

时间:2015-01-20 22:07:59

标签: r correlation

我有2列数据框(df),例如

Variable(character):      Value(numeric):     
A                       12.25             
A                       2.14              
A                       31.10              
B                       4.6      
B                       6.987
D                       74.10
D                       6.17
D                       10.365
D                       54.98
C                       10.47
C                       156.1420
C                       1.69 

我想计算每个变量之间的相关性。这样的事情(价值是完全随机的:

      A        B          D        C            
A     0.25     0.32       0.1256   0.9               
B     0.9      0.47       0.125    0.144
D     0.36     0.12       0.87     0.54          
C     0.369    0.147      0.4      0.485        

1 个答案:

答案 0 :(得分:3)

假设您的变量具有相同数量的观察结果:

cor(as.data.frame(split(df$val, df$var)))

产地:

           a          b          c          d
a  1.0000000  0.3332724 -0.4755813 -0.1367066
b  0.3332724  1.0000000 -0.9171748 -0.2348487
c -0.4755813 -0.9171748  1.0000000  0.5713294
d -0.1367066 -0.2348487  0.5713294  1.0000000

您的数据中的假设不成立。不确定您打算如何计算不等数量的观测值的相关性。这是我使用的数据:

set.seed(1)
df <- data.frame(var=rep(letters[1:4], each=4), val=runif(16))