2016-05-03 40 views
0

我試圖刪除超出邊界(-1,1)的相關屬性。我正在使用以下代碼進行關聯:刪除R中的相關屬性

cor(df[sapply(df, is.numeric)]) 

之後,我得到相關值。我如何刪除大於1和小於-1的值?

謝謝

+2

如何從'cor'獲取值'> 1'和'<-1'?請提供一段數據集 –

+0

它太大了,它有25列和1075行 – user4475661

+1

你不應該有1和-1以外的相關值。你可以用''NA'用'ifelse(data <-1,NA,ifelse(data> 1,NA,data))' –

回答

0

R中的COR()函數接收數字向量,矩陣或數據幀,並給出的變量成對相關矩陣。相關矩陣中的值預計在-1到+1的範圍內。然而,當我們有一個不是正半定的相關矩陣時會出現問題。無效相關矩陣最常見的原因是缺失值。 R提供了幾種處理相關矩陣中缺失值的方法。您可以使用na.rm = TRUE選項指定應刪除所有缺失值(僅使用完整行)。這將始終產生一個有效的相關矩陣。可以指定關於如何處理缺失觀測值的三個其他選項。 use =「all.obs」選項指定不存在缺少的觀察值,任何缺失值的存在都會導致錯誤。如果指定use =「complete.obs」,則會發生缺失觀察的情況。 如果使用=「pairwise.complete.obs」,則只使用完整的觀察對。這可能會導致無效的相關矩陣。