我有以下示例數據集,其中包含ID和6個月內的合同狀態(01/2017 - 06/2017)。SAS跨多個變量的比較值
實施例的數據:
ID Month1 Month2 Month3 Month4 Month5 Month6**
12 5 5 5 5 5 5
34 5 5 6 6 5 5
56 6 6 6 -7 -7 -7
78 6 6 5 5 5 5
12 5 5 5 5 6 -7
如果狀態爲5的ID是有效的,如果6它取消和-7是「不能夠重新激活」。
欲檢查兩個樣的變化:從狀態5更改爲6 2)的ID當狀態變化從5至6我希望有一個新的,其改變從6至5
1)的ID變量「churn」包含狀態更改爲6的月份。 對於第二組,我想要一個新變量「reactivation」,其中包含狀態更改爲5的月份。 如果兩個組中都有一個ID 5至6至5)兩個變量都應該填充。
我到目前爲止是一個數組,它顯示了一行中有多少狀態匹配,但我沒有得到下一步。這裏是代碼:
data want (drop= i j);
set have (obs=100);
array stat_check {*} month1-month6;
sum=0;
do i=1 to dim(stat_check)-1;
do j=i+1 to dim(stat_check);
sum=sum(sum,stat_check(i) eq stat_check(j));
end;
end;
run;
在此先感謝!
你到目前爲止嘗試過什麼?請將您的數據發佈爲文字而不是圖片,否則您會要求人們輸入數據並解決您的問題。 – Reeza
您需要爲6列聲明一個數組,當條件滿足時,使用'vname'函數獲取正確的變量名稱。正如Reeza所建議的那樣,如果你遇到困難,我會很樂意爲你提供進一步的幫助,但前提是你走得更遠。 –
感謝您的提示,這是我在這裏的第一篇文章,只是使用了截圖工具。我將數據行添加爲文本和目前爲止的代碼。 – Jayque86