Невозможно разделить столбец даты и времени без его преобразования в символ - PullRequest
0 голосов
/ 23 января 2019
head(my_df)
# A tibble: 6 x 5

     ID Name               Type  Function   Date_time          
  <dbl> <chr>              <chr> <chr>      <dttm>       

1     1 Look Away          1v3   teg        1899-12-31 00:00:43
2     1 Bobsled Run        2v2   teg        1899-12-31 00:01:32
3     1 Give me a Break!   item  additional 1899-12-31 00:00:20
4     1 Shock Drop or Roll 3v1   teg        1899-12-31 00:00:23
5     1 Move to the Music  3v1   teg        1899-12-31 00:00:47
6     1 Bowl Over          3v1   teg        1899-12-31 00:00:41

Я пытаюсь разделить столбец Date_time на два столбца: Дата и Время.

Сначала я попытался разделить их, используя:

my_df %>% separate(“Date_time”, into = c("Date", "Time"), sep = " = ")

, но они превратились в символьные векторы, что означает, что я не могу добавлять / использовать содержимое.

Я посмотрел вокруг на переполнение стека и нашел это решение для извлечения времени, но он также преобразует новый столбец в символ.Вот код:

head(my_df)

# A tibble: 6 x 5
     ID Name               Type  Function   Date_time          
  <dbl> <chr>              <chr> <chr>      <dttm>             
1     1 Look Away          1v3   teg        1899-12-31 00:00:43
2     1 Bobsled Run        2v2   teg        1899-12-31 00:01:32
3     1 Give me a Break!   item  additional 1899-12-31 00:00:20
4     1 Shock Drop or Roll 3v1   teg        1899-12-31 00:00:23
5     1 Move to the Music  3v1   teg        1899-12-31 00:00:47
6     1 Bowl Over          3v1   teg        1899-12-31 00:00:41

> my_df$Time <- format(as.POSIXct(my_df$Date_time), format = "%H:%M:%S")
> head(my_df)
# A tibble: 6 x 6
    ID Name               Type  Function   Date_time           Time    
  <dbl> <chr>              <chr> <chr>      <dttm>              <chr>   
1     1 Look Away          1v3   teg        1899-12-31 00:00:43 00:00:43
2     1 Bobsled Run        2v2   teg        1899-12-31 00:01:32 00:01:32
3     1 Give me a Break!   item  additional 1899-12-31 00:00:20 00:00:20
4     1 Shock Drop or Roll 3v1   teg        1899-12-31 00:00:23 00:00:23
5     1 Move to the Music  3v1   teg        1899-12-31 00:00:47 00:00:47
6     1 Bowl Over          3v1   teg        1899-12-31 00:00:41 00:00:41

Как видите, новый столбец Time теперь является символьным вектором.Как мне сделать это, сохраняя при этом dttm (или, предпочтительно, просто объект времени)

Спасибо,

Джим

...