首页 > 解决方案 > 使用 dplyr 库通过 R 管道运行代码时出错

问题描述

我正在研究一个数据集(奥运会),我想创建一个具有特定条件的 sub_dataset。为此,我正在使用 dplyr 库并且代码有效。问题是,如果我更改代码%>%以使其更具可读性,它就不再起作用了。我已经粘贴了下面的代码:

combination <- select(olympics, Sex, Season, Sport)

M_Summer <- combination %>%
  filter(Sex == "M", Season == "Summer") %>%
  mutate(Num_Sports = length(unique(M_Summer[["Sport"]]))) %>%
  select(-c(Sport))

如果我运行上面的代码,R 会显示以下错误消息:

Error in mutate_impl(.data, dots): Evaluation error: object 'M_Summer' not found.

谢谢您的帮助!

标签: rpipeline

解决方案


没有更多信息很难具体说明,但您正在尝试在制作数据框的函数中使用 M-Summer 数据框。最好的选择可能是将其拆分为两个命令;

M_Summer <- combination %>%
  filter(Sex == "M", Season == "Summer") 
M_Summer <- mutate(Num_Sports = length(unique(M_Summer[["Sport"]]))) %>%
  select(-c(Sport))

基本上,在实际创建数据框之前,您无法引用它。


推荐阅读