我有類似於下面的簡化表中的數據集的「級別」的變量(姑且稱之爲「DS_have」):創建可算上其他變量
SurveyID Participant FavoriteColor FavoriteFood SurveyMonth
S101 G92 Blue Pizza Jan
S102 B34 Blue Cake Feb
S103 Z28 Green Cake Feb
S104 V11 Red Cake Feb
S105 P03 Yellow Pizza Mar
S106 A71 Red Pizza Mar
S107 C48 Green Cake Mar
S108 G92 Blue Cake Apr
...
我想創建一組數字變量,用於識別上述數據集中每個變量的離散類別/級別。結果應該像下面的數據集(「DS_want」):
SurveyID Participant FavoriteColor FavoriteFood SurveyMonth ColorLevels FoodLevels ParticipantLevels MonthLevels
S101 G92 Blue Pizza Jan 1 1 1 1
S102 B34 Blue Cake Feb 1 2 2 2
S103 Z28 Green Cake Feb 2 2 3 2
S104 V11 Red Cake Feb 3 2 4 2
S105 P03 Yellow Pizza Mar 4 1 5 3
S106 A71 Red Pizza Mar 3 1 6 3
S107 C48 Green Cake Mar 2 2 7 3
S108 G92 Blue Cake Apr 1 1 1 4
...
從本質上講,我想知道我應該在DS_Have用什麼語法生成唯一的數值爲每個變量的「級別」或類別數據集。請注意,我不能使用有條件的if/then語句在每個類別的「:Levels」變量中創建值,因爲某些變量的級別數量爲數千。
如果可以/我用'PROC IML'編輯與標記爲可能更容易比Base SAS ... – Joe