我对SAS编程环境非常熟悉。我目前正在尝试学习用 R 编程。我发现使用 SAS 宏可以减少我编程中重复代码的数量。特别是,我发现使用宏变量调整数据集名称和变量名称的部分有用。但是,在 RI 中还没有找到可以复制这一点的东西。
例如,在 SAS 中,我可以编写一个简单的宏来在两个数据集上运行 proc 方法,如下所示:
%macro means(dataset_suffix = , var1_suffix= );
proc means data = data&dataset_suffix;
var var1&var1_suffix;
run;
%mend means;
%means(dataset_suffix = _suf1, var1_suffix = _suf2);
%means(dataset_suffix = _suf3, var1_suffix = _suf4);
运行此代码会执行宏两次,从而导致运行以下代码
proc means data = data_suf1;
var var_suf2;
run;
proc means data = data_suf3;
var var_suf4;
run;
我研究了 R 的用户定义函数以及使用列表。我知道 R 中没有与 proc 方法直接可比的过程。但是,我的问题的重点是如何使用宏变量来引用 R 中具有相似前缀但后缀不同的不同对象。我也考虑过使用粘贴功能。对此的任何帮助将不胜感激。