我有一些关于表格形式的流程质量的统计数据(结果>>所有案例的百分比)
# (df <- read.csv(...)
detection_quality_algo1_pupil <- table(df$pupeuclid1)
detection_quality_algo1_pupil_percent = round(
detection_quality_algo1_pupil[names(detection_quality_algo1_pupil)]
/ nrow(df)
* 100
, digits = 1)
0 - 16.4%
1 - 50.6%
2 - 12.0%
3 - 2.4%
等
> detection_quality_algo1_pupil_percent
0 1 2 3 4 5 10 11 12 13 16 17 20 21 22 23 24 25 27 29 30 31 32 33
16.4 50.6 12.0 2.4 0.5 0.6 0.9 0.6 0.3 0.1 0.3 0.1 0.1 0.1 0.1 0.3 0.3 0.1 0.1 0.3 0.1 0.3 0.1 0.1
37 40 43 45 50 53 54 55 56 59 102 104 106 107 112 114 131 132 134 136 138 139 141 142
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.4 0.1 0.3 0.1 0.1 0.3 0.1 0.1
145 149 150 151 152 153 154 155 156 157 158 160 161 164 166 167 168 169 170 171 173 175 187 191
0.3 0.6 0.1 0.3 0.1 0.5 0.3 0.1 0.1 0.4 0.1 0.1 0.4 0.1 0.1 0.3 0.3 0.3 0.1 0.3 0.1 0.1 0.1 0.1
194 208
0.1 0.1
> pie(detection_quality_algo1_pupil_percent)
我的目标是使用值&gt;对结果进行分组3成一个名为&#34;&gt;的大集团3&#34;并在饼图上显示结果。
我认为在源表上应用一些过滤器... 我怎么能这样做?
答案 0 :(得分:1)
尝试:
x <- rep(0:5,c(20,50,20,4,4,2))
pie(table(x)) # 3 small groups
pie(table(cut(x, c(-Inf,0:2,Inf),labels=0:3))) # 1 group representing the 3 small groups
而且,正如@sebpardo指出的那样,饼图非常糟糕。改为使用条形图:
barplot(table(cut(x, c(-Inf,0:2,Inf),labels=0:3)))
答案 1 :(得分:1)
您可以尝试使用mutate
向数据框添加新的“已折叠”列,例如
library(dplyr)
df <- mutate(df, new_group = ifelse(group > 3, ">3", group)
我同意@ sebpardo在上述评论中的建议,即可以比饼图更好地显示数据。甚至帮助页面都会建议他们(见?pie
):
“饼图是一种非常糟糕的信息显示方式。[...]”