使用group_by时不支持的类型

时间:2018-08-21 03:37:15

标签: r group-by dplyr knitr attr

尝试编织降价商品时出现问题。当我运行以下代码时:

matchlist <- data.frame(LIST) %>%
             group_by(school) %>%
             filter(match_score == min(match_score))

我收到以下错误:

  

grouped_df_impl中的错误(数据,未命名(变量),删除):       列testscore的类型为NULL       调用:... group_by.data.frame->       grouped_df-> grouped_df_impl->呼叫

“ testscore”是数据帧LIST中的另一列,当我仅运行此块时就不会发生此错误。我注意到的另一件事是,当我运行上面的代码时,在匹配列表上附加了一堆“ attr”,并且匹配列表的类是

> class(matchlist)
  [1] "grouped_df" "tbl_df"     "tbl"        "data.frame"

不仅仅是“ data.frame”。

“ LIST”的简化结构是:

code    school    testscore    match_score
   1       aaa          aaa              0
   1       aaa          aba          0.211
   1       aaa          bba          0.544
   2       bbb          bvv          0.888
   2       bbb          bbd          0.015
   3       ccc          sss          0.899
   ...     ...          ...            ...

我使用testscore为每所学校配对,并进行了模糊匹配(匹配分数是最后一列)。我正在尝试为每所学校选择最佳分数(最低分数),因此我按学校名称将它们分组并尝试创建匹配列表。

希望您能帮助我解决此问题。


这是dput结果。

> dput(droplevels(head(LIST, 4)))
structure(list(code = c(102, 102, 102, 104), school = c("UNIVERSITY OF AAA", 
"UNIVERSITY OF AAA", "UNIVERSITY OF AAA", 
"BBB COLLEGE"), testscore = c("UNIVERSITY OF AAA", 
"UNIVERSITY OF SOUTH AAA", "AAA COLLEGE", 
"UNIVERSITY OF AAA SCHOOL"), match_score = c(0.0797101449275361, 
0.194990021076978, 0.366802437561176, 0.46046176046176)), .Names = c("code", 
"school", "testscore", "match_score"), row.names = c(NA, 4L), class = 
"data.frame")

0 个答案:

没有答案