【问题标题】:compute absolute distance/weighted moving average. Stata or R计算绝对距离/加权移动平均值。统计或 R
【发布时间】:2017-01-30 00:59:55
【问题描述】:

我想在一个变量(称为“absolutedistance”)中捕获给定主题(用 var “id”标识;总共 50 个主题)之间的数字变量(称为“v1”)的距离的绝对值给定年份(用变量“持续时间”标识;总共 13 年)容易生病(经历“事件”,由称为“生病”的依赖/结果二进制变量捕获;当受试者在给定年份,否则为 0)和所有生病的受试者(以前经历过该事件的受试者)的“v1”值。

之前生病的受试者的值是受试者在经历事件时(受试者生病的年份)的“v1”值。生病时“v1”的值是加权移动平均线,其中最近生病的受试者与所有其他生病受试者的体重相同。因此,对于数据集中的每一年,我希望使用以下公式计算每个健康受试者的距离(“绝对距离”):

absolutedistance formula

“生病”可以经历不止一次,但为了简单起见,让我们专注于我们感兴趣的数据集,其中我们对第一次“生病”之前的时间感兴趣(obs. after the first event will be “right censored”并从分析中删除;将使用生存/持续时间技术分析数据。

现在,当我们考虑到某些受试者在同一年经历了该事件(生病)时,事情变得更加复杂(让我们将这些定义为“关系”)。 “关系”有助于“之前生病的所有其他受试者的 v1 平均值”和“这些关系的 v1 平均值”。例如,三名受试者在 2000 年生病。这些“联系”将有助于从 2001 年开始“之前生病的所有其他受试者的 v1 平均值”以及 2000 年这三名受试者的平均 v1。

我会感谢 cmets 如何在 Stata 或 R 中计算它。

有关在 excel 中计算此值的低效且容易出错的手动解决方法,请参阅我的帖子:excel workaround

【问题讨论】:

标签: r stata moving-average panel-data weighted-average


【解决方案1】:

你可能不想从 zoo 包中查看 rollapply。 例如:

z <- 1:20
rollapply(z, 5, mean)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
  • 2021-11-24
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
  • 2015-02-02
相关资源
最近更新 更多