gpt4 book ai didi

r - 如何创建事件时间变量?

转载 作者:行者123 更新时间:2023-11-30 09:21:33 25 4
gpt4 key购买 nike

亲爱的大家:我正在考虑在 R 中创建一个“事件发生时间”变量,需要您的专业知识来完成它。下面您可以看到我的数据的一小部分样本。时间变量以年为单位,从 0 开始,并在 Event = 1 时自行重置。

在实际数据中,观察期从 1989 年开始,但有一些国家(1989 年之前未批准某些公约)较晚进入,例如下面示例中的美国。无论何时启动,“事件发生时间”变量的第一个值都应该为零。

感谢所有建议!

Country  year              Event      **Time-to-event**
USA 2000 0 0
USA 2001 0 1
USA 2002 1 2
USA 2003 0 0
USA 2004 0 1
USA 2005 0 2
USA 2006 1 3
USA 2007 0 0
USA 2008 1 1
USA 2009 0 0
USA 2010 0 1
USA 2011 0 2
USA 2012 0 3

最佳答案

我们可以使用ave

i1 <- with(df2, ave(Event, Country, FUN= 
function(x) cumsum(c(TRUE, diff(x)<0))))
df2$Time_to_event <- with(df2, ave(i1, i1, Country, FUN= seq_along)-1)

df2$Time_to_event
#[1] 0 1 2 0 1 2 3 0 1 0 1 2 3

关于r - 如何创建事件时间变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35393998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com