数据挖掘:基于几个观察的最大标准的子集

时间:2017-02-16 13:14:23

标签: r subset

考虑示例数据

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,其中包含3个变量的8个字节。包含每个$Zip_code(每个A和B)的2个障碍,其中收入最高

我正在使用dplyr,但很高兴使用任何软件包(可能使用data.table

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

1 个答案:

答案 0 :(得分:1)

我们可以将slicewhich.max

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