Я работаю с набором данных yelp. Имена переменных имеют вид «день.час». Таким образом, Fri.4 означает пятницу в 4:00, а Fri.22 означает пятницу в 22:00, а значение переменной - это количество отметок в это время.
Я хочу создать сюжет, в котором у меня 7 строк. Каждая линия представляет день недели, и каждая линия показывает тенденцию среднего чека по часам дня. Каждая линия соединяет 24 точки, а у меня 7 линий.
Любая помощь?
Я бы использовал dplyr, но не могу понять, как собрать вместе все переменные понедельника и переменные вторника и т. д., Потому что имена похожи на Tue.01, Tues.02 и т. д.… Как мне выполнять операции со строками?
Как отформатирован мой текущий набор данных: мой набор данных 1x168 (каждая переменная - это date.time)
Fri.0 114.35897
Sat.0 154.92308
Sun.0 153.96154
Wed.0 93.92308
Fri.1 124.29487
Sat.1 168.07692
Thu.1 105.96154
Wed.1 101.85897
Sat.2 175.00000
Sun.2 157.48718
Thu.2 105.97436
Wed.2 97.08974
Fri.3 108.46154
Sun.3 145.24359
я ничего не зарисовал .... я застрял, пытаясь сгруппировать все пятницы вместе и четверг вместе и так далее для каждого дня ...
Можете ли вы показать пример формата окончательного фрейма данных, который вам нужно построить? Я знаю, что с dplyr вы можете использовать group_by () `, чтобы получать данные по группам, или разбивать день на две колонки; первый содержит только день, а второй - время, что упростит group_by ()





Это можно сделать с помощью простого канала прямо в ggplot, нет необходимости в group_by по будням, ggplot2 эстетичный aes(colour = .) выполнит группировку.
library(dplyr)
library(stringr)
library(ggplot2)
dh %>%
mutate(Weekday = str_extract(day.hour, "^[[:alpha:]]{3}"),
Day = as.integer(str_extract(day.hour, "[[:digit:]]*$"))) %>%
ggplot(aes(x = Day, y = value, colour = Weekday)) +
geom_line()
Данные.
dh <- read.table(text = "
Fri.0 114.35897
Sat.0 154.92308
Sun.0 153.96154
Wed.0 93.92308
Fri.1 124.29487
Sat.1 168.07692
Thu.1 105.96154
Wed.1 101.85897
Sat.2 175.00000
Sun.2 157.48718
Thu.2 105.97436
Wed.2 97.08974
Fri.3 108.46154
Sun.3 145.24359
")
names(dh) <- c("day.hour", "value")
Пожалуйста, покажите свой графический код, чтобы люди могли помочь.