Временная метка на графике R

#r #ggplot2 #timestamp #data-visualization #histogram

#r #ggplot2 #временная метка #визуализация данных #гистограмма

Вопрос:

Данные временной метки находятся в chr следующим образом:

 posted_at: chr  "2012-01-29 19:48:33" "2012-02-02 15:53:13" "2012-10-24 17:11:40" "2014-07-12 17:00:00" ...
   [1] "2012-01-29 19:48:33" "2012-02-02 15:53:13" "2012-10-24 17:11:40" "2014-07-12 17:00:00" "2014-07-31 08:08:31"
   [6] "2014-07-31 10:48:25" "2014-08-06 09:24:38" "2015-06-16 15:55:28" "2015-06-16 19:56:28" "2015-06-25 17:20:29"
  [11] "2015-06-26 18:28:31" 
  

Я попытался преобразовать ее с помощью strptime() :

 tweet_text$posted_at <- strptime(trump_text$posted_at, "%Y-%m-%d %H:%M:%S")
  

Он преобразуется следующим образом:

 posted_at: POSIXlt, format: "2012-01-29 19:48:33" "2012-02-02 15:53:13" "2012-10-24 17:11:40" "2014-07-12 17:00:00" ...
   [1] "2012-01-29 19:48:33 AEDT" "2012-02-02 15:53:13 AEDT" "2012-10-24 17:11:40 AEDT" "2014-07-12 17:00:00 AEST"
   [5] "2014-07-31 08:08:31 AEST" "2014-07-31 10:48:25 AEST" "2014-08-06 09:24:38 AEST" "2015-06-16 15:55:28 AEST"
   [9] "2015-06-16 19:56:28 AEST" "2015-06-25 17:20:29 AEST" "2015-06-26 18:28:31 AEST" "2015-07-01 15:58:41 AEST"
  [13] "2015-07-01 18:05:15 AEST
  

Как мне использовать hist() для отображения этих данных временной метки на основе лет и количества и других различных комбинаций.

Комментарии:

1. Вы можете использовать barplot(table(format(trump_text$posted_at, '%Y')))

Ответ №1:

Мы можем взять количество частот с table помощью извлеченного «Года» из объекта Datetime и выполнить barplot или hist . Внешние пакеты не используются

 hist(as.numeric(format(trump_text$posted_at, '%Y')))
  

Используя воспроизводимый пример

 v1 <- as.POSIXlt(sample(seq(Sys.time(), length.out = 20, by = 'year'), 200, replace = TRUE))
hist(as.numeric(format(v1, '%Y')))
  

-вывод
введите описание изображения здесь


Или другой вариант table с barplot

 barplot(table(format(v1, '%Y')))
  

Или с помощью tidyverse

 library(dplyr)
library(lubridate)
library(ggplot2)
tibble(v1 = v1) %>%
     mutate(year = year(v1)) %>%
     ggplot(aes(year))  
     geom_histogram(stat = 'count')
  

-вывод

введите описание изображения здесь

Комментарии:

1. Я, в частности, ищу hist()

2. @EmmaVaze затем вы можете изменить barplot с помощью hist

Ответ №2:

POSIXlt в классе уже есть компонент year, который показывает количество лет с 1900 года. Вы можете добавить 1900 к году и использовать его в hist .

 hist(trump_text$posted_at$year   1900)
  

Используя ggplot2 , вы можете сделать :

 library(dplyr)
library(ggplot2)

trump_text %>%
  mutate(year = format(posted_at, '%Y')) %>%
  ggplot()   aes(year)   geom_histogram(stat = 'count')
  

введите описание изображения здесь

Вы можете настроить / обновить график на основе вашего выбора.

Комментарии:

1. Необходимо указать «разрывы» в hist(<POSIXt>) Я получаю эту ошибку из-за разрыва

2. Извините, это должно быть hist(trump_text$posted_at$year 1900) . Я обновил ответ.