我正在使用以下代码将csv导入sas数据集:
PROC IMPORT
DATAFILE = '/folders/myshortcuts/SASsoftware_rialto_2015/providence_med_claims_15.csv'
OUT = medical
DBMS=DLM REPLACE;
DELIMITER='|';
getnames=yes;
run;
对于后续代码,它希望此数据集中名为DIAGNOSIS_VERSION_CODE的字段之一是字符类型而不是默认的数字类型。如何更改上述代码中的默认值或转换数据集中的字段?
我尝试过这个并没有用:
contents data=medical;
modify medical;
format DIAGNOSIS_VERSION_CODE $CHAR8.;
contents data=medical;
run;
答案 0 :(得分:0)
您无法使用PROC DATASETS更改变量的定义或值。您需要创建一个新数据集。您可以使用RENAME语句使新变量具有旧变量的名称。
data new_medical;
set medical ;
new_diagnosis_version_code = put(diagnosis_version_code,Z8.);
rename diagnosis_version_code=old_diagnosis_version_code
new_diagnosis_version_code=diagnosis_version_code
;
run;
为了防止将来出现这种情况,您应该编写自己的数据步骤来读取数据,而不是要求PROC IMPORT猜测您拥有的数据。然后您可以控制变量的创建方式。