我正在使用 PROC IMPORT 导入 Stata 格式的数据集,但我也想使用 IF 语句来创建一些新变量。但是,简单地使用这样的代码会返回“错误 180-322:语句无效或使用顺序不正确”的错误。:
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 之后添加一个 DATA 步骤,如图所示:
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
检查数据集表明它不包含任何原始数据。