r - 计算 R 中分类变量的出现次数

标签 r count find-occurrences

我有一个由三个分类变量组成的数据框,我想找到每个组合的频率并按频率降序对结果进行排序,如下所示:

我的数据:

   A LEVEL1 PASS
   A LEVEL1 FAIL
   B LEVEL2 PASS
   A LEVEL1 PASS
   B LEVEL2 PASS
   A LEVEL1 PASS

结果应该如下:

   A LEVEL1 PASS 3
   B LEVEL2 PASS 2
   A LEVEL1 FAIL 1

我使用 plyr 库,

  myfreq<-count(myresult,vars = NULL, wt_var = NULL) 
  myfreq<-myfreq[order-myfreq$freq,] 
 

一开始,它是有效的,但后来它给我这个错误:

Error in grouped_df_impl(data, unname(vars), drop) : Column vars is unknown

我使用的其他库是 rJavadplyr

谢谢

最佳答案

我建议使用 dplyr,它包含在 tidyverse 包中。

我不知道你的数据框中的列的名称是什么,所以我将它们命名为 col1col2 和以下示例。

library(tidyverse)

df <- tribble(
  ~ col1, ~col2, ~col3,
  "A", "LEVEL1", "PASS",
  "A", "LEVEL1", "FAIL",
  "A", "LEVEL1", "PASS",
  "B", "LEVEL2", "PASS",
  "A", "LEVEL1", "PASS")

# here is where the magic happens
df %>% count(col1, col2, col3, sort = TRUE)

关于r - 计算 R 中分类变量的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47410095/

相关文章:

r - 如何使用apply函数计算两个矩阵之间的距离

R:从列表中删除空格

R:如何根据时间和日期查找计数

sql - 如何在 microsoft sql 查询中找到 "cross group"?

java - 查找字符串中多次出现的单词并存储各自的起始索引

java - 如何打印数组中出现的所有最大的两个整数?

r - 提取R中字符之间的数字

r - 编织 PDF 时如何去除垃圾代码

mysql - 按类型返回每个月的用户数

regex - Ansible:如何查找变量中出现的单词?