在给定损坏的数据集的情况下,如何预测原始数据?

时间:2019-07-17 22:06:58

标签: r replace na predict imputation

可以说,用户可以选择输入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。

1 个答案:

答案 0 :(得分:0)

如果要将所有0s替换为NAs,可以通过以下方式进行

df[df == 0] <- NA

但这当然也意味着,您要替换最初为0的值。正如您所描述的,没有办法防止这种情况。为此,您必须掌握原始数据集(在数据库自动将NA更改为0之前)。