Рассмотрим пример данныхданные добыча: Подмножество на основе максимальных критериев нескольких наблюдений
Zip_Code <- c(1,1,1,2,2,2,3,3,3,3,4,4)
Political_pref <- c('A','A','B','A','B','B','A','A','B','B','A','A')
income <- c(60,120,100,90,80,60,100,90,200,200,90,110)
df1 <- data.frame(Zip_Code, Political_pref, income)
Я хочу group_by
каждый $Zip_code
и получить максимальную $income
на основе каждого $Political_pref
фактора.
Желаемый результат - это df, который имеет 8obs из 3 переменных. Это содержит 2 набл для каждого $Zip_code
(в А и В для каждого), которые имели наибольший доход
Я играю с dplyr
, но рад за решение с использованием любого пакета (возможно, с data.table
)
library(dplyr)
df2 <- df1 %>%
group_by(Zip_Code) %>%
filter(....)
Вы можете сгруппировать по zip_code и политической прив и суммировать его с максимальной функцией? 'df%>% group_by (zip_code, polit_pref)%>% summary (m = max (доход))' –
'aggregate (доход ~ Zip_Code + Political_pref, df1, max)'? – Cath
также полезно: http://stackoverflow.com/questions/29657753/can-summarise-in-dplyr-not-drop-other-columns-in-my-data-frame – Cath