2015-05-25 2 views
1

У меня есть некоторые статистические данные о качестве процесса, представленной в виде таблицы (результат >>% всех случаев)R группировки значений в таблице данных для круговой диаграммы

# (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) 

enter image description here

моя цель группирование результатов со значением> 3 в одну большую группу, названную «> 3» и показать результаты на круговой диаграмме.

Я думаю, что это касается применения некоторых фильтров на исходной таблице ... Как я могу это сделать?

+2

http://darkhorseanalytics.com/blog /wp-content/uploads/2014/09/devourThePie3.gif – sebpardo

ответ

1

Try:

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 вместо:

barplot(table(cut(x, c(-Inf,0:2,Inf),labels=0:3))) 
1

Вы можете попробовать добавить новый столбец «разрушилась» к вашей dataframe с помощью mutate, например,

library(dplyr) 
df <- mutate(df, new_group = ifelse(group > 3, ">3", group) 

Я согласен с @ sebpardo-х внушениями в комментариях выше, что есть лучший способ визуализации данных, чем круговые диаграммы. Даже страница справки советует против них (см ?pie):

"Круговые диаграммы являются очень плохой способ отображения информации [...]"

Смежные вопросы