bash
Copy code
data a
set a
seq = _N_
run
这将在数据集 a 中添加一个名为 seq 的新列,并为每行数据分配一个序列号。_N_系统变量代表数据集中的当前观察行号。
请注意,如果您希望在运行多个 data 步骤时保留观察行号,则必须使用 retain 语句。以下是一个带有 retain 语句的示例代码:
bash
Copy code
data a
retain seq 0
set a
seq + 1
run
此代码将在 a 中添加一个名为 seq 的新列,并为每行数据分配一个递增的序列号。在第一行,将使用 retain 语句将 seq 初始值设置为 0,并保留该值。在每一行,seq 将加 1,并将新值保留在下一行使用。
使用某一列很好办。 某一列其实就是一个变量,如果你只想保留这个一个变量的话:Data new
set old(keep=a)
run
至于如何使用某一行么,当时我也遇到过这个问题,我用了比较笨的办法,希望能够帮助到你。其实就是想办法将数据进行转置。这样使用某一行就变成了上述查询某一列的问题了。
proc transpose data=old out=new
run
当然直接保留某一行也是可以的
比如你只想选取第n个观察值
Data new
set old
if _N_=n
run
PS:上述代码中 new 为输出的数据集,old 为原始数据集, a 为你所需要的某一列的变量名称
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)