0
我得到了一個包含100個變量的SAS數據集DATA
。不幸的是,這個數據集不包含每個變量的名稱。它只是將變量命名爲VAR1
- Var100
。我有一個單獨的文件,其中列出了每個變量的名稱Name
(每個單元一個名稱)。我不想重新命名它,所以下面的代碼不是一個選項。如何高效地使用sas重命名變量
data lib.test (rename = (var1= truename1 var2 = truename2 ...) ;
set lib.test;
run;
根據Reeze的建議,我嘗試實施以下解決方案http://stackoverflow.com/questions/29006915/rename-variable-regardless-of-its-name-in-sas
。現在
proc sql;
/* Write the individual rename assignments */
select strip(name) || " = " || substr("ABCDEFGHIJKLMNOPQRSTUVWXYZ", varnum , 1)
/* Store them in a macro variable and separate them by spaces */
into :vars separated by " "
/* Use a sas dictionary table to find metadata about the dataset */
from sashelp.vcolumn
where libname = "LIB"
and memname = "TEST"
and 1 <= varnum <= 100;
quit;
proc datasets lib=lib nolist nodetails;
modify test;
rename &vars.;
quit;
,而是採用A,B,C,d ...重命名我的變量,我想使用的名稱上的數據集Name
作爲新的名字。數據集Name
看起來像以下(如果它更容易使用,我可以轉置它)。 Name
的順序與數據集lib.test
中的可變順序相同。我怎樣才能改變上面的代碼來實現這一目標?
Name
name1
anc
sjsjd
mdmd
用列old-name和new-name創建一個數據集,並使用它來生成重命名語句名稱對。 –