SAS,PROC FORMAT 将字符串更改为数字
SAS, PROC FORMAT change string to numeric
我想在字符串变量(星期一、星期二、星期三、星期日、星期五)上创建一个格式,以查看 1 到 5 的结果,这样我就可以对数据进行排序。我试过:
proc format;
value days
'Monday'=1
'Tuesday'=2
'Wednesd'=3
'Thrusda'=4
'Friday'=5
run;
在日志文件中,出现类似这样的错误:
错误:引用的字符串 'Monday' 不能被数字格式或信息格式接受。
错误 22-322:语法错误,应为以下之一:带引号的字符串、格式名称。
ERROR 200-322: 符号无法识别,将被忽略。
附加信息
创建格式后,我将在绘图中应用它,如下所示:
PROC GLM data=Newspaper;
class Day Newspaper;
model ad_effect = Day|Newspaper;
**format Day days.;**
title 'Analyze the effects of Day & Newspaper';
title2 'Including Interaction';
run;
quit;
title;
使用Format,散点图中的marker可以按周一到周五的顺序显示。否则,标记将根据字母顺序显示。
请分享您的想法。
您可以使用和 INFORMAT 通过将日期名称读取为数字来创建新变量。例如。
proc format;
invalue days
'Monday'=1
'Tuesday'=2
'Wednesd'=3
'Thrusda'=4
'Friday'=5;
run;
data days;
input day:days.;
cards;
Monday
Tuesday
Wednesd
;;;;
run;
proc print;
run;
我想在字符串变量(星期一、星期二、星期三、星期日、星期五)上创建一个格式,以查看 1 到 5 的结果,这样我就可以对数据进行排序。我试过:
proc format;
value days
'Monday'=1
'Tuesday'=2
'Wednesd'=3
'Thrusda'=4
'Friday'=5
run;
在日志文件中,出现类似这样的错误:
错误:引用的字符串 'Monday' 不能被数字格式或信息格式接受。 错误 22-322:语法错误,应为以下之一:带引号的字符串、格式名称。 ERROR 200-322: 符号无法识别,将被忽略。
附加信息
创建格式后,我将在绘图中应用它,如下所示:
PROC GLM data=Newspaper;
class Day Newspaper;
model ad_effect = Day|Newspaper;
**format Day days.;**
title 'Analyze the effects of Day & Newspaper';
title2 'Including Interaction';
run;
quit;
title;
使用Format,散点图中的marker可以按周一到周五的顺序显示。否则,标记将根据字母顺序显示。
请分享您的想法。
您可以使用和 INFORMAT 通过将日期名称读取为数字来创建新变量。例如。
proc format;
invalue days
'Monday'=1
'Tuesday'=2
'Wednesd'=3
'Thrusda'=4
'Friday'=5;
run;
data days;
input day:days.;
cards;
Monday
Tuesday
Wednesd
;;;;
run;
proc print;
run;