If statement 如何修改数据,然后在PROC FREQ(sas)中使用它?
我使用PROC FREQ对所有指定的组进行计数。我不确定我的代码是否正确进入PROC FREQ。我使用了数据,但列表看起来很混乱。我创建的目的是将所有信息分类到适当的名称组中,但是PROC FREQ的结果看起来是空的,但是缺少标题和提及的频率=1。 显然,我没有正确地编写这段代码 Proc Freq没有任何修改(但看起来很凌乱): 修改数据。。。这是我的密码:If statement 如何修改数据,然后在PROC FREQ(sas)中使用它?,if-statement,substring,sas,frequency,proc,If Statement,Substring,Sas,Frequency,Proc,我使用PROC FREQ对所有指定的组进行计数。我不确定我的代码是否正确进入PROC FREQ。我使用了数据,但列表看起来很混乱。我创建的目的是将所有信息分类到适当的名称组中,但是PROC FREQ的结果看起来是空的,但是缺少标题和提及的频率=1。 显然,我没有正确地编写这段代码 Proc Freq没有任何修改(但看起来很凌乱): 修改数据。。。这是我的密码: PROC SORT data=Speechdata; by Dialect;run; Data Speechdata2; set= Sp
PROC SORT data=Speechdata; by Dialect;run;
Data Speechdata2;
set= Speechdata;
If substr(Dialet,1,2)='Cr' then Dialect = 'Creole';
else if substr(Dialect,1,2)='Ca' then Dialect = 'Californian';
else if substr(Dialect,1,2)='Ch' then Dialect ='Chicano';
else if substr(Dialect,1,3)='Mid' then Dialect ='Midwest';
else if substr(Dialect,1,1)='N' then Dialect ='New York City';
else if substr(Dialect,1,2)='Sa' then Dialect ='Californian';
else if substr(Dialect,1,2)='Pi' then Dialect ='Pittsburghese';
else if substr(Dialect,1,2)='Pa' then Dialect ='Pacific Northwest';
else if substr(Dialect,1,1)='O' then Dialect ='Other';
else if substr(Dialect,1,1)='NA' then Dialect ='Missing';
else Dialect ='Missing';
run;
PROC FREQ data=Speechdata2;
table Dialect/nocum nopercent;
title 'Dialect Frequencies';
run;
如果显示的代码与您提交的代码完全相同,那么您就有一个等号,它从一个名为“Speechdata”的未初始化变量创建了一个名为“set”的变量。日志应该说“创建了数据集SPEECHDATA2,包含1个观察值和3个变量” 删除该提取字符,您应该会没事:
Data Speechdata2;
set Speechdata;
/* and so on */
始终查看日志以获取有用信息。此处有一个等号set=Speechdata 一个好的经验法则是检查你的日志
Data Speechdata2;
set Speechdata;
/* and so on */