簡體   English   中英

為多個變量的所有條目計算過去條目的標准差

[英]Calculating standard deviations of past entries for all entries for multiple variables

我的數據集如下所示:

  date        var1      var2     var3
01/01/2000      20       .         .
02/01/2000      15       .         .
03/01/2000      3        .         .
    .           .        .         .
    .           .        .         .
    .           .        .         .
26/01/2023      3        .         .

我想生成變量來測量輸入前 90 天 window 變量的標准差。 例如,我想要一個變量,它告訴我在 2023 年 1 月 26 日之前的 90 天內,變量 1 的條目的標准差是 x。 我希望針對每個變量的每個觀察結果。 我不需要前 90 個條目的 sd。

此外,我有大量變量,因此我想foreach var in來執行此操作。 我將不勝感激任何意見。

無論您的日期是 Stata 每日日期(您需要)還是字符串還是帶有值標簽的整數,您的數據示例都含糊不清。

SSC 的rangestat可以做到這一點。 就它而言,您可以在命令行上指定所有您想要的。 循環不是執行此操作所必需的。

這是一個可重現的例子。

webuse grunfeld, clear

foreach v in invest mvalue kstock {
    rangestat (count) count_`v' = `v' (sd) sd_`v'=`v'  , int(year -5 -1) by(company)
}

在您的情況下,您顯然想要 -90 而不是 -5。 您可能不需要by(company)的類似物。

在實踐中也要求計數總是一個好主意。

這只是字面上的日期變量。 對於每日數據,您通常需要仔細考慮定義,尤其是在周末和節假日沒有值的情況下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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