2017-02-16 89 views
0

的最高标准子集,考虑例如数据数据挖掘:基于若干意见

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并根据每个$Political_pref因素获得最大$income

所需的输出是一个df,其中有8个变量。包含2个OBS针对有最大的收入

我玩dplyr每个$Zip_code(每一个A和B),但很高兴使用任何包装的解决方案(可能有data.table

library(dplyr) 
df2 <- df1 %>% 
    group_by(Zip_Code) %>% 
    filter(....) 
+0

您可以按ZIP_CODE和政治PREF,并与max函数总结呢? 'df%>%group_by(zip_code,political_pref)%>%summarize(m = max(income))' –

+1

'aggregate(income〜Zip_Code + Political_pref,df1,max)'? – Cath

+0

也很有用:http://stackoverflow.com/questions/29657753/can-summarise-in-dplyr-not-drop-other-columns-in-my-data-frame – Cath

回答

1

我们可以使用slicewhich.max

library(dplyr) 
df1 %>% 
    group_by(Zip_Code, Political_pref) %>% 
    slice(which.max(income))