r - R:如何按比例值排序频率表?
问题描述
我有一张表格,列出了每个类在分类变量中所占的比例。它是按字母顺序排序的,我想按大小排序。
我试着把它做成一个数据框,然后按比例排列那个数据框。但是,它显示只有一列。
当我调用 names() 时,结果是
[1]“格式(prop.table(表(类别)),科学= F)”
cat_prop <- as.data.frame(format(prop.table(table(Category)), scientific = F))
arrange(cat.prop)
这让我得到了班级名单和他们的比例。我如何按价值安排?
解决方案
似乎 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() 可能不会按照您想要的方式运行
推荐阅读
- delphi - 以与 SDI 模态窗体相同的方式闪烁窗口框架
- c# - 在使用统一的 ARKIT 中,如何将模型仅放置在一个特定方向上?
- twitter-bootstrap - 如何使用 Bootstrap 将按钮偏移对齐到表单的左侧或右侧
- c# - 在 Visual Studio 中删除应用程序文件
- javascript - ReactJS 中的条件 HOC
- python - 使用 PyTorch 的多标签、多类图像分类器 (ConvNet)
- jquery - 点击按钮切换iframe?
- garbage-collection - Kubernetes pod 在较长的 GC 周期中自动重启
- flutter - 在 Flutter 中为列和行分配权重
- php - 如何在for循环php中显示图像?