用if语句编写sas编码问题

时间:2012-04-06 22:42:49

标签: sas

我使用if语句创建一个新变量,但是不起作用。我查了一下,找不到问题所在。

data sockeye;
 infile 'c:/sockeye.csv';
 length data $8.;  
 input data $ sockeye;
 if data='29-Jul' then sampweight =250/15;
 if data='30-Jul' then sampweight =250/15;
run;

data n_boats;
 length data$8.;
 data = '29-Jul';_total_=250;output;
 data = '30-Jul';_total_=250;output;
run;

proc surveymeans data=sockeye N=n_boats mean sum;
 strata data / list;
 var sockeye;
 weight sampweight;
run;

1 个答案:

答案 0 :(得分:0)

对于第一部分,您正在尝试读取.csv文件。根据我的经验,使用导入向导可以做得更好。这是特别的。适用于日期,这在SAS(以及许多其他程序)中很难处理。

对于第二部分,带有_前缀和后缀的变量由SAS创建。我不是积极的,但我认为你不能改变它们;我建议不要尝试。

一般情况下,我会避免将变量命名为'data'这样的东西,这是SAS中的关键字。此外,该变量名称没有信息。显然,这些是日期。因此,变量名称应该类似于dateXXX,其中XXX表示日期是什么。