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
?
答案 0 :(得分:0)
我认为可能是:head(df[df$house_code == 'some value']$zip,2)
其中'some value'是house_code条目。
答案 1 :(得分:0)
首先使用表格来匹配house_code
和zip_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