用sas代替变量的值

时间:2011-07-03 02:04:40

标签: sas

我的sas文件中有一列作为年龄,另一列作为finalage。我想用agefinal列中的值替换agefinal列中的值,只有一个ID(即5)

我使用的代码是:

Data temp;
set temp;
if ID = 5;
then age = agefinal;
run;

我无法替代这些价值观。年龄列中的值未更改。我试图运行此代码来检查值的字符长度,因为两个列的字符类型都是数字。

代码:

Proc contents data = temp;
tables age agefinal;
run;

我得到的输出是:

age : character length 3.
agefinal: character length $3

感谢您的建议。

3 个答案:

答案 0 :(得分:1)

尝试删除if语句末尾的分号。现在你正在做的是删除所有id不等于5的记录。

答案 1 :(得分:0)

尝试将格式设置为相同

data temp;
 modify temp;
 format age agefinal $3.;
 run;

然后看看它是否会让你进行替换。

答案 2 :(得分:0)

您提供的代码使用错误运行,删除附加的分号,这可能会解决您的问题:

/* ORIGINAL */
Data temp;
set temp;
if ID = 5;
then age = agefinal;
run;

/* CORRECTED */
Data temp;
set temp;
if ID = 5 /* REMOVED SEMICOLON */
then age = agefinal;
run;

干杯 罗布