मैं डेटा में पढ़ने के लिए readr
का उपयोग करता हूं जिसमें समय प्रारूप में दिनांक कॉलम होता है। मैं इसे readr
के col_types
विकल्प का सही ढंग से उपयोग कर पढ़ सकता हूं।dplyr का उत्परिवर्तन() समय प्रारूप क्यों बदलता है?
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
यह अच्छा है। हालांकि, अगर मैं dplyr
के साथ इस कॉलम में हेरफेर करना चाहता हूं, तो समय कॉलम इसका प्रारूप खो देता है।
mydf %>% mutate(time = ifelse(is.na(id), NA, time))
time id
1 1425522491 1674
2 1425388259 36749
3 NA NA
4 NA NA
ऐसा क्यों हो रहा है?
मुझे पता है कि मैं इसे पहले चरित्र में बदलकर इस समस्या के आसपास काम कर सकता हूं, लेकिन यह आगे और पीछे बिना बदलाव के अधिक सुविधाजनक होगा।
mydf %>% mutate(time = as.character(time)) %>%
mutate(time = ifelse(is.na(id), NA, time))