【发布时间】:2018-06-22 13:37:49
【问题描述】:
我正在尝试重构我的数据以重新编码变量(“事件”),以便确定事件之间的天数。本质上,我希望能够计算事件发生之间发生的天数重要的是,我只想在每个人发生第一个事件之后开始事件之间的“计数”。这是一个示例数据框:
Day = c(1:8,1:8)
Event = c(0,0,1,NA,0,0,1,0,0,1,NA,NA,0,1,0,1)
Person = c(1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2)
sample <- data.frame(Person,Day,Event);sample
我希望它以这样的方式结束:
NewEvent = c(NA,NA,0,1,2,3,0,1,NA,0,1,2,3,0,1,0)
sample2 <- sample <- data.frame(Person,Day,NewEvent);sample2
我是 R 新手,不熟悉循环或 if 语句,而且我找不到已经回答此类问题的线程,因此非常感谢任何帮助。谢谢!
【问题讨论】:
-
我很难理解这个问题。当您说计算事件之间发生的天数时,您的意思是在事件 0 和事件 1 和事件 NA 之间吗?另外,每个“人”是否代表一个人?如果是这样,你为什么不使用名字?
-
MKR 解决了我的问题。为了澄清我试图计算事件之间的天数(即当事件 = 1 时)。即使 Event 的值为 NA,计数也会继续。是的,“Person”指的是参与者 ID。
标签: r if-statement count