我有一个由三个分类变量组成的数据框,我想找到每个组合的频率并按频率降序对结果进行排序,如下所示:
我的数据:
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)
https://stackoverflow.com/questions/47410095/
相关文章:
msbuild - 使用 MSBuild 通过 VS2017 构建 SSDT 项目失败
bash - 在 bash 中有条件地将命令的输出定向到/dev/null
batch-file - 在没有出现超时消息的情况下在批处理文件中运行超时命令
reactjs - 文件上传不适用于按钮单击 Material -UI V1 ReactJs
php - Laravel paginate 无法在 querybuilder 上选择某些列
amazon-web-services - AWS GLUE 数据导入问题