Zaman biçiminde bir tarih sütunu içeren verileri okumak için readr
kullanıyorum. readr
'un col_types
seçeneğini kullanarak doğru şekilde okuyabilirim.Neden dplyr'in mutate() zaman biçimini değiştiriyor?
library(dplyr)
library(readr)
sample <- "time,id
2015-03-05 02:28:11,1674
2015-03-03 13:10:59,36749
2015-03-05 07:55:48,NA
2015-03-05 06:13:19,NA
"
mydf <- read_csv(sample, col_types="Ti")
mydf
time id
1 2015-03-05 02:28:11 1674
2 2015-03-03 13:10:59 36749
3 2015-03-05 07:55:48 NA
4 2015-03-05 06:13:19 NA
Bu güzel. Ancak, bu sütunu dplyr
ile değiştirmek istersem, zaman sütunu biçimini kaybeder.
mydf %>% mutate(time = ifelse(is.na(id), NA, time))
time id
1 1425522491 1674
2 1425388259 36749
3 NA NA
4 NA NA
Bu neden oluyor?
Bu sorunu daha önce karakter haline getirerek çalışabileceğimi biliyorum, ancak ileri geri dönüş yapmadan daha kullanışlı olur.
mydf %>% mutate(time = as.character(time)) %>%
mutate(time = ifelse(is.na(id), NA, time))