2015-04-29 3 views
1

У меня есть имя переменной A_flag (1=Y,0=N). Однако, когда я пытаюсь переименовать эту переменную, SAS говорит, что она не может найти переменную.Имя переменной в SAS

Это переменное имя A_flag (1=Y,0=N) или A_flag?

+1

Имена переменных не могут содержать символов, отличных от буквенно-цифровых и подчеркиваний. Каков контекст, то есть как вы определяете и ссылаетесь на него? –

+0

@AlexA: В процедуре содержимого proc имя переменной A_flag (1 = Y, 0 = N), и я пытаюсь выполнить статистический тест с использованием этой переменной. – Trevor

+1

Вы уверены, что это не переменная _label_, а переменная _name_? Это невозможно, чтобы быть именем переменной. –

ответ

5

Если variablename действительно является «A_flag (1 = Y, 0 = N)», то вам нужно ссылаться на него как «A_flag (1 = Y, 0 = N)» n. например:

proc freq; 
    tables "A_flag (1=Y,0=N)"n; 
run; 

Вам нужен validvarname = любой вариант установлен для того, чтобы это работало.

4

Это, вероятно, переменная этикетка, а не переменная имя. Если вы находитесь в диспетчере отображения SAS (не Enterprise Guide), зайдите в меню «Вид», когда у вас открыт набор данных, и выберите «Имена столбцов» вместо «Обозначения столбцов». Это покажет вам реальное имя переменной.

Если это имя переменной, оно, вероятно, входит в стандартную настройку Enterprise Guide options validvarname=any и импорт proc из Excel. Если это так, то я предлагаю добавить в любой файл конфигурации или только в верхней строке программы:

options validvarname=v7; 

Затем запустите proc import снова, и это будет правильно импортировать имя в качестве юридического SAS имени переменной без name literal синтаксис Stig ссылается на (который также является прекрасным решением, но это может быть утомительным для использования.)

Смежные вопросы