#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)
. Я обновил ответ.