我使用PROC FREQ来计算所有指定的组。我不确定我的代码是否正确进入PROC FREQ。我使用了数据,但列表看起来很乱。我创建了将所有信息分类到适当的名称组,但PROC FREQ的结果看起来是空的,但保留标题并提到频率缺失= 1。 显然,我没有正确执行此代码。
Proc Freq没有任何修改(但它看起来很乱):
American Dialect Frequency
? 1
Creole 256
Craole 1
Californian 603
Chicano 302
Chiano 2
Chiaco 1
Midwest 423
Missing
New York City 409
NYC 35
Other 90
Pacific Northwest 128
Pittsburghese 15
Pittsburhese 2
San Francisco 78
Won't say 12
修改数据......这是我的代码:
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;
答案 0 :(得分:1)
如果显示的代码与您提交的内容完全相同,则会有一个杂散等号,从名为“Speechdata”的未初始化变量创建名为“set”的变量。日志应该说“创建数据集SPEECHDATA2,带有1个观察值和3个变量”。
删除该提取字符,你应该没问题:
Data Speechdata2;
set Speechdata;
/* and so on */
请务必查看日志中的有用信息。
答案 1 :(得分:0)
此处有一个等号 set = Speechdata
一个好的经验法则是检查你的日志。