将 SPSS 元数据变量标签、值标签、数据类型等导出到自定义文本文件

2024-03-15

我们有一个很大的 SPSS 文件,大小为 5MB,包含大约 1400 个变量。我们正在将所有内容迁移到数据库,为了配置表格和表单等,我们需要 SPSS 文件中的元数据,但采用特定的自定义格式。

所以如果变量视图是这样的:

+--------+------------------+---------+-------+----------+----------------+
| Name   | Label            | Type    | Width | Decimals | Values         |
+--------+------------------+---------+-------+----------+----------------+
| PATID  | Patient Id       | Numeric | 8     | 0        |                |
| DOB    | Date Of Birth    | Date    | 11    | 0        |                |
| SEX    | Sex              | String  | 1     | 0        | {F, Female}... |
| ICFORM | Informed consent | Numeric | 8     | 0        | {0, No}...     |
+--------+------------------+---------+-------+----------+----------------+

我们需要一个自定义格式的元数据文件,如下所示:

FieldName;Description;DataType;Width;Decimals;Choices
PATID;"Patient Id";Int;8;0;""
DOB;"Date Of Birth";Datetime;11;0;""
SEX;"Sex";radio;1;0;"F = Female, M = Male"
ICFORM;"Informed consent";radio;8;0;"0 = No, 1 = Yes"

我们还有几个 SPSS 文件,所以如果可能的话,我希望使用 SPSS 语法来完成。在这个答案 https://stackoverflow.com/questions/34349519/spss-syntax-how-can-i-generate-a-var-list-of-all-variables-from-the-active-data有人建议使用OMS捕捉dictionary但我不知道那是如何运作的。当我尝试这个时:

DISPLAY dictionary.
OMS dictionary.

我刚刚收到一个错误:

子命令 OMS。未知关键字或子命令:字典。
该命令的执行停止。


OMS确实是你所需要的,但完整的过程将如下所示:

DATASET DECLARE  vars.
OMS   /SELECT TABLES
  /IF COMMANDS=['File Information'] SUBTYPES=['Variable Information']
  /DESTINATION FORMAT=SAV NUMBERED=TableNumber_ OUTFILE='vars' .
DATASET DECLARE  vals.
OMS  /SELECT TABLES
  /IF COMMANDS=['File Information'] SUBTYPES=['Variable Values']
  /DESTINATION FORMAT=SAV NUMBERED=TableNumber_    OUTFILE='vals' .
display dictionary.
omsend.

您现在将拥有两个新数据集,其中包含所有变量的变量定义和值标签。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 SPSS 元数据变量标签、值标签、数据类型等导出到自定义文本文件 的相关文章

随机推荐