检查连续日期内的两个值是否相同

je

比方说,我有点像

df <- tribble(
  ~date,       ~place, ~wthr,
  #------------/-----/--------
  "2017-05-06","NY","sun",
  "2017-05-06","CA","cloud",
  "2017-05-07","NY","sun",
  "2017-05-07","CA","rain",
  "2017-05-08","NY","cloud",
  "2017-05-08","CA","rain",
  "2017-05-09","NY","cloud",
  "2017-05-09","CA",NA,
  "2017-05-10","NY","cloud",
  "2017-05-10","CA","rain"
)

我想检查特定日期特定日期的天气是否与昨天相同,并将布尔值列附加到df,以便

tribble(
  ~date,       ~place, ~wthr, ~same,
  #------------/-----/------/------
  "2017-05-06","NY","sun",    NA,
  "2017-05-06","CA","cloud",  NA, 
  "2017-05-07","NY","sun",    TRUE,
  "2017-05-07","CA","rain",   FALSE,
  "2017-05-08","NY","cloud",  FALSE,
  "2017-05-08","CA","rain",   TRUE,
  "2017-05-09","NY","cloud",  TRUE,
  "2017-05-09","CA", NA,      NA,
  "2017-05-10","NY","cloud",  TRUE,
  "2017-05-10","CA","rain",   NA
)

有什么好方法吗?

Ben

要获得逻辑列,请在按分组wthr后再使用前检查值是否等于row 我添加了日期以确保按时间顺序排列。lagplacearrange

library(dplyr)

df %>%
  arrange(date) %>%
  group_by(place) %>%
  mutate(same = wthr == lag(wthr, default = NA))

编辑:如果要确保日期是连续的(相隔1天),则可以添加一个,ifelse以查看date之间的差是否为1 lag(date)如果相隔1天不是一天,则可以将其编码为NA

注意:此外,请确保您的日期是Date

df$date <- as.Date(df$date)

df %>%
  arrange(date) %>%
  group_by(place) %>%
  mutate(same = ifelse(
    date - lag(date) == 1, 
    wthr == lag(wthr, default = NA),
    NA))

输出量

   date       place wthr  same 
   <chr>      <chr> <chr> <lgl>
 1 2017-05-06 NY    sun   NA   
 2 2017-05-06 CA    cloud NA   
 3 2017-05-07 NY    sun   TRUE 
 4 2017-05-07 CA    rain  FALSE
 5 2017-05-08 NY    cloud FALSE
 6 2017-05-08 CA    rain  TRUE 
 7 2017-05-09 NY    cloud TRUE 
 8 2017-05-09 CA    NA    NA   
 9 2017-05-10 NY    cloud TRUE 
10 2017-05-10 CA    rain  NA   

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查两个指标是否相同

来自分类Dev

检查列表的两个值是否具有相同的数字,返回多少相同

来自分类Dev

使用VBA检查日期是否在两个日期之间

来自分类Dev

检查日期是否在两个日期之间

来自分类Dev

Flutter:检查日期是否在两个日期之间

来自分类Dev

如何检查两个日期之间是否存在日期?

来自分类Dev

使用VBA检查日期是否在两个日期之间

来自分类Dev

检查两个文本框值是否在php中相同

来自分类Dev

如何在Lua中检查两个表(对象)是否具有相同的值

来自分类Dev

检查文本框中的两个值是否相同

来自分类Dev

如何从Android中的JSONArray检查两个值是否相同?

来自分类Dev

XQuery:如何检查两个属性是否具有相同的值?

来自分类Dev

Python列表检查两个最大值是否相同

来自分类Dev

在python中使用==检查两个对象是否具有相同的值

来自分类Dev

检查两个数组的值是否相同

来自分类Dev

如何检查两个单词的基数或词干是否相同?

来自分类Dev

Nunit:检查两个对象是否相同

来自分类Dev

如何检查两个[String:Any]是否相同?

来自分类Dev

检查两个列表是否具有相同的项目

来自分类Dev

Swift:检查两个NSDate是否相同

来自分类Dev

如何检查两个文件的内容是否相同

来自分类Dev

如何检查两个文件内容是否相同?

来自分类Dev

比较两个图像以检查它们是否相同

来自分类Dev

比较两个图像以检查它们是否相同

来自分类Dev

检查两个列表是否具有相同的元素

来自分类Dev

如何检查两个图像是否相同

来自分类Dev

检查两个列表在JUnit中是否相同

来自分类Dev

如何检查两个选择是否返回相同的ID

来自分类Dev

如何检查两个元组列表是否相同

Related 相关文章

热门标签

归档