[英]sas is the column an even year?
我目前有四年的收入流數據,收入流填充了一個4x4矩陣,如下所示:
Year1 Year2 Year3 Year4
2017 10 15 20 25
2018 10 15 20 25
2019 10 15 20 25
2020 10 15 20 25
收入流來自債務工具,其中的行指示發行債務的時間,而列指示每年的收入流量。
我正在嘗試建立另一個矩陣以突出顯示該年債務工具是否定價以創建此矩陣:
Year1 Year2 Year3 Year4
2017 1 0 0 0
2018 0 1 0 0
2019 0 0 1 0
2020 0 0 0 1
這是一個非常簡單的示例,為了簡化起見,它繼續研究了多久對工具重新定價一次,是否有一種方法可以創建一個if或where函數,該函數根據年份等於還是等於年返回1或0。在簽發文書的一定時間內。
到目前為止,我一直在思考
%Repricing = 1
data want;
set have;
if Year[i] <= &Repricing;
then Year[i]=1;
run;
很明顯,SAS不是我選擇的語言,TIA。
這是執行此操作的一種方法,但是我基本上將年份重命名為與數據的年份相匹配-這是文本中的邏輯,而不是數據中的邏輯。
*sample data;
data have;
input YearD Year2017 Year2018 Year2019 Year2020;
cards;
2017 10 15 20 25
2018 10 15 20 25
2019 10 15 20 25
2020 10 15 20 25
;
run;
data want;
set have;
*arrays for years and flags;
array _year(2017:2020) year2017-year2020;
array _flag(2017:2020) flag2017-flag2020;
*loop over array;
do i=2017 to hbound(_year);
/*check if year matches year in variable name*/
if put(yearD, 4.) = compress(vname(_year(i)),, 'kd')
then _flag(i)=1;
else _flag(i)=0;
end;
drop i;
run;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.