【发布时间】:2012-03-17 23:43:36
【问题描述】:
如何将 .txt 格式的文件读入 SAS:
"A","B","C",...
n1,n2,n3...
m1,m2,m3...
p1,p2,p3...
.
.
.
其中 n*、m*、p* 等表示数值。我真的需要指定所有的标题,比如
INPUT A B C D E F G ...
或者有更简洁的方法吗?
【问题讨论】:
标签: sas
如何将 .txt 格式的文件读入 SAS:
"A","B","C",...
n1,n2,n3...
m1,m2,m3...
p1,p2,p3...
.
.
.
其中 n*、m*、p* 等表示数值。我真的需要指定所有的标题,比如
INPUT A B C D E F G ...
或者有更简洁的方法吗?
【问题讨论】:
标签: sas
如果您真的想将变量命名为 A, B, C, ...,这有点棘手,但如果您愿意将它们命名为 var1, var2, ... 之类的名称,那么这将起作用:
data test;
infile 'data.txt' dlm=',';
input var1-var5;
run;
当您说var1-var5 时,SAS 会自动生成变量var1, var2, var3, var4, var5。
【讨论】:
另一种方法是使用文件菜单中的导入数据向导。只需确保选择分隔文件并在下一个屏幕的选项按钮中输入“,”作为分隔符。使用向导并不总是创建正确的字段类型,但是如果您在导入完成后从编辑器中按 F4 键,它将调用它使用的完整代码(包括所有列标题的输入语句)。然后,您可以编辑代码以适合。
【讨论】:
要将分隔的文本文件读入 SAS 数据集,请使用 PROC IMPORT:
proc import datafile='<path to delimited file>'
out=mydata /* SAS data set to create */
dbms=dlm
replace;
delimiter=',' /* Specify the delimiter */;
getnames=yes; /* Get variable names from first row */
run;
这与您使用导入数据向导时实际执行的代码相同。
【讨论】: