相关疑难解决方法(0)

R`Inf`当它有类'Date`时打印`NA`

请考虑以下示例:

structure(NA_real_, class = "Date")
## [1] NA
structure(Inf, class = "Date")
## [1] NA
is.na(structure(NA_real_, class = "Date"))
## [1] TRUE
is.na(structure(Inf, class = "Date"))
## [1] FALSE
Run Code Online (Sandbox Code Playgroud)

两者都打印为NA.这是预期的行为还是这个错误?看到NA一些不会返回的东西是非常烦人TRUEis.na().

r

15
推荐指数
1
解决办法
525
查看次数

使用dplyr :: group_by()查找具有NA的最小日期

我找到了一个组内的最小日期.很多时候,该组仅包括缺少日期(在这种情况下,我更喜欢NA分配的东西).

NA小号似乎正确分配,但他们没有回应is.na(),因为我期望的那样. 当单元格显示为时NA,is.na()输出意外为FALSE.

library(magrittr)
ds_visit <- tibble::tribble(
  ~subject_id,                   ~date,
           1L,  as.Date("2017-01-01" ),
           1L,  as.Date("2017-02-01" ), 

           2L,  as.Date(NA_character_),        
           2L,  as.Date("2017-01-02" ),

           3L,  as.Date(NA_character_),        
           3L,  as.Date(NA_character_),   

           4L,  as.Date(NA_character_),        
           4L,  as.Date(NA_character_)       
)

ds_subject <- ds_visit %>% 
  # as.data.frame() %>% 
  dplyr::group_by(subject_id) %>% 
  dplyr::mutate(
    date_na     = is.na(date),          # Works as expected
    date_min    = min(date, na.rm=T),   # Works as expected

    date_min_na = is.na(date_min)       # Does NOT work as expected.
  ) %>% 
  dplyr::ungroup() # %>% as.data.frame() 
Run Code Online (Sandbox Code Playgroud)

ds_visit …

r date na dplyr

5
推荐指数
1
解决办法
1176
查看次数

标签 统计

r ×2

date ×1

dplyr ×1

na ×1