我真的很难找到以下简单问题的答案。假设我有一个包含100个观察值的现有数据集,并且我想添加一个变量,其在行1-50中具有值0,在行51-100中具有值1。我该怎么做?我试过了:
data new_data;
set existing_data;
do i = 1 to 100;
if i <= 50 then new_variable = 0;
if i >= 51 then new_variable = 1;
end;
run;
但它没有用。
答案 0 :(得分:3)
是的,有一种方法,使用SAS内部变量_n_
作为行号。像这样......
data new;
set existing;
if _n_<=50 then new_var=0;
if _n_>50 then new_var=1;
run;
答案 1 :(得分:0)
好吧,我想出了一种方法。
data dummy;
do i = 1 to 50;
new_variable = 0;
output;
end;
do i = 1 to 50;
new_variable = 1;
output;
end;
run;
data new_data;
merge existing_data dummy;
run;
有没有办法一次完成这一切?