Как преобразовать SAS-дату в R-дату (или SAS-datetime в R-datetime) - PullRequest
0 голосов
/ 18 октября 2019

Кто-нибудь знает, как преобразовать sas-дату (01JAN1990) в r-дату (или из sas datetime в ar datetime?)

df <- data.frame(date1 = c("01JAN1990", "02AUG2010"), date2=c("24DEC2016:11:60:60","25DEC2017:12:00:00"))
df$date1 <- as.character(df$date1)
df$date2 <- as.character(df$date2)
df

Могу ли я использовать as.Date(df$date1, "%d%m%Y") с другим значениемдля m?


Редактировать: И почему я не могу нарезать часть даты переменной datetime date2 и применить% d% B% Y?

df <- data.frame(date1 = c("01JAN1990", "02AUG2010"), date2=c("24DEC2016:11:60:60","25DEC2017:12:00:00"))
df$date1 <- as.character(df$date1)
df$date2 <- as.character(df$date2)
df %>% mutate(date3 = substr(date2, 1, 9),
              date4 = as.Date(date3, "%d%B%Y")) %>% glimpse()

Что дает мне NA-значения (date4)

1 Ответ

0 голосов
/ 18 октября 2019

Если вы все еще получаете NA с, вот работа вокруг

library(lubridate)
df <- data.frame(date1 = c("01JAN1990", "02AUG2010"), date2=c("24DEC2016:11:60:60","25DEC2017:12:00:00"))
df$date1 <- as.character(df$date1)
df$date2 <- as.character(df$date2)
#Sys.setlocale("LC_TIME", "C")

df %>% mutate(date3 = substr(date2, 1, 9),
              date4 = format(dmy(date3), "%d%^b%Y")) %>% glimpse()
#Output 
# Observations: 2
# Variables: 4
# $ date1 <chr> "01JAN1990", "02AUG2010"
# $ date2 <chr> "24DEC2016:11:60:60", "25DEC2017:12:00:00"
# $ date3 <chr> "24DEC2016", "25DEC2017"
# $ date4 <chr> "24DEC2016", "25DEC2017"

Надеюсь, что это то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...