我試圖計算一個數據框中兩個數字列之間的相關係數的每個級別的相關性。下面是一個例子的數據幀:R:corp通過ddply組測試
concentration <-(c(3, 8, 4, 7, 3, 1, 3, 3, 8, 6))
area <-c(0.5, 0.9, 0.3, 0.4, 0.5, 0.8, 0.9, 0.2, 0.7, 0.7)
area_type <-c("A", "B", "A", "B", "A", "B", "A", "B", "A", "B")
data_frame <-data.frame(concentration, area, area_type)
在本例中,我要計算area_type的每個級別濃度和區域之間的相關性。我想使用cor.test而不是cor,因爲我想要p值和kendall tau值。我試圖做到這一點使用ddply:
ddply(data_frame, "area_type", summarise,
corr=(cor.test(data_frame$area, data_frame$concentration,
alternative="two.sided", method="kendall")))
不過,我有輸出的一個問題:它是從正常肯德爾cor.test輸出,其中指出Z值,p值,替代不同的方式組織假設和頭估計。而不是那個,我得到下面的輸出。我不知道輸出的每一行是什麼。另外,對於每個level_type的輸出值都是相同的。
area_type corr
1 A 0.3766218
2 A NULL
3 A 0.7064547
4 A 0.1001252
5 A 0
6 A two.sided
7 A Kendall's rank correlation tau
8 A data_frame$area and data_frame$concentration
9 B 0.3766218
10 B NULL
11 B 0.7064547
12 B 0.1001252
13 B 0
14 B two.sided
15 B Kendall's rank correlation tau
16 B data_frame$area and data_frame$concentration
我在做什麼錯誤的ddply?或者還有其他的方式嗎?謝謝。
您的建議確實有助於標記輸出。但是,仍然存在統計信息與area_type的每個級別相同的問題。在這個例子中,相關結果應該不同於area_type的每個級別。所以,我現在仍然在使用ddply的方式顯然存在問題。 – user3791234
哎呀,對不起,我沒有注意到這一部分。我編輯了我的答案。 –
謝謝。你的編輯效果很好。 – user3791234