sas是一年甚至一年的专栏?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sas是一年甚至一年的专栏?相关的知识,希望对你有一定的参考价值。
我目前有四年收入来源的数据,收入流填充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;
以上是关于sas是一年甚至一年的专栏?的主要内容,如果未能解决你的问题,请参考以下文章