SAS,PROC格式将字符串更改为数字

SAS,PROC格式将字符串更改为数字,sas,proc,proc-format,Sas,Proc,Proc Format,我想在一个字符串变量(星期一、星期二、星期三、星期四、星期五)上创建一个格式,将结果显示为1到5,以便对数据进行排序。我试着做某事: proc format; value days 'Monday'=1 'Tuesday'=2 'Wednesd'=3 'Thrusda'=4 'Friday'=5 run; 在日志文件中,会出现如下错误: 错误:数字格式或信息不接受带引号的字符串“星期一”。 错误22-322:语法错误,应为以下内容之一

我想在一个字符串变量(星期一、星期二、星期三、星期四、星期五)上创建一个格式,将结果显示为1到5,以便对数据进行排序。我试着做某事:

proc format;
     value days
     'Monday'=1
     'Tuesday'=2
     'Wednesd'=3
     'Thrusda'=4
     'Friday'=5
run;
在日志文件中,会出现如下错误:

错误:数字格式或信息不接受带引号的字符串“星期一”。 错误22-322:语法错误,应为以下内容之一:带引号的字符串、格式名称。 错误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;
使用该格式,散点图中的标记可以按周一到周五的顺序显示。否则,标记将按字母顺序显示


请分享你的想法

您可以使用和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;

@数据为空谢谢你的回答,这确实帮助我创建了天的格式。下面的问题是,如何将其应用于图形和模型?例如,我使用的格式是Day days。;输入语法,但出现一条错误消息,说明找不到或无法加载格式天。是弹出的**我的示例没有创建它创建的格式和信息。您必须提供更多关于您的数据和程序以及您正在尝试执行的操作的信息。