как я могу убрать минуты из часов в r? например, у меня 23:45, и я хочу иметь только 23, а НЕ 23:00, как я могу сделать это в r - PullRequest
0 голосов
/ 18 июня 2020

У меня большой набор данных с нашими 1000-ми перекодировками, и я хочу убрать минуты из часов. как я могу сделать это в r? Я только что запустил первые 6.

> finaldat<-cbind(data1.2,var3,var2,var1)
> head(finaldat)
        DATE  TIME                          PLACE ZONE TYPE.OF.CRIME WEEK day
1 2011/01/01 23:00 KIEPIES CLUB                   <NA> ARMED ROBBERY    1   1
2 2011/01/03 10:00 AUSSPANNPLATZ                    14 ARMED ROBBERY    1   3
3 2011/01/07 14:00 UNAM BUSHES                      16 ARMED ROBBERY    1   7
4 2011/01/08 21:34 TOTAL SERV. STATION, KHOMASDAL    9 ARMED ROBBERY    1   8
5 2011/01/15  <NA> WOODPALM STR 625                 11 ARMED ROBBERY    2  15
6 2011/01/03 14:03 C KANDOVAZU STR                   5   ASSAULT GBH    1   3
  month year
1     1 2011
2     1 2011
3     1 2011
4     1 2011
5     1 2011
6     1 2011

1 Ответ

1 голос
/ 18 июня 2020

Вы можете удалить все после двоеточия (:)

finaldat$HOUR <- sub(':.*', '', finaldat$TIME)

Например,

sub(':.*', '', '23:45')
#[1] "23"

Другой вариант - преобразовать в POSIXct и извлечь час.

finaldat$HOUR <- format(as.POSIXct(finaldat$TIME, format = "%H:%M"), "%H")

Вы можете добавить as.numeric / as.integer, чтобы преобразовать HOUR в число.

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