【问题标题】:Proc Import from SPSS从 SPSS 导入过程
【发布时间】:2013-03-14 18:59:40
【问题描述】:

对 SAS 来说相对较新,我在 SPSS (.sav) 数据文件上使用 proc import,它运行良好,但我注意到它只引入了 SPSS 值标签,而不是数字等价物。例如,在 Gender 列中 1='male', 2='female' 并且在 SAS 数据集中显示 'male' 和 'female' 而不是 1 或 2。

任何见解将不胜感激。当前代码...

 proc import datafile = "C:\Data\workload_20130314.sav"
     out=library.workload_20130314
     dbms = sav
     replace;
 run;

【问题讨论】:

    标签: sas


    【解决方案1】:

    您可能在那里有基础值,它们可能只是格式化了。尝试打开数据集并查看您正在查看的列之一的列属性;它可能具有类似于 Q49F 的格式。或这样做的东西。它仍然适用于 PROC MEANS 或其他任何数字变量。

    你可以跑,我想,像

    proc datasets;
    modify my_dataset;
    format _all_;
    quit;
    

    删除覆盖。您也可以根据具体情况进行操作。

    【讨论】:

    • 感谢您的信息。代码肯定会给我一个起点。
    • 但是如何使叠加层永久化?就我而言,在堆叠几年的数据后,仅应用最新的 Q49F 格式,2012 年数据的 0=2012 变为 0=2014(垂直连接后仅保留最新格式)。
    • 覆盖并不是永久性的。这是一种格式。它将含义与代码分离。通常,您将拥有一个跨年的代码框架(因此您没有描述的问题)。如果它确实因年份而异,您需要做一些工作(通常是相当多的工作)将格式转换为实际值(即,我们现在需要字符变量而不是数字),或者修改使代码帧受到保护的代码(例如,YYYY00+value 是新值,然后调整格式)。
    • 我有一个问题,当我导入价值标签时,价值标签不见了,只剩下数字..价值标签的携带方式是什么,也是格式?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多