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是一年甚至一年的专栏?的主要内容,如果未能解决你的问题,请参考以下文章

Python根据年月日,计算是一年的第几天

对过去一年的总结

判断某一天是一年的第几天

虹软的人脸识别是免费期限是一年的吗?

第13题输入某年某月某日,判断这一天是这一年的第几天?

SAS:用所有数据绘制预测数据