如何以编程方式合并具有冲突变量名称的数据集中的案例?

时间:2015-05-19 18:05:12

标签: spss

我想将来自许多SPSS数据集的案例添加到一个SPSS数据集中。

这是我的代码:

DATASET ACTIVATE DataSet1.
ADD FILES /FILE=*
  /FILE='Path\to\dataset.sav'.
EXECUTE.

但我收到此错误:Mismatched variable types on the input files

我希望SPSS忽略冲突的列,并仅从没有冲突的列添加案例。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

这是因为两个不同数据源中同名的变量具有不同的格式类型(STRING,NUMERIC,DATE等),或者它们两个STRINGS但长度不同

后者,不同长度的字符串变量,可以这样解决:

DATA LIST FREE / V(A1).
BEGIN DATA.
a b c
END DATA.
DATASET NAME DS1.

DATA LIST FREE / V(A2).
BEGIN DATA.
1 2 3
END DATA.
DATASET NAME DS2.

STATS ADJUST WIDTHS VARIABLES=ALL WIDTH=MAX /FILES DS1 DS2.

DATASET ACTIVATE DS1.
ADD FILES FILE=* /FILE=DS2.

但是,如果你有不同格式类型的不匹配,那么由于许多不同的排列,这有点复杂,所以你可能想要在合并文件之前评估哪些变量有问题并协调/删除它们。尽管如此,可能值得进行此练习,因为具有不同格式类型的相同变量名称可能是错误数据的迹象。

答案 1 :(得分:1)

如果您知道哪些变量发生冲突,可以使用KEEP子命令选择其他变量,或者您可以使用RENAME命令分配新名称并在之后调整结果。

如果您需要协调名称,并且问题类似于变量应该相同的字符串长度,则STATS ADJUST WIDTHS扩展命令可以在合并之前协调宽度。