1

在将一些 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”

4

0 回答 0