我想创造:
1.根据随机事件发生的前一次,变量的前一次的滞后(例如,事件之间没有固定的天数,因此dqr::lag()函数本身不起作用
1.能够提取与最近两三次发生这种情况相关的变量,并取这些变量的平均值
下面是使用mtcars包的示例数据集
将上面的请求转换为下面的示例框架,
1.我想在一个新的列带来的mpg值,这是最后一次与先前的随机事件在当前的随机事件(如滞后mpg,但只采取从以前的时间随机事件指标发生)-对于其他天,这不是一个随机事件把0
1.在一天中,随机事件发生查看最近两次随机事件发生,并获取这些先前随机事件的mpg值,并返回当前随机事件位置的mpg平均值。
library(tidyverse)
set.seed(123)
rows <- sample(1:nrow(mtcars),4,)
df <- mtcars %>%
mutate(
event_id=row_number()
,random_event=if_else(event_id %in% rows,1,0)
)
``
字符串
1条答案
按热度按时间j2datikz1#
实际上你可以使用
lag
函数来解决你的问题,你只需要配置order_by
参数。注意,如果发生随机事件,我只是将变量random_event
改为1
,否则改为NA
,以摆脱初始值没有先前值的问题。问题一
字符串
问题二
型
实际上,
order_by = random_event
参数在内部根据随机事件的发生来排列你的随机帧,这样lag
函数就可以得到所需的正确值。