难以理解 SAS 中的“_n_”变量,以及它如何应用于连接函数
Posted
技术标签:
【中文标题】难以理解 SAS 中的“_n_”变量,以及它如何应用于连接函数【英文标题】:Difficulty understanding the "_n_" variable in SAS, and how it applies to a concatenate function 【发布时间】:2022-01-22 09:36:29 【问题描述】:我对 SAS 非常陌生,无论出于何种原因,我都很难理解这个代码块(如下)的作用。我用谷歌搜索并搜索***无济于事。如有任何意见,我将不胜感激,谢谢!
set dataset;
id=cat("L",_n_);
run;
【问题讨论】:
在这种用法中,将其视为行号的一种方法是,但它实际上表示数据步的循环数。在更复杂的数据步骤中,它们会有所不同,但在您的示例/用法中,行号是一个很好的类比。 【参考方案1】:可能还必须有一个data
声明。
data newdataset;
set dataset;
id = cat("L", _n_);
run;
以上代码从名为dataset
的现有数据集创建一个名为 newdataset
的新数据集。
同时创建一个名为id
的新列,id
是通过使用CAT
函数将常量字符值“L”与自动变量_n_
连接起来创建的。自动变量_n_
表示 DATA 步迭代的次数。
【讨论】:
是的,我错过了数据声明。那么对于结果列 id,所有值都是“L”吗?或者他们是否计数,例如如果数据集有 10 行,最后一行在 id 列中的值为 L10? @jschol30 运行代码并检查输出。 SAS 是免费的在线/云学习。以上是关于难以理解 SAS 中的“_n_”变量,以及它如何应用于连接函数的主要内容,如果未能解决你的问题,请参考以下文章