我目前在SAS腳本轉換爲R.工作,我是比較新的SAS,我有一個很難理解下面的語句 -SAS宏R%sysfunc
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_)));
這裏,日期,id等都是我當前數據集中的變量。我瞭解功能tranwrd用於用Character變量中的另一個值替換值。在這種情況下,它創造了新的項目 -
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或數據集來嘗試並檢查結果。任何對此的幫助都會很大。謝謝!
是。以下幾行有合併命令和** RETAIN VARS_L **語句。但是,這是什麼意思?創建了四個新的滯後列,但這些變量中的單元格值是多少? – RHelp
@RHelp:您確實需要發佈完整的SAS代碼(使用retain語句)。這取決於RETAIN變量初始化的值是什麼。以及代碼的後面部分如何進行分配。 – 2014-01-29 12:14:33