kullanarak değişkenleri verimli şekilde yeniden adlandırmak için 100 değişken içeren bir SAS veri kümesi DATA
aldım. Ne yazık ki, bu veri kümesi her değişkenin adını içermiyor. Bu değişkeni VAR1
- Var100
olarak adlandırır. Her bir değişkenin adını Name
(hücre başına bir ad) olarak listeleyen ayrı bir dosyam var. Aşağıdaki kodu bir seçenek değil, tek tek yeniden adlandırmak istemiyorum.sas
data lib.test (rename = (var1= truename1 var2 = truename2 ...) ;
set lib.test;
run;
ardından dondurulması önerileri, aşağıdaki çözüm http://stackoverflow.com/questions/29006915/rename-variable-regardless-of-its-name-in-sas
uygulamaya çalışıyorum.
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;
Şimdi, bunun yerine a, b, c, d kullanarak ... benim değişkeni adlandırmak, ben yeni adları gibi veri kümesi Name
üzerine adı kullanmak istiyorum. Veri Kümesi Name
aşağıdaki gibi görünür (kullanımı daha kolaysa, bunu dönüştürebilirim). Name
sırası, lib.test
veri kümesindeki değişken dizi ile aynıdır. Bunu başarmak için yukarıdaki kodu nasıl değiştirebilirim?
Name
name1
anc
sjsjd
mdmd
Eski adı ve yeni adı sütunları olan bir veri kümesi oluşturun ve bunu yeniden adlandırma ifadesi adı çiftleri oluşturmak için kullanın. –