【问题标题】:SAS PROC IMPORT GROUPED VARIABLESSAS PROC 导入分组变量
【发布时间】:2020-07-19 22:58:39
【问题描述】:

在使用 proc import 和制表符分隔的 txt 文件时,如何将变量保存在单独的列中?只创建了一个名为 Name__Gender___Age 的变量。只有数据步骤才有可能吗?

这是代码


proc import datafile= '/folders/myfolders/practice data/IMPORT DATA/class.txt'  
out=new
dbms=tab
replace;
delimiter='09'x; 
run;



【问题讨论】:

    标签: import sas proc


    【解决方案1】:

    数据文件似乎有空格分隔符而不是制表符,这与您的预期相反。

    由于您指定了制表符分隔,因此标题行中的空格被视为名为 Name Gender Age 的列的一部分。因为 SAS 列名中不允许使用空格(默认设置),所以空格被转换为下划线。这就是为什么你最终选择了Name__Gender___Age

    将分隔符更改为空格,您应该可以导入。

    如果数据文件混合使用空格和制表符分隔,您需要编辑数据文件以保持一致。

    【讨论】:

      【解决方案2】:

      您告诉 PROC IMPORT,您的文本文件在字段之间有制表符。从它创建的变量的名称来看,您的文件很可能只是在字段之间有空格。以及多个空格,以便在使用固定宽度字体查看时线条看起来整齐对齐。

      只需编写您自己的数据步骤来读取文件(无论如何您都应该对文本文件执行此操作)。

      data mew;
        infile '/folders/myfolders/practice data/IMPORT DATA/class.txt' firstobs=2 truncover;
        length Name $30 Gender $6 Age 8 ;
        input name gender age;
      run;
      

      如果 NAME 或 GENDER 缺少没有作为句点输入的值,那么您可能需要使用格式化或列模式输入而不是上面的简单列表模式输入样式来读取它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-08
        • 2017-08-19
        • 2022-01-17
        • 1970-01-01
        相关资源
        最近更新 更多