SAS加载文件txt
你能帮我吗 我有一个txt文件:SAS加载文件txt,sas,Sas,你能帮我吗 我有一个txt文件: 1 1 8 2 004 149 44.9 Brabant 14 7 7 9 9 32 10 13.5 165 20 7 21 19.9 7 1 1 9 2 004 133 32.5 Liege 12 7 6 11 8 14 18 20.9 140 22.9 18 15 4.4 5 其中,前三行分析了相同的ID,分析的变量为: anne, sex, nat, age, prov, tai, pds, ptr, pbi, pss, psi, pmo, dyn, e
1 1 8 2 004 149 44.9 Brabant
14 7 7 9 9
32 10 13.5 165 20 7 21 19.9 7
1 1 9 2 004 133 32.5 Liege
12 7 6 11 8
14 18 20.9 140 22.9 18 15 4.4 5
其中,前三行分析了相同的ID,分析的变量为:
anne, sex, nat, age, prov, tai, pds, ptr, pbi, pss, psi, pmo, dyn, efl, fp,
slo, cna, flt, rsa, sbf, ll.
如何在SAS中加载文件并给出行和列的名称
非常感谢你,很抱歉!!!
elisa听起来你的输入文件有三行数据用于一次观察;我重新格式化了你原来的问题,我想你是有意的 如果这是真的,您只需要在一个
INPUT
语句中读取所有三行,使用/
操作符跳到下一行。换句话说,请尝试以下方法:
data STAT2012.data2004;
infile 'C:\Users\acer\STAT2012\data2004.txt';
input ID
anne sex nat $ age prov tai pds $
/ ptr pbi pss psi pmo
/ dyn efl fp slo cna flt rsa sbf ll;
run;
当然,您应该确保变量名与您的文件匹配,并且结果符合您的需要。我给你们举了一个非常基本的例子,让你们开始学习
更新:我的示例基于您发布的示例数据。我假设第一列是一个ID变量,因为在其他情况下,示例数据的值比示例中的值多
在您的情况下,最好的方法是使用INFORMAT
语句来定义如何读取每个变量。这需要您了解每个变量的类型(字符或数字),以及每个字符变量的最大长度。对于数值变量,您可以使用best32.
informat。如果您确实不知道字符变量的最大长度,可以尝试使用$200.
,这将使每个变量的长度为200个字符
例如:
data STAT2012.data2004;
infile 'C:\Users\acer\STAT2012\data2004.txt';
/* Define the variables that will be read */
informat
/* First line, 8 variables */
anne best32.
sex $1.
nat $4.
age best32.
prov best32.
tai best32.
pds best32.
ptr $200. /* 8th field in your sample, apparently character */
/* Second line, 5 variables */
pbi best32.
pss best32.
psi best32.
pmo best32.
dyn best32.
/* Third line, 9 variables */
efl best32.
fp best32.
slo best32.
cna best32.
flt best32.
rsa best32.
sbf best32.
ll best32.
unkn best32.; /* an unknown variable I invented */
/* Input the variables in the order they appear in the file.*/
input anne sex nat age prov tai pds pdr
/ pbi pss psi pmo dyn
/ efl fp slo cna flt rsa sbf ll unkn;
run;
请注意,infle
语句中不需要DLM选项。还要注意的是,这个示例并没有读取您提供的示例数据中的所有数据;我发明了一个新变量
要记住的重要一点是按照变量在源文件中出现的正确顺序读取变量。我想问题可能不仅仅是位置名称中的单词。您可以通过以下方式克服此问题(假设最长名称少于200个字符):
data STAT2012.data2004;
infile 'C:\Users\acer\STAT2012\data2004.txt' dlm=' ';
input
anne 1-4 sex $6 nat $8 age 10 prov @$11-21 tai @23 pds @25
/ ptr 1-2 pbi 4 pss 6 psi 8 pmo 10
/dyn 1-2 efl 4-5 fp 7-10 slo 12-14 cna 16-17 flt 19 rsa 21-22 sbf 24-27 ll 29;
run;
数据STAT2012.data2004;填充'C:\Users\acer\STAT2012\data2004.txt';输入annee 1-4非常感谢我使用了此代码,但是各省(列日…)有不同的长度,我无法加载它们,我该怎么办?谢谢,对不起!不要在输入语句中使用任何列指令或信息,只需按变量在文件中出现的顺序列出它们。我会用更多的细节更新我的答案。
data data2004;
infile 'C:\Users\acer\STAT2012\data2004.txt' truncover;
input ID
anne sex nat $ age prov tai pds $200.;
input ptr pbi pss psi pmo ;
input dyn efl fp slo cna flt rsa sbf ll;
run;