0

我使用 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;
4

1 回答 1

0

对于第一部分,您正在尝试读取 .csv 文件。根据我的经验,最好使用导入向导来完成。这是特别的。对于日期是正确的,这在 SAS(和许多其他程序)中很难处理。

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

一般来说,我会避免将变量命名为“数据”之类的东西,这是 SAS 中的一个关键字。此外,该变量名称是不具信息性的。显然,这些是日期。因此,变量名称应该类似于 dateXXX,其中 XXX 表示日期。

于 2012-04-07T12:53:56.900 回答