Sas 保留语句和下划线
考虑以下数据集测试:Sas 保留语句和下划线,sas,Sas,考虑以下数据集测试: x y 1 A 2 A . A 4 A . B . B 7 B 8 B 基本上,我希望将组中缺少的值替换为以前的值。但如果前一个值来自另一个组,则不要使用该值替换当前值 考虑以下代码: proc sort data=testout=Sorted; by y; run; data Out2(drop=_x); set Sorted; by y; retain _x; if firs
x y
1 A
2 A
. A
4 A
. B
. B
7 B
8 B
基本上,我希望将组中缺少的值替换为以前的值。但如果前一个值来自另一个组,则不要使用该值替换当前值
考虑以下代码:
proc sort data=testout=Sorted;
by y;
run;
data Out2(drop=_x);
set Sorted;
by y;
retain _x;
if first.y then do;
_x=x;
end; else do;
if missing(x) then do;
x = _x;
end; else do;
_x = x;
end;
end;
run;
x后面的下划线是什么意思(x)?
\ux
只是一个新变量。它可以是z
或last\ux
。然而,阅读代码的人可能会更清楚它与x有关;虽然我不知道有任何类似于“u表示以前的值”的约定,但这并不是一个不合理的约定。\ux
只是一个新变量。它可以是z
或last\ux
。然而,阅读代码的人可能会更清楚它与x有关;虽然我不知道有任何类似于“u表示以前的值”的约定,但这并不是一个不合理的约定。\ux
只是一个新变量。它可以是z
或last\ux
。然而,阅读代码的人可能会更清楚它与x有关;虽然我不知道有任何类似于“u表示以前的值”的约定,但这并不是一个不合理的约定。\ux
只是一个新变量。它可以是z
或last\ux
。然而,阅读代码的人可能会更清楚它与x有关;虽然我不知道有哪种约定类似于“\uMeans previous value of”,但这并不是一种不合理的约定。使用下划线作为前缀是临时变量的一种相当常见的命名约定。就SAS而言,x只是另一个变量,x没有任何特殊效果。但是,如果所有临时变量(并且只有这些变量)都以下划线开头,那么在数据步骤结束时进行整理的工作量就会少一些,因为您可以使用:通配符一次性删除它们。e、 g
data example;
set sashelp.class;
_age = age;
_sex = sex;
drop _: ;
run;
使用下划线作为前缀是临时变量相当常见的命名约定。就SAS而言,x只是另一个变量,x没有任何特殊效果。但是,如果所有临时变量(并且只有这些变量)都以下划线开头,那么在数据步骤结束时进行整理的工作量就会少一些,因为您可以使用:通配符一次性删除它们。e、 g
data example;
set sashelp.class;
_age = age;
_sex = sex;
drop _: ;
run;
使用下划线作为前缀是临时变量相当常见的命名约定。就SAS而言,x只是另一个变量,x没有任何特殊效果。但是,如果所有临时变量(并且只有这些变量)都以下划线开头,那么在数据步骤结束时进行整理的工作量就会少一些,因为您可以使用:通配符一次性删除它们。e、 g
data example;
set sashelp.class;
_age = age;
_sex = sex;
drop _: ;
run;
使用下划线作为前缀是临时变量相当常见的命名约定。就SAS而言,x只是另一个变量,x没有任何特殊效果。但是,如果所有临时变量(并且只有这些变量)都以下划线开头,那么在数据步骤结束时进行整理的工作量就会少一些,因为您可以使用:通配符一次性删除它们。e、 g
data example;
set sashelp.class;
_age = age;
_sex = sex;
drop _: ;
run;