我正在使用PROC IMPORT导入Stata格式的数据集,但我想用IF语句来创建一些新的变量。但是,简单地使用这样的代码会返回错误“错误180-322:语句无效,或者它使用的顺序不正确。” :是否可以在PROC IMPORT中使用IF语句?
PROC IMPORT
DATAFILE = "myfile.dta"
DBMS = DTA
OUT = mydata
REPLACE;
IF close < 10 THEN val = "low";
ELSE val = "high";
RUN;
我没有看到在我的日志文件中生成任何一个数据步的任何代码,即使我用ODS TRACE ON。在这里还有另一种使用IF语句的方法吗?
更新:如果我添加PROC IMPORT之后的数据的步骤,如图所示:
PROC IMPORT
DATAFILE = "myfile.dta"
DBMS = DTA
OUT = mydata
REPLACE;
RUN;
DATA mydata;
IF close < 10 THEN val = "low";
ELSE val = "high";
RUN;
PROC PRINT DATA=mydata;
RUN;
这仅打印出一个空表是这样的:
close | val
| high
和检查数据集显示它不包含任何原始数据。
就立即做了数据步骤PROC导入后.... –
@ CarolinaJay65如何将这些数据步骤构成的?在数据步骤中,我仍然需要INFILE语句吗?如果我只是用IF语句放一个DATA步骤,它似乎会删除数据(请参阅我的编辑)。 –