我有一个由三个分类变量组成的数据框,我想找到每个组合的频率并按频率降序对结果进行排序,如下所示:
我的数据:
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
我使用的其他库是 rJava
和 dplyr
谢谢
最佳答案
我建议使用 dplyr
,它包含在 tidyverse
包中。
我不知道你的数据框中的列的名称是什么,所以我将它们命名为 col1
、col2
和以下示例。
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/