2016-02-08 48 views
0

如何在使用top_n和dplyr時刪除表摘要中的0?dplyr top_n摘要刪除0

library(ggplot2) 
library(dplyr) 
data("diamonds") 
diamonds #set diamonds as data.frame 

manualTest = diamonds %>% 
    count(cut) %>% 
    top_n(3) 


table(manualTest$cut) 

結果

Fair  Good Very Good Premium  Ideal 
    0   0   1   1   1 

預期結果

Very Good Premium  Ideal 
    1   1   1 
+3

不知道這是關係到'top_n' ...好像'表(因素(manualTest $ cut))'或類似的東西應該做的。或者你可以做'count(cut = as.character(cut))'而不是'count(cut)',取決於你想要的類。 –

回答

0

如果你做一個str(manualTest)你會看到manualTest$cutfactor變量。所以解決辦法就是把它變成一個角色。三個選項

1)
manualTest = diamonds %>% 
count(cut) %>% mutate(cut = as.character(cut)) %>% 
top_n(3) 
2)
manualTest$cut <- as.character(manualTest$cut) 

然後運行table(manualTest$cut)

3)
table(as.character(manualTest$cut))