2016-05-27 5 views
0

Я создал частотную таблицу (table(thing1, thing2)), и я пытаюсь найти максимальное значение для одного из столбцов. Вот мой код:Поиск максимального значения в столбце таблицы частот в R-языке

apmData$bin <- as.factor(apmData$bin) 
apmBinTable <-table(apmData$bin, apmData$duration1) 
prop.table(apmBinTable, 1) 

Это часть моих данных (плохо к хорошему obvi):

bin id bad  good     
416082 0.010033445 0.989966555 
416084 0.017421603 0.982578397 
416085 0.023041475 0.976958525 
416086 0.019943020 0.980056980 
416087 0.005813953 0.994186047 
416093 0.017667845 0.982332155 
416095 0.015822785 0.984177215 

Вот моя проблема. Я не вижу способа получить максимальное значение для столбца «плохо». Технически «плохо» и «хорошо» не являются столбцами, потому что apmBinTable не является data.frame. Какие-либо предложения?

+0

max (apmData $ плохо?) – zach

ответ

0

Я бы переделал все это в dplyr.

library(dplyr) 

apmData %>% 
    group_by(bin) %>% 
    summarise(bad = sum(duration1 == 'bad')/n()*100, 
      good = sum(duration1 == 'good')/n()*100) %>% 
    arrange(desc(bad)) 

казус с использованием таблиц была одна из главных причин, почему я перешедших на dplyr!

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