Сюжет даты с регулярным интервалом в R - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь построить график в R. Ниже приведен фрагмент набора данных.

   DAY         B       C
2017-06-01   2946   197.5053
2017-06-02   5215   489.7401
2017-06-03   6305   740.6357
2017-06-04   6442   867.5795
2017-06-05   5758   1016.4603
2017-06-06   5037   1156.0188

График, который я пытаюсь разработать, представляет собой график зависимости ДЕНЬ (Ось X) от B ИЛИ C ..., как показано ниже.

plot(data$DAY, data$B, cex=0.5, xlab = "Date", ylab = "Revenue")

Переменные работают около 3 месяцев. У меня есть проблемы, представляющие интервалы по оси X, как я хочу. Что я хочу сделать, это: формат: день и месяц показа; интервалы: каждые 5 дней.

Трудно найти решение на базе R. Большинство рекомендаций указывают на какой-то сложный пакет и код, который трудно понять или применить. Кто-нибудь с простым решением?

Спасибо.

1 Ответ

0 голосов
/ 11 ноября 2018
library(tidyverse)

set.seed(2018-11-11)

data_frame(
  DAY = seq(as.Date("2017-06-01"), as.Date("2017-08-31"), "1 day"),
  B = sample(1000:6000, length(DAY)),
  C = abs(rnorm(length(DAY))) * 1000
) -> sample_data

ggplot(sample_data) +
  geom_point(aes(x = DAY, y = B), shape = 21) +
  scale_x_date(date_breaks = "5 days", date_labels = "%b\n%d") +
  labs(x = "Date", y = "Revenue") +
  theme_bw() +
  theme(panel.grid = element_blank())

enter image description here

Вы заявляете:

plot(data$DAY, data$B, cex=0.5, xlab = "Date", ylab = "Revenue")

проще. Я предоставлю вам по умолчанию график рассеяния, но теперь вы хотите сделать что-то, что потребует вызова дополнительных функций базового графика для настройки графика, чтобы вы не получили много бесплатно.

  • ggplot - это всего лишь _ две буквы than plot`
  • Вы можете указать фрейм данных один раз против постоянно $ ссылочных столбцов
  • plot по умолчанию имеет форму 21, но вам нужно использовать этот же параметр на базовых графиках, чтобы использовать разные формы, поэтому нет никакой разницы
  • geom_point() звучит довольно просто для меня
  • линия scale_x_date() мне кажется довольно простой
  • Тематика требует некоторого чтения и практики, как и все, что стоит
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...