在将一些 NA 分配给某些值后,我无法清理数据框。首先,我有一个名为 credit_clean 的 data.frame,其中没有 NA。它看起来像这样。
str(credit_clean)
'data.frame': 150000 obs. of 6 variables:
$ default : Factor w/ 2 levels "0","1": 2 1 1 1 1 1 1 1 1 1 ...
$ age : int 45 40 38 30 49 74 57 39 27 57 ...
$ debtratio : num 0.803 0.1219 0.0851 0.036 0.0249 ...
$ balance_limits: num 0.766 0.957 0.658 0.234 0.907 ...
$ loans : int 6 0 0 0 1 1 3 0 0 4 ...
$ past60_90 : int 0 0 0 0 0 0 0 0 0 0 ...
然后我将 NA 分配给 df 的不同列中的异常值。
credit_clean$balance_limits[credit_clean$balance_limits >= 5] <- NA
credit_clean$debtratio[credit_clean$debtratio >= 5] <- NA
credit_clean$loans[credit_clean$loans >= 15] <- NA
我创建了一个名为 credit_cl 的新 df,删除了 NA 值。新的 df 有 120005 个观测值,并且不再有 NA。
credit_cl <- credit_clean[complete.cases(credit_clean), ]
str(credit_cl)
'data.frame': 120005 obs. of 6 variables:
$ default : num 1 0 0 0 0 0 0 0 0 0 ...
$ age : int 45 40 38 30 49 74 39 57 30 51 ...
$ debtratio : num 0.803 0.1219 0.0851 0.036 0.0249 ...
$ balance_limits: num 0.766 0.957 0.658 0.234 0.907 ...
$ loans : int 6 0 0 0 1 1 0 4 0 2 ...
$ past60_90 : int 0 0 0 0 0 0 0 0 0 0 ...
问题来了,当我尝试使用线性回归进行拟合和预测时,它什么也没做,甚至没有显示错误。当我尝试使用来自 library(woe) 的名为 iv.mult() 的信息值函数时,我也遇到了这个问题。
library(woe)
iv.mult(credit_cl,"default", summary = TRUE)
R 然后什么都不做,所以我不知道是否发生了错误,因为数据框看起来像我使用过的任何其他 df。
我正在使用 R 版本 3.1.3 (2015-03-09) -- 带有 RStudio 版本 0.99.891 的“Smooth Sidewalk”