我想在一个变量(称为“absolutedistance”)中捕获一个给定主题(用var“id”标识;总共50个主题)之间的数字变量(称为“v1”)距离的绝对值给定年份(确定为var“持续时间”;总共13年)容易生病(体验“事件”,由依赖/结果二进制var捕获称为“病态”;当受试者体验事件时编码为1给定年份,否则为0)以及生病的所有受试者的“v1”值(之前经历过该事件的受试者)。
先前患病的受试者的价值是受试者在经历事件时(受试者生病的那一年)的“v1”值。生病时“v1”的值是加权移动平均值,其中最近生病的受试者具有与所有其他病人相同的体重。因此,对于数据集中的每一年,我希望使用以下公式计算每个健康受试者的距离(“绝对抗性”):
现在,当我们考虑到某些受试者在同一年经历过这种事件(生病)时,情况变得更加复杂(我们将这些视为“关系”)。 “关系”有助于“之前患病的所有其他受试者的平均v1”与“这些关系的平均值v1”。例如,2000年有三名受试者患病。这些“关系”将导致“从2001年开始生病的所有其他受试者的平均v1”与2000年这三名受试者的平均v1相比。
我将很感激如何在Stata或R中计算出来。
对于效率低下,容易出错的手动解决方法来计算excel,请参阅我的帖子:excel workaround
答案 0 :(得分:0)
你可能不想从动物园包中看到rollapply。 例如:
z <- 1:20
rollapply(z, 5, mean)