计算绝对距离/加权移动平均线。 Stata或R.

时间:2016-09-21 16:49:43

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

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

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

absolutedistance formula

“生病”可以经历不止一次,但为了简单起见,让我们专注于我们感兴趣的数据集,直到第一次“生病”(在第一次事件之后的障碍物将被“正确审查”)并从分析中删除;数据将使用生存/持续时间技术进行分析。)

现在,当我们考虑到某些受试者在同一年经历过这种事件(生病)时,情况变得更加复杂(我们将这些视为“关系”)。 “关系”有助于“之前患病的所有其他受试者的平均v1”与“这些关系的平均值v1”。例如,2000年有三名受试者患病。这些“关系”将导致“从2001年开始生病的所有其他受试者的平均v1”与2000年这三名受试者的平均v1相比。

我将很感激如何在Stata或R中计算出来。

对于效率低下,容易出错的手动解决方法来计算excel,请参阅我的帖子:excel workaround

1 个答案:

答案 0 :(得分:0)

你可能不想从动物园包中看到rollapply。 例如:

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