我有一個包含250多個變量的數據集。我創建了幾個需要放置在特定位置的新變量(即作爲第37個變量或第113個變量等),但它們被添加到列表的最後。SAS:重新排序很多變量
我研究了retain語句,但它需要我列出所需的所有變量。任何人都可以提出一個捷徑嗎?下面是一些代碼:
data &CRF._1 (drop= studyParticipantCode
formid
participantID
formStatusID
contactItemID
lastTab
phaseID
notCompleted
notCompletedReasonID
notCompletedReasonOther);
retain patid cycleID OwnerTypeID &Qn._MM -- &Qn._YYYY &Qn._MDY &Qn._INTERVIEWER -- &Qn._TIMEENDED &Qn._TIMETOTAL
&Qn._1 -- &Qn._12AYYYY &Qn._12MDY &Qn._13 -- &Qn._13AYYYY &Qn._13MDY &Qn._14 -- &Qn._14AYYYY &Qn._14MDY
&Qn._14b1 -- &Qn._15AYYYY &Qn._15aMDY &Qn._15B -- &Qn._15BYYYY &Qn._15bMDY &Qn._15C -- &Qn._15CYYYY &Qn._15cMDY
&Qn._15D -- &Qn._15DYYYY &Qn._15dMDY &Qn._16 -- &Qn._31A3YYYY &Qn._31aMDY &Qn._31A4A -- &Qn._31B3YYYY
&Qn._31bMDY &Qn._31B4A -- &Qn._31C3YYYY &Qn._31cMDY &Qn._31C4A -- &Qn._31D3YYYY &Qn._31dMDY &Qn._31D4A -- &Qn._31E3YYYY
&Qn._31eMDY &Qn._31E4A -- &Qn._31F3YYYY &Qn._31fMDY &Qn._31F4A -- &Qn._31G3YYYY &Qn._31gMDY &Qn._31G4A -- &Qn._31H3YYYY
&Qn._31hMDY &Qn._31H4A -- &Qn._31I3YYYY &Qn._31iMDY;
set &CRF.;
Site = substr(patid,6,4);
Sitecycle = strip(Site)||strip(put(&byvar.,5.));
%inc labels;
%inc formats;
我試過VARN - varM因爲有可能從兩者之間的3至20個變量,我不想打出來(因爲我會重複在任何地方這對於多個數據集)。這是我生產的錯誤:
ERROR: Variable Q11_MM cannot be found on the list of previously defined variables. ERROR: Variable Q11_INTERVIEWER cannot be found on the list of previously defined variables. ERROR: Variable Q11_1 cannot be found on the list of previously defined variables. etc...
任何幫助將不勝感激。
布蘭登
你在做什麼,具體的變量需要在一個特定的列號?似乎應該有比將列放在特定位置更好的路線。 – scott
我發現雖然 - 不起作用(正如答案中所解釋的那樣),單破折號 - 確實有效。當變量名稱足夠相似時,它可以節省您的時間,儘管我不確定數據集是否屬於這種情況。坦率地說,我不明白 - 和 - 之間的區別在哪裏。 – Vincent