簡體   English   中英

如何計算 SAS 中的累積積?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM