将数据集中的sas数值变量类型转换为字符类型
我正在使用以下代码将csv导入sas数据集:将数据集中的sas数值变量类型转换为字符类型,sas,type-conversion,character,numeric,Sas,Type Conversion,Character,Numeric,我正在使用以下代码将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
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;
不能使用PROC数据集更改变量的定义或值。您需要创建一个新的数据集。可以使用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猜测您有哪些数据。然后您可以控制变量的创建方式