可以说,用户可以选择输入0或在客户端将其保留为空白(NA),但是系统会将到达某些位置的空白(当某些用户到达我们的数据库时)更改为0。
如何预测或估算损坏的数据,以便将这些0正确地重置为NA?
PS: 新系统不会更改值,因此老板希望我在给定新数据的情况下正确地预测/估算旧的损坏数据...
我已经厌倦了MICE,KKN,PCA方法进行插补,但是这些方法只能将数据更改为其他数字而不是NA。有什么办法吗?
估算数据:
0.0015 0.0252 0.0159 0.0116 -0.0431 0.0252 -0.0058
-0.0955 0.0373 0.0437 0.0342 0.0348 0.0412 -0.0650
-0.1685 0.1113 -0.0399 -0.1207 -0.0243 0.1190 0.0300
例如新数据集中的一些值:
0.0015 0.0252 0.0159 0.0116 -0.0431 NA -0.0058
-0.0955 0.0373 0.0437 0 0.0348 0.0412 -0.065
-0.1685 0.1113 -0.0399 -0.1207 -0.0243 0.1190 NA
旧值可能是这样的:(我现在只是简单地说,旧数据与新数据完全不同,吨数为0,没有NA)
0.0015 0.0252 0.0159 0.0116 -0.0431 0 -0.0058
-0.0955 0.0373 0.0437 0.0036 0.0348 0.0412 -0.065
-0.1685 0.1113 -0.0399 -0.1207 -0.0243 0.1190 0
老板希望我将旧数据归为新数据,而不是将0值替换为由不同模型生成的某些预测数字,而是将其替换为NA。
答案 0 :(得分:0)
如果要将所有0s
替换为NAs
,可以通过以下方式进行
df[df == 0] <- NA
但这当然也意味着,您要替换最初为0的值。正如您所描述的,没有办法防止这种情况。为此,您必须掌握原始数据集(在数据库自动将NA更改为0之前)。