Подводя итог проблеме манипулирования данными, с которой я борюсь, в заголовок был жестким, но краткий пример очень хорошо это обобщает. У меня есть таблица данных связанных с авиакомпанией данных, с колонками для аэропортов происхождения и назначения. Мои данные выглядит следующим образом:R - dplyr, сгруппируйте, объедините 2 строки с колонками vals правильно, но смешайте
my_data = collect(filter(flightdata, TailNum == t_n) %>%
select(airport1=Origin,airport2=Dest,ActualElapsedTime) %>%
group_by(airport1,airport2) %>%
summarize(ActualElapsedTime = mean(ActualElapsedTime)))
my_data
airport1 airport2 ActualElapsedTime
<chr> <chr> <dbl>
1 HNL ITO 51.67416
2 HNL KOA 44.00937
3 HNL LIH 37.98526
4 HNL OGG 37.52542
5 ITO HNL 50.02260
6 ITO OGG 39.22222
7 KOA HNL 43.52518
8 KOA OGG 34.20370
9 LIH HNL 33.47679
10 LIH OGG 47.06522
11 OGG HNL 35.28550
12 OGG ITO 37.57143
13 OGG KOA 31.61364
14 OGG LIH 45.46667
Эта таблица была результатом group_by и обобщать я сделал, также, как показано выше. Однако, когда я делаю свою группу и суммирую, я хочу, чтобы она группировалась (HNL ITO) и (ITO HNL) вместе, в отличие от отдельных (строка 1 имеет (HNL, ITO), строка 5 имеет (ITO, HNL)), , Причина, по которой эти сгруппированные строки являются отдельными в моем выпуске, заключается в том, что row1 соответствует полетам из аэропорта HNL в аэропорт ITO, а row5 соответствует полетам от ITO до HNL. Моя результирующая структура данных будет сгруппирована в 7 групп, а затем не будет. 14.
Любые мысли об этом были бы весьма полезными. Я просто изучаю dplyr и%>% для трубопроводов, и они великолепны, и я тоже хотел бы получить это.
EDIT - я попытался изменить свою выберите строку
select(airport1=pmin(Origin,Dest),airport2=pmax(Origin,Dest),ActualElapsedTime)
, но он не работает ...
Это похоже на аналогичный вопрос: http://stackoverflow.com/questions/28992028/grouping-over-all-possible-combinations-of-several-variables-with-dplyr –
рассмотрит спасибо – Canovice
Я не группирую все комбинации трех переменных, как в этом сообщении. Я пытаюсь сказать dplyr «обрабатывать HNL ITO так же, как ITO HNL, даже если они находятся в разных столбцах». Я думаю, что лучший способ сделать это - правильно настроить аэропорт1 и аэропорт2, например, как я попытался в своем заявлении на выбор – Canovice