2011-08-26 48 views
-2

我希望寫入數據文件有關的相關信息如下:相關故障 - 皮爾森

*korelacja=cor(p2,d2,method="pearson",use = "complete.obs") 
korelacja2=cor(p2,d2,method="kendall",use = "complete.obs") 
korelacja3=cor(p2,d2,method="spearman",use = "complete.obs") 
dane=paste(korelacja,korelacja2,korelacja3,sep=';') 
write(dane,file=nazwa,append=TRUE)* 

結果很奇怪,我 - 皮爾森相關性非常高(一定等於一個),但Kendall和Spearman等級很低。我創建了散點圖,我沒有看到線性關聯。

+7

我不認爲如果沒有關於您正在分析的數據的更多信息,任何人都無法回答這個問題。你能提供樣品嗎?似乎有可能出現問題,因爲恰好一個Pearson相關也意味着一個Spearman相關。 – bnaul

+0

更具體一點:你能告訴我們'str(p2)'和'str(d2)'的結果嗎?如果'p2'和'd2'不是太大,你能告訴我們'dput()'的結果嗎?見http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example ... –

回答

1

如果您的數據中有一些大的離羣值支配Pearson相關性,但在非參數(Kendall/Spearman)方法中相對不明顯,則不難複製此模式。例如,這裏是什麼也沒有編造數據集回事,除了一個大的異常:

> set.seed(1001) 
> x <- c(runif(1000),1e5) 
> y <- c(runif(1000),1e5) 
> cor(x,y,method="pearson") 
[1] 1 
> cor(x,y,method="kendall") 
[1] -0.02216583 
> cor(x,y,method="spearman") 
[1] -0.03335352 

這與你的描述一致,到目前爲止,儘管你應該在這種情況下能夠看到你的散點圖的異常值...