首页 > 解决方案 > SAS:如何创建像 1,2,3,4,...,N 这样的变量

问题描述

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

先感谢您

标签: sas

解决方案


data want;
    set have;
    time_trend+1;
run;

SAS 是一种固有的循环语言。上面的代码做了四件事:

  1. 读取一行
  2. 将 1 加到一个名为time_trend
  3. 将行输出到名为want
  4. 阅读下一行并再次执行语句

SAS在编译时自动为我们初始化了变量time_trend,所以我们不需要声明长度或类型。SAS 默认假定它是一个数值变量。

该语句time_trend+1是以下逻辑的特殊快捷方式:

data want;
   set have;
   retain time_trend 0;

   time_trend = time_trend + 1;
run;

推荐阅读