[英]How to calculate cumulative product in SAS?
我需要創建一個變量,該變量采用所有先前值的值的乘積,並包括當前 obs 中的值。
data temp;
input time cond_prob;
datalines;
1 1
2 0.2
3 0.3
4 0.4
5 0.6
;
run;
最終數據應為:
1 1
2 0.2 (1*0.2)
3 0.06 (0.2* 0.3)
4 0.024 (0.06 * 0.4
5 0.0144 (0.024 *0.6)
這似乎是一個簡單的代碼,但我無法讓它工作。 我可以做累積總和,但使用相同邏輯時累積乘積不起作用。
使用保留功能。 對於第一條記錄,我將其設置為 1,因為任何乘以 1 的值都將保持不變。
data want;
set temp;
retain cum_product 1;
cum_product = cond_prob * cum_product;
run;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.