R:如何按比例值排序频率表?

时间:2019-01-05 00:43:41

标签: r

我有一张表格,列出了每个类别在分类变量中所占的比例。它是按字母顺序排序的,我想按尺寸对其进行排序。

我试图使其成为一个数据框,然后按比例排列该数据框。但是,它显示只有一列。

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

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

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

这为我提供了班级列表及其比例。如何按值排列?

1 个答案:

答案 0 :(得分:1)

似乎应该进行排序。例如,

> 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()可能无法达到您想要的方式