изменить формат времени и даты в R - PullRequest
0 голосов
/ 28 ноября 2018

Я работаю над данными в Твиттере, используя R, и у меня есть столбец для даты и времени, подобный этому «19.10.2008 23:00», «19.10.2008 23:01», «19.10.200823:02 "," 19.10.2008 19:45 ".Я хочу изменить формат на «без даты», а также на время без минуты, например, в любое время на 23 часа. Мне нужно, чтобы оно было на 23 только без минуты.
это пример столбца:

created
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:29
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 23:28
10/19/2018 15:32
10/19/2018 15:32
10/19/2018 15:32
10/19/2018 15:32
10/19/2018 15:32
10/19/2018 15:32
10/19/2018 15:32
10/19/2018 15:32

и мне нужно, чтобы это было так 15:00 23:00 16:00

надеюсь, вы понимаете меня, можете ли вы помочь мне сделать это и поблагодарить вас.

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018
x<-
c("10/19/2018 23:29", "10/19/2018 23:29", "10/19/2018 23:29", "10/19/2018 23:29")

paste0(unlist(regmatches(x, gregexpr("(?<=\\s)\\d{2}(?=:\\d{2})", x, perl = T))), ":00")

#[1] "23:00" "23:00" "23:00" "23:00"
0 голосов
/ 28 ноября 2018

Мы можем использовать sub

sub('.*\\s(.{2}).*', '\\1:00', df1$created)
#[1] "23:00" "23:00" "23:00" "23:00"

Или преобразовать в класс DateTime и затем извлечь компоненты с format

format(as.POSIXct(df1$created, format = "%m/%d/%Y %H:%M"), "%H:00")
#[1] "23:00" "23:00" "23:00" "23:00"

данными

df1 <- data.frame(created = c('10/19/2018 23:29',
  '10/19/2018 23:29', '10/19/2018 23:29', 
  '10/19/2018 23:29'), stringsAsFactors = FALSE)
...