如何解决R的天数差异基于列值
我正尝试根据另一列的值计算单列中日期的差异。
这是我要寻找的结果
解决方法
尝试一下
library('dplyr')
df <- data.frame(id = c(1,2,3,1,3),Date = c('1/1/2020','1/3/2020','1/1/2020','1/7/2020','1/6/2020','1/5/2020'))
df %>% mutate(Date = as.Date(Date,format='%m/%d/%Y')) %>%
group_by(id) %>%
mutate(DIFF = Date - lag(Date))
,
这是使用dplyr
和lubridate
的一种方法(需要使日期相减时才起作用)。看来您想让计算确定ID中的组之间的日期与该ID的最早日期之间的天数。
library(dplyr)
library(lubridate)
df %>%
mutate(Date = dmy(Date)) %>%
group_by(ID) %>%
mutate(Diff = Date - min(Date))
如果您希望使用NA
而不是0,则可以执行以下操作:
df %>%
mutate(Date = dmy(Date)) %>%
group_by(ID) %>%
mutate(Diff = if_else(Date == min(Date),NA_integer_,Date - min(Date))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。