2017-02-16 49 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))