2017-01-09 12 views
1

Я хочу создать формат строковой переменной (понедельник, вторник, среда, Thrusda, пятница), чтобы увидеть результат от 1 до 5, поэтому я могу сортировать данные. Я пытался что-н, как:SAS, PROC FORMAT изменить строку на числовой

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; 

Использование формата, то маркер в график рассеяния может быть показали в порядке с понедельника по пятницу. В противном случае маркер будет отображаться в алфавитном порядке.

Пожалуйста, поделитесь своей идеей.

ответ

2

Вы можете использовать и 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; 
+0

@ data-null Спасибо за ответ, который помогает мне создать формат ** дней **. Следующий вопрос здесь, как я могу применить это к графику и модели? Например, я использовал ** Format Day days.; ** в синтаксисе, но сообщение об ошибке ** Формат DAYS не был найден или не был загружен. ** всплывает. ** –

+0

В моем примере не создается ФОРМАТ, который он создает, и INFORMAT. Вам нужно будет предоставить больше информации о ваших данных и программе и о том, что вы пытаетесь сделать. –

+0

@ data-null Я только что редактировал свой пост. –