首页 > 解决方案 > R:如何按比例值排序频率表?

问题描述

我有一张表格,列出了每个类在分类变量中所占的比例。它是按字母顺序排序的,我想按大小排序。

我试着把它做成一个数据框,然后按比例排列那个数据框。但是,它显示只有一列。

当我调用 names() 时,结果是

[1]“格式(prop.table(表(类别)),科学= F)”

cat_prop <- as.data.frame(format(prop.table(table(Category)), scientific = F))
arrange(cat.prop)

这让我得到了班级名单和他们的比例。我如何按价值安排?

标签: r

解决方案


似乎 sort 应该这样做。例如,

> vec <- c('a', 'a', 'b', 'c', 'c', 'c')
> prop.table(table(vec))
vec
        a         b         c 
0.3333333 0.1666667 0.5000000 
> sort(prop.table(table(vec)), decreasing = TRUE)
vec
        c         a         b 
0.5000000 0.3333333 0.1666667

仅供参考,将表格强制为数据框需要 as.data.frame.table(); as.dataframe() 可能不会按照您想要的方式运行


推荐阅读