在R语言中查找频率表的列中的最大值

时间:2016-05-27 19:49:08

标签: r machine-learning

我创建了一个频率表(table(thing1, thing2)),我试图找到其中一列的最大值。这是我的代码:

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。有什么建议吗?

1 个答案:

答案 0 :(得分: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的主要原因之一!