【发布时间】:2020-12-09 12:23:21
【问题描述】:
我正在尝试保留原始数据,但仅计算某些文本行的延迟。我试过过滤,但它遗漏了数据。此外,滞后似乎并没有真正考虑到 dt..
你怎么看?
library (tidyverse)
df2<- nycflights13::weather
df2 <- df2 %>% mutate (dt= as.Date(time_hour)) %>% add_count(origin,dt)
df2 <- df2 %>% mutate(lag_ewr1=lag(n,1))
【问题讨论】:
-
lag 有一个名为“order_by”的附加参数,您可以使用它来确保它按正确的变量排序。从您的问题中我不清楚您想要滞后哪些行以及您不想滞后哪些行。
-
您想为每个日期创建一个滞后列吗?
df2 %>% group_by(dt) %>% mutate(lag_ewr1=lag(n,1))? -
谢谢。我想按 dt 分组,但只得到 EWR 机场的滞后,其他机场应该是空白的。像这样但保留所有行
df2 <- df2 %>% group_by(dt) %>% filter(origin=="EWR") %>% mutate(lag_ewr1=lag(n,1)) -
@RonakShah 请注意,在您的解决方案中,滞后不准确,它仅指每个 dt 中的第一行,例如 2013 年 1 月 1 日除第 17 行之外的所有行,什么时候应该是 NA
-
您的原始帖子中未提及“EWR”机场条件,因此我们无法知道您只想
lag那个机场。然而,这应该在我下面的回答中处理。
标签: r