如何修改以下代码,只显示频率级别> 10%。在我的真实数据集中,分类变量有35个级别,为了更好的可视化,我没有将所有级别都带入绘图中。 2-如何管理绘图的大小,因为某些级别的频率非常高,有些级别非常低。 数据集来自汽车包装。
table_ <- ggplot(States, aes(region ,fill=region))
table_ <- table_ + geom_bar()
table_ <- table_ + theme(legend.position="none")
table_ <- table_ + coord_flip()
table_ <- table_ + geom_text(aes(y = (..count..),label = ifelse((..count..)==0,"",scales::percent((..count..)/sum(..count..)))),
stat="count",colour="black",vjust=1.0,size=4)
答案 0 :(得分:0)
您可以先在x轴上创建所需变量的levels
向量:
# Extract the factor levels with > 0.1 relative frequencies
levels <- names(which(summary(States$region)/sum(summary(States$region)) >0.1))
# If you just want for example the top ten variables (question 2)
levels <- names(sort(summary(States$region),decreasing=TRUE)[1:10])
然后您可以使用它定义limit
的{{1}}参数:
scale_x_discrete