在r中使用group_by和summarise()时,为什么会出现“找不到对象”错误?

时间:2019-03-30 14:22:32

标签: r

我正在尝试通过使用group_by和summarise创建一个包含各州和各种族的枪击次数的数据框,但是即使我引用的列名仍然出现“找不到对象”错误,即使它们存在。

我已经尝试过重新启动会话,重新启动R,通过Googling搜索答案,查看YouTube上的相关视频(包括有关group_by和summarise的教程),以及在Stack Overflow上进行搜索,都找不到任何帮助。< / p>

我正在使用的RStudio版本是:1.1.463版

我编写的成功运行的代码是:

temp1 <- cleansed_data[, c("state", "race", "for_count")]

View(temp1)

产生错误的代码是:

temp2 <- temp1 %>% select(state, race, for_count) %>% group_by(state, race) %>% summarise(num_shootings = sum(for_count))

我看到的错误是:

Error in summarise(num_shootings = sum(for_count)) : 
  object 'for_count' not found

我希望得到一个3列的数据帧,其中包含状态,种族和num_shootings列,每行包含状态和种族每种组合的for_count值之和。

但是我只收到“找不到对象”错误。

我有用的其他信息是:

输出:

dput(head(temp1))

是:

结构(列表(状态= c(“ IL”,“ PA”,“ FL”,“ IL”,“ CA”,“ PA”),种族= c(“黑色”,“白色”,“白色“,” Latino“,”未知“,”白色“),for_count = c(1,1,1,1,1,1)),row.names = c(NA,6L),class =” data.frame “)

我已加载的库为:

tidyverse,运算符,dplyr,ggplot2,knitr

我正在尝试创建RMarkdown HTML文件。

此问题代码所在的完整RMarkdown文件在此处:

https://github.com/foxnic/US-Mass-Shootings-Analysis/blob/master/Shootings_html_version.Rmd

...根据:

## State & Race

2 个答案:

答案 0 :(得分:1)

来自Twitter上的@ mouli3c3:

  

我知道是什么引起了问题。不能清楚地解释为什么。   库(操作员)是如何掩盖/更改原始行为   %>%。在librarary(操作员)下面添加库(magrittr)解决了   问题。让我知道它是否有效。

成功了! :)

答案 1 :(得分:0)

仅加载tidyverse和knitr。 tidyverse将自动加载其他软件包dplyr,ggplot2和%>%运算符。