【发布时间】:2016-07-11 00:29:33
【问题描述】:
我想使用插补来替换我的数据集中的缺失值。我有一些限制,例如我不希望估算变量x1 小于我的其他两个变量的总和,比如说x2 and x3。我还希望x3 由0 or 14 or >= 14 and 估算,x2 由0 or 16 or >= 16 估算。我试图在 spss 中定义这些约束,例如用于多重插补,但在 spss 中我只能定义最大值和最小值。有什么方法可以在 spss 中定义进一步的约束,或者你知道任何 R 包可以让我定义这些约束来估算缺失值吗?
x1 =c(21, 50, 31, 15, 36, 82, 14, 14, 19, 18, 16, 36, 583, NA,NA,NA, 50, 52, 26, 24)
x2 = c(0, NA, 18,0, 19, 0, NA, 0, 0, 0, 0, 0, 0,NA,NA, NA, 22, NA, 0, 0)
x3 = c(0, 0, 0, 0, 0, 54, 0 ,0, 0, 0, 0, 0, 0, NA, NA, NA, NA, 0, 0, 0)
dat=data.frame(x1=x1, x2=x2, x3=x3)
> dat
x1 x2 x3
1 21 0 0
2 50 NA 0
3 31 18 0
4 15 0 0
5 36 19 0
6 82 0 54
7 14 NA 0
8 14 0 0
9 19 0 0
10 18 0 0
11 16 0 0
12 36 0 0
13 583 0 0
14 NA NA NA
15 NA NA NA
16 NA NA NA
17 50 22 NA
18 52 NA 0
19 26 0 0
20 24 0 0
【问题讨论】:
-
这绝对是可能的,但演示答案需要一些数据,所以请提供一些示例数据。
-
你只有整数值吗?
-
@托马斯。我提供了样本数据。
-
你的意思是你只想要值来填充那些满足约束的 NA,但你不知道这些值到底是什么?