В настоящее время я работаю над преобразованием сценария SAS в R. Поскольку я относительно новичок в SAS, мне трудно понять следующее утверждение:
VARS=date id sales units
/* create lag event variable names to be used in the RETAIN statement */
%let vars_l = lag_%sysfunc(tranwrd(&vars,%str( ),%str( lag_)));
Здесь дата, идентификатор и т. Д. - все переменные, присутствующие в моем текущем наборе данных. Я понимаю, что функция tranwrd используется для замены значения другим значением в символьной переменной. В этом случае он создает новые элементы как -
vars_l = lag_date lag_id lag_sales lag_units
Я прав? Что такое vars_l? Это список? Или эти переменные добавлены в мой набор данных? Также для чего в приведенном ниже коде используется задержка перед % sysfunc?
%let vars_l = lag_%sysfunc(tranwrd(&vars,%str( ),%str( lag_)));
Запаздывающие переменные создаются вообще или создаются только переменные без значений с префиксом lag_?
У меня нет доступа к SAS или наборам данных, чтобы попытаться проверить результат. Любая помощь по этому поводу была бы замечательной. Спасибо!