繁体   English   中英

在SAS中导入txt文件

[英]import txt file in SAS

我有一个带有注释的文本文件,需要在SAS中导入。 文本文件如下所示

# DATA1
#
# -- 
#     
ID  nbmiss  x1  x2  x3  x4 
1   1           45  38  47 
2   0       37  45  39  51 
3   3                   58 
4   4               
5   0       68  45  73  76 
6   2               52  48

我在SAS中的输出必须如下所示

Obs x1 x2 x3 x4 
1    . 45 38 47 
2   37 45 39 51 
3    .  .  . 58 
4    .  .  .  . 
5   68 45 73 76 
6    .  . 52 48 

这是我所做的。 它给了我我想要的东西,但是很长。 我认为有一种更简单的方法。

proc import datafile= 'Z:\bloc1data\data\data1.txt'
            out=class
            dbms=dlm
            replace;
       datarow=6;
     delimiter='09'x;
run;
proc print data = work.class label;
var VAR3 VAR4 VAR5 VAR6;
label VAR3='x1' VAR4='x2' VAR5='x3' VAR6='x4';
run;

我的问题是如何以简化的方式获得相同的输出?

感谢您的时间。

这是进行导入的部分:

proc import datafile= 'Z:\bloc1data\data\data1.txt'
            out=class
            dbms=dlm
            replace;
       datarow=6;
     delimiter='09'x;
run;

对我来说,这似乎很短。 实际的四行代码,大约一百个字符...数据步骤中的等效代码基本相同。

data want;
  infile 'z:\bloc1data\data\data1.txt' dlm='09'x dsd firstobs=6;
  input id nbmiss x1 x2 x3 x4;
run;

不幸的是,该文件不能很好地自动确定名称(否则您可以这样做)。 DBMS = DLM没有名称namerow选项来告诉它从何处拾取名称,因此您需要预处理文件以除去多余的行。 欢迎您作为一个单独的问题来问如何做,但是它并不比上面的“简单”(尽管可能“更好”)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM