SAS:如何创建像1,2,3,4,…,N这样的变量
我需要为一门课程的回归模型引入一个时间趋势,但我不知道如何创建一个变量,它只是(1,2,3,4,…,108)。在R或Python中,我只需要创建一个0的空向量,然后循环使用循环索引填充它们,但我不知道如何在SAS中实现 先谢谢你SAS:如何创建像1,2,3,4,…,N这样的变量,sas,Sas,我需要为一门课程的回归模型引入一个时间趋势,但我不知道如何创建一个变量,它只是(1,2,3,4,…,108)。在R或Python中,我只需要创建一个0的空向量,然后循环使用循环索引填充它们,但我不知道如何在SAS中实现 先谢谢你 data want; set have; time_trend+1; run; SAS是一种固有的循环语言。上面的代码有四个功能: 读一行 将1添加到名为time\u trend 将行输出到名为want 读取下一行并再次执行语句 SAS在编译时为我们自
data want;
set have;
time_trend+1;
run;
SAS是一种固有的循环语言。上面的代码有四个功能:
time\u trend
want
time\u trend
,因此我们不需要声明长度或类型。SAS假定默认情况下它是一个数值变量
语句time\u trend+1
是以下逻辑的特殊快捷方式:
data want;
set have;
retain time_trend 0;
time_trend = time_trend + 1;
run;
实际上,模拟SUM语句的等效赋值语句将使用SUM()函数而不是simple+运算符。在这个具体的例子中没有任何区别,因为变量和增加的值都不会丢失。但在SUM语句的一般使用中,当它运行时,可能会丢失任何一个值,SUM()和+对丢失的值进行不同的操作。起初我非常怀疑,但这是有效的!我没有包括所有的细节,但我有一个数据读取,我只是写了t+1,它工作了。它与R和Python有点不同,但我正在慢慢掌握这个窍门。非常感谢你!伟大的这是SAS中一个独特的小快捷语句。如果您以前用C或C++编程,类似于在循环中说<代码> I++<代码>。