2016-05-03 42 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”,则只使用完整的观察对。这可能会导致无效的相关矩阵。