Справочная информация:
Привет всем,
Я надеялся, что вы поможете мне перевести мое понимание и код на новый уровень. Я пытаюсь обдумать списки, их преимущества и использовать их для уменьшения избыточного кода. Столько, сколько я читаю о списках и применяемых семьях онлайн, я все еще не могу понять, как внедрить в мою повседневную работу.
Вот ситуация, в которой, я полагаю, можно значительно упростить этот тип кода, который я часто пишу, и который я хочу заменить на более сжатый формат.
Пример:
Давайте представим, что все данные mtcars
были за один год наблюдения - скажем, 2018. Давайте также представим, что у нас были данные, возвращающиеся ежегодно до 2000 года. Итак, теперь есть «18» mtcars data.frames со столбцом года, в котором указано год, и мы берем 18 наблюдений и связываем их в один ряд. Это пример типа данных, с которыми я сейчас работаю. Наблюдения разделены по годам.
data <- mtcars %>%
group_by(date) %>%
mutate(rank = dense_rank(desc(mpg))
))
Манипулирование данными, которое я хотел бы упростить:
Фильтрация: я хочу отфильтровать все для данного года по разным разрядам миль на галлон
данные%>%
фильтр (передача == 4, дата == '2005')%>%
фильтр (ранг% в% c (1: 5))
данные%>%
фильтр (передача == 4, дата == '2005')%>%
фильтр (ранг% в% c (6:10))
данные%>%
фильтр (передача == 4, дата == '2005')%>%
фильтр (рейтинг% в% c (11:15))
Как лучше всего упростить избыточный блок кода выше?
Например, я хотел бы использовать функцию seq
и сделать что-то вроде:
data %>%
filter(gear == 4, date == '2005') %>%
filter(rank %in% seq(1, 100, by = 5))
и сохраните результаты каждой группы рангов в список, а затем разместите все эти списки в ggplot.
Буду очень признателен за любую помощь или совет, я пытаюсь улучшить свою игру здесь.