SAS:如何创建像1,2,3,4,…,N这样的变量

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在编译时为我们自

我需要为一门课程的回归模型引入一个时间趋势,但我不知道如何创建一个变量,它只是(1,2,3,4,…,108)。在R或Python中,我只需要创建一个0的空向量,然后循环使用循环索引填充它们,但我不知道如何在SAS中实现

先谢谢你

data want;
    set have;
    time_trend+1;
run;
SAS是一种固有的循环语言。上面的代码有四个功能:

  • 读一行
  • 将1添加到名为
    time\u trend
  • 将行输出到名为
    want
  • 读取下一行并再次执行语句
  • SAS在编译时为我们自动初始化变量
    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++<代码>。