与 R 中的离散和分类变量的相关性

问题描述

我正在分析这个数据集,它有数值和因子变量。我想知道相关性,以便我可以选择最佳变量。

str(data)
$ Ag                    : num [1:1470] 41 49 37 33 27 32 59 30 38 36 ...
 $ Ay              : Factor w/ 2 levels "No","Yes": 2 1 2 1 1 1 1 1 1 1 ...
 $ Bu        : Factor w/ 3 levels "Non-Travel","Travel_Frequently",..: 3 2 3 2 3 2 3 3 2 3 ...
 $ Di       : num [1:1470] 1 8 2 3 2 2 3 24 23 27 ...
 $ Ed               : num [1:1470] 2 1 2 4 1 2 3 1 3 3 ...
 $ Ep          : num [1:1470] 1 1 1 1 1 1 1 1 1 1 ...
 $ Em          : num [1:1470] 1 2 4 5 7 8 10 11 12 13 ...
 $ Ge                : Factor w/ 2 levels "Female","Male": 1 2 2 1 2 2 1 2 2 2 ...
 $ Ho             : num [1:1470] 94 61 92 56 40 79 81 67 44 94 ...
 $ J1         : num [1:1470] 3 2 2 3 3 3 4 3 2 3 ...
 $ J2               : num [1:1470] 2 2 1 1 1 1 1 1 3 2 ...

当我执行这个时(虽然我想要所有数据的相关性,而不仅仅是数字):

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

我回复此消息:

Warning message:
In cor(data[sapply(data,is.numeric)]) :
  the standard deviation is zero

解决方法

它只是礼貌地让您知道您开始计算其中一个变量为常数的相关性。这通常毫无意义。

把它也过滤掉


x1 <- data[sapply(data,is.numeric)]
x2 <- x1[sapply(x1,sd)!=0]

cor(x2)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...