1
我有一個數據幀如下:Pearson相關
x <- data.frame(Name=c("a", "b","c", "d", "e"),A=(1:5), B=(2:6), C=(7:11), D=c(1,1,1,1,1))
我想包括的所有皮爾森係數對B,A對C,A對d,A對E,B Vs的一個數據幀,b對c,b對d,b對e ....等(不包括自我比較,即aa,bb等)。
爲了話,我想改變下列數據幀
A B C D
a 1 2 7 1
b 2 3 8 1
c 3 4 9 1
d 4 5 10 1
e 5 6 11 1
一個結果數據幀像這樣
a b 0.989143436
a c 0.963282002
a d 0.93048421
a e 0.89585579
b c 0.9922798
b d 0.974216034
b e 0.951427811
c d 0.994675789
c e 0.982264673
d e 0.996357429
請好心指示這樣做的有效方式。
編輯
感謝Michaelv2的幫助。
基於建議的代碼,我發現的結果如下:
X1 X2 value
1 A A 1
2 B A 1
3 C A 1
4 D A NA
5 A B 1
6 B B 1
7 C B 1
8 D B NA
9 A C 1
10 B C 1
11 C C 1
12 D C NA
13 A D NA
14 B D NA
15 C D NA
16 D D 1
錯誤消息是「 警告消息: 在COR(X [2:5],方法= 」皮爾森「 ):標準偏差爲零「
在我看來,我可能誤用了代碼,你能否請進一步指示如何進一步解決這個問題?謝謝。
嗯,行標籤可能是行標籤,就沒有必要忽略他們,那麼。另外,OP要求行 - 行相關,而不是列 - 列(但一個't'將完成這項工作)。 – mbq 2011-06-13 07:55:55
從技術上講,我省略了數據框的第一列(一個字符或因子向量,取決於您的設置),而不是行標籤,但是您對行相關性非常正確。感謝您指出了這一點。 – michaelv2 2011-06-13 10:15:03