使用group_by并汇总时出现“错误:n()仅应在数据上下文中调用”

时间:2019-11-17 19:06:51

标签: r count grouping summarize

我有一个家庭作业问题:“针对每个年龄段,找到30天后再次入院的患者百分比,并在条形图中显示结果。”

我运行了以下代码,并收到“错误:n()仅应在数据上下文中调用”

cont_table_4<-diabetic_data%>%
  select(age, readmitted)%>%
  filter(readmitted==">30")%>%
  group_by(age)%>%
  summarize(count=n())%>%
  arrange(desc(count()))

我使用了几乎完全相同的格式来回答一个问题:“找出哪个子专业的再入院率最高。然后按种族打印该子专业的细分。”而且效果很好。我通过电子邮件向我的讲师发送了代码和错误的屏幕截图,她说问题出在count()函数调用上,即使错误涉及n()。我真的不知道该怎么办。我已经加载了dplyr和plyr,卸载了它们中的每一个,然后仅对其中之一进行了重试,并且得到了相同的错误消息。我已经查询了许多有关此错误的问答,但找不到我想要的东西。我是一名刚开始学习R的学生,感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

问题将是do.call(rbind,lapply(Tables_recent,function(x){x<-as.data.frame(x); if(length(x)>1)x})) 作为函数,而不是最后一行之前创建的'count'列

do.call(rbind,Filter(function(x)length(x)>1,lapply(Tables_recent,as.data.frame)))