Mam zestaw danych ze zmiennymi jako col1, col2, col3, ..., col15. Chcę zmienić ich nazwę na new1, new2, new3, ..., new 15. Mogę napisać 15 razy podobną zmianę nazwy col1 = new1; w SAS, ale jak mogę to osiągnąć za pomocą pętli? Dzięki.W SAS użyć pętli do zmiany nazwy indeksowanych kolumn?
Odpowiedz
Po pierwsze, nie jest jasne, czy mówimy o oświadczeniu rename
w proc datasets
lub w kroku danych. Jeśli nie musisz robić nic więcej w danych, powinieneś zdecydowanie użyć w tym celu plików danych proc, ponieważ w przeciwnym razie (w kroku danych) niepotrzebnie czytasz/zapisujesz każdy rekord w zestawie danych, aby zmienić nazwy zmiennych .
Jeśli są pomocą krok danych, wystarczy użyć
rename col1-col15=new1-new15;
Nie jestem pewien, czy można używać tego skrótu w zbiorach danych proc. Co prowadzi nas do twojego pytania z pętlą. Chyba że robisz to wiele razy lub dynamicznie, prawdopodobnie równie łatwo jest skopiować/wkleić kod 15 razy. Oto sposób, aby wygenerować oświadczenie chcesz umieścić ją w zmiennej makro i używać, makro zmienna w rachunku przemianowania:
data _null_;
length myVar $ 1000;
*myVar='';
do i=1 to 15;
myVar=catx(' ',myVar,' ',cats('col',i,'=','new',i));
end;
call symput('rename',myVar);
run;
%put &rename;
proc datasets library=mylibrary;
modify mydataset;
rename &rename;
run;
oto sposób to zrobić w przypadku, gdy zmienna nazwy pasują ładny , proste nazewnictwo wzór:
DATA out;
SET in;
ARRAY oldnames (15) col1-col15;
ARRAY newnames (15) new1-new15;
DO i = 1 TO 15;
newnames(i) = oldnames(i) ;
END;
RUN;
Lub, bardziej ogólnie:
DATA out;
SET in;
ARRAY oldnames (4) abc def ghi jkl ;
ARRAY newnames (4) mno pqr stu vwx ;
DO i = 1 TO 4;
newnames(i) = oldnames(i) ;
END;
RUN;
- 1. Jak pobrać wiele kolumn do użycia w pętli kursora?
- 2. Pythoniczny sposób na lagowanie datetime-indeksowanych kolumn
- 3. Lista tylko nazwy kolumn zestawu danych
- 4. Dynamiczne nazwy kolumn w data.table
- 5. Wprowadź nowe nazwy kolumn jako ciąg w funkcji zmiany nazwy dplyr
- 6. mysql, iteracja poprzez nazwy kolumn
- 7. Używanie lapply do zmiany nazw kolumn listy ramek danych
- 8. ddply zagregowane nazwy kolumn
- 9. Uzyskaj nazwy kolumn
- 10. Właściwości zmiany nazwy Json.net
- 11. Dlaczego w pętli for ... iterację nazwy funkcji
- 12. Migracja Laravel do zmiany nazwy tabeli
- 13. Jedna linijka do zmiany nazwy plików
- 14. Numpy genfromtxt Nazwy kolumn
- 15. Cassandra poprawne nazwy kolumn
- 16. Programowo dodawać nazwy kolumn do numpy ndarray
- 17. Stowarzyszenia zmiany nazwy szyn
- 18. Plik zmiany nazwy pliku JavaScript do pobrania
- 19. Android zmiany nazwy urządzenia do wifi-direct
- 20. INSERT do tabeli bez określania nazwy kolumn
- 21. pętli while wewnątrz wyzwalacza pętli wszystkich kolumn tabeli w SQL
- 22. Skrót do uruchomienia programu w SAS?
- 23. „Optymalizacja” dostęp do kursorów w Androidzie: Położenie vs nazwy kolumn
- 24. Jak użyć wyrażenia regularnego do dopasowania nazwy?
- 25. Jak dynamicznie wybierać nazwy kolumn w mySQL
- 26. dodać numer do wszystkich nieparzystych lub nawet indeksowanych elementów w tablicy numpy bez pętli
- 27. Otwieranie zestawów danych SAS do przeglądania z poziomu programu .sas
- 28. SAS mogę wykonać obserwacje procesowe sas do tyłu
- 29. Microsoft Interop: Nazwy kolumn Excel
- 30. Jak wyszukiwać nazwy kolumn w Vertica?
trzeba by dodać oświadczenie drop, w przeciwnym razie jesteś po prostu dodanie zmiennych new1-new15. –