使用';在SAS中创建观察之前测试条件@';在输入语句的末尾
我已经阅读了在线文档,从中我认为它只适用于列输入法。如何使用列表输入法 /这很有效/ /*但事实并非如此*/使用';在SAS中创建观察之前测试条件@';在输入语句的末尾,sas,Sas,我已经阅读了在线文档,从中我认为它只适用于列输入法。如何使用列表输入法 /这很有效/ /*但事实并非如此*/ data new; input height @; if height = 6; input name $ colour $ place $ height; datalines; Deepak Red Delhi 6 Aditi Yellow Delhi 5 Anup Blue Delhi 5 Era Green Varanasi 5 Avinash
data new;
input height @;
if height = 6;
input name $ colour $ place $ height;
datalines;
Deepak Red Delhi 6
Aditi Yellow Delhi 5
Anup Blue Delhi 5
Era Green Varanasi 5
Avinash Black Noida 5
Vivek Grey Agra 5
;
run;
LOG:
NOTE: Invalid data for height in line 79 1-6.
79 Deepak Red Delhi 6
height=. name= colour= place= _ERROR_=1 _N_=1
NOTE: Invalid data for height in line 80 1-5.
80 Aditi Yellow Delhi 5
height=. name= colour= place= _ERROR_=1 _N_=2
第一个数据行的固定布局使从特定位置输入字段成为可能 第二种布局在布局中是可变的,因此很难任意获取特定字段 那么,怎么了?在第二个数据步骤中,
输入将从行的开头读取,因此它不会从名称所在的位置读取数字
不要担心通过只读取一行的一部分来“减少处理”。保持输入和条件处理更常用于处理内容中包含某种变体或条件数据项的数据行。对于这两种格式,我将读取所有变量,然后根据值向过滤器添加逻辑
如果在决定如何读取行之前确实需要检查行上的最后一个“单词”是否符合某些条件,那么您可能需要尝试使用自动\u infle\u
变量
data new;
input @ ;
if scan(_infile_,-1,' ') = '6';
input name $ colour $ place $ height;
datalines;
Deepak Red Delhi 6
Aditi Yellow Delhi 5
Anup Blue Delhi 5
Era Green Varanasi 5
Avinash Black Noida 5
Vivek Grey Agra 5
;
你看过日志了吗?是否有可以添加到问题中的消息?已添加。我应该先看看日志,因为它们是不言自明的。下次我会处理好的。对不起,非常感谢。我看了看日志,它就在那里。我正在阅读SAS提供的PDF,“使用Base SAS®9.4逐步编程,第二版”,以学习SAS。在这里我遇到了这个。如果你能给我推荐一些其他的资源,那会非常有帮助。我会从下次开始推荐。谢谢
data new;
input @ ;
if scan(_infile_,-1,' ') = '6';
input name $ colour $ place $ height;
datalines;
Deepak Red Delhi 6
Aditi Yellow Delhi 5
Anup Blue Delhi 5
Era Green Varanasi 5
Avinash Black Noida 5
Vivek Grey Agra 5
;