我正在使用SAS大学版。
我希望有一个名为"年龄(年)的变量"而不是" Age_years"对于以下数据集。我理解"()"将被解释为数组,而我需要将其作为变量的一部分。
data data;
input Name $ Age_years Gender $;
datalines;
Dino 6 male
Rita 5 female
Aurora 6 female
Joko 7 male
;
run;
我访问以下行时的确切错误是"错误:引用的未声明数组:年龄。 错误:变量年龄尚未声明为数组。"
data data;
set data;
Age(years)=Age_years;
run;
我已经检查过转义这个括号字符的可能性,以便它不会被解释为数组,如下所示:Special Characters in SAS但是%符号无助于转义()字符。我怎么能在SAS中做到这一点?
答案 0 :(得分:0)
好的,我错过了其他SO链接的一些提示。 SAS: how to use the table column with special character $
我是如何通过以下
解决这个问题的option validvarname=any;
data data;
'Age(years)'n = Age_years;
run
我不明白是什么" n"以上实际上意味着,因为如果我删除它,年龄(年)将意味着字符串。
答案 1 :(得分:0)
你可以称之为' n'修饰语。您可以在引用的文字的末尾附加一些内容,以指定SAS应如何对待它:
'my variable'n
将被视为名为'我的变量'
'14AUG2017'd
将被视为代表今天日期
'14AUG2017:09:53:00'dt
将被视为代表今天日期和时间的数字
'49'x
将被视为字母A,此处由其十六进制值指定。
......以及其他我可能已经忘记的事。
请注意,使用非SAS有效名称不被视为良好做法。