R- How to get top 2 Values in Column which is depending on other column?

时间:2016-08-30 04:46:10

标签: r dataframe aggregate

I have a data set of Zip code and house code.

 df = data.frame(zip = c(2900,2900,2900,3200,3100,3200),
                 house_code = c('abc','cde','efg','ghi','ijk','klm'))

I need to find top 2 zip code in terms of number of house_code?

2 个答案:

答案 0 :(得分:0)

我认为可能是:head(df[df$house_code == 'some value']$zip,2)其中'some value'是house_code条目。

答案 1 :(得分:0)

首先使用表格来匹配house_codezip_code s。

> dftable <- table(df)

      house_code
zip    abc cde efg ghi ijk klm
  2900   1   1   1   0   0   0
  3100   0   0   0   0   1   0
  3200   0   0   0   1   0   1

然后使用rowSums查找每个house_code的{​​{1}}个。

zip_code

最后使用order来找到前2名。

> numHouse <- rowSums(dftable)

2900 3100 3200 
   3    1    2