SPSS:使用 rv.uniform 生成 'fake' 调查数据而不丢失值标签

SPSS: generate 'fake' survey data using rv.uniform without losing value labels

我有一个非常简单的调查数据集。每行是一个受访者,每一列是一个问题。回复有一个整数值,每个数字都有一个标签。

现在,我需要用假数据替换所有这些值以用于训练。我需要一些看起来和感觉起来都像原始数据集,但实际上不是客户端数据的东西。

我首先用随机数值替换我的变量:

COMPUTE Q1=RV.UNIFORM(1,2). 
EXECUTE.

COMPUTE Q2=RV.UNIFORM(1,36). 
EXECUTE.

COMPUTE Q3=RV.NORMAL(50, 13).
EXECUTE.

(rv.normal/rv.uniform 取决于我要伪造的数据类型 - 例如,年龄与多项选择题。

这行得通,但是当我尝试生成交叉表、导出带有值标签的数据集等时,标签不会应用于包含虚假数据的列。据我所知,我的假数字与之前的格式完全相同——数字,没有小数,宽度为 2,名义上的。标签仍然出现在变量视图中,但实际上并没有被应用。

我真的不想手动重新标记这些列中的每一列,因为它们有很多。关于如何解决这个问题的任何想法?还是有更聪明的方法来生成假数据?

您的问题是 RV.UNIFORMRV.NORMAL 函数不生成整数 - 它们生成小数。您可能通过在变量视图中设置 0 个小数位来让您的显示器隐藏小数位,但它们仍然存在(您可以通过在变量视图中添加小数位来检查这一点)。
因此,您需要将小数转换为整数的另一个步骤。例如,以下是获取随机 1 或 2(整数)的两种方法:

COMPUTE Q1=rnd(RV.UNIFORM(1,2)). 

COMPUTE Q1=trunc(RV.UNIFORM(1,3)). 

一旦生成的数字是对应于值标签定义的整数,您应该能够在输出中看到标签。