Регулярное выражение для имен переменных в R (переформатирование набора данных)

Я работаю с набором данных 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

Регулярное выражение для имен переменных в R (переформатирование набора данных)

Пожалуйста, покажите свой графический код, чтобы люди могли помочь.

Taher Ahmed Ghaleb 26.11.2018 01:47

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

user205660 26.11.2018 04:23

Можете ли вы показать пример формата окончательного фрейма данных, который вам нужно построить? Я знаю, что с dplyr вы можете использовать group_by () `, чтобы получать данные по группам, или разбивать день на две колонки; первый содержит только день, а второй - время, что упростит group_by ()

morgan121 26.11.2018 05:02
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
3
45
1

Ответы 1

Это можно сделать с помощью простого канала прямо в 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")

Другие вопросы по теме