缺少参数“by”,没有默认值

Rya*_*uno 4 r ggplot2 dplyr

这是我的可重复示例和代码:

set.seed(42)
n <- 1000
dat <- data.frame(Confidence=1:5, 
                  Type = ("Your confidence"),
                  Correct=sample(0:1, n, replace=TRUE)
)

dat %>%
  group_by(Confidence,Type) %>%
  summarize(Accuracy = mean(Correct),
            se = (sd(Correct, na.rm = TRUE)/sqrt(n())))%>%
  ggplot(aes(x=Confidence, y= Accuracy, color = Type, group = Type)) +
  geom_line() + 
  geom_errorbar(aes(ymin = Accuracy - se, ymax = Accuracy + se), color = "Black", size = .15, width = .3) + 
  geom_point(size = 2)+ 
  scale_y_continuous(labels = scales::percent)+ 
  labs(y= "YOU ARE RIGHT ___% OF THE TIME.", x = "WHEN YOU ARE ___ % CONFIDENT IN YOUR ANSWER...")+
  theme_minimal() + 
  scale_color_brewer(palette = "Set1")
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我收到此错误:

Error in summarize(., Accuracy = mean(Correct), se = (sd(Correct, na.rm = TRUE)/sqrt(n()))) : 
  argument "by" is missing, with no default
Run Code Online (Sandbox Code Playgroud)

有人以前见过这个错误并知道如何修复它吗?谢谢你!

akr*_*run 7

summarize在多个包中找到,如果我们加载许多具有summarize(取决于加载包的顺序)的包,它可能会屏蔽该函数。例如错误似乎来自Hmisc::summarize

> dat %>%
+   group_by(Confidence,Type) %>%
+   Hmisc::summarize(Accuracy = mean(Correct),
+             se = (sd(Correct, na.rm = TRUE)/sqrt(n())))%>%
+   ggplot(aes(x=Confidence, y= Accuracy, color = Type, group = Type)) +
+   geom_line() + 
+   geom_errorbar(aes(ymin = Accuracy - se, ymax = Accuracy + se), color = "Black", size = .15, width = .3) + 
+   geom_point(size = 2)+ 
+   scale_y_continuous(labels = scales::percent)+ 
+   labs(y= "YOU ARE RIGHT ___% OF THE TIME.", x = "WHEN YOU ARE ___ % CONFIDENT IN YOUR ANSWER...")+
+   theme_minimal() + 
+   scale_color_brewer(palette = "Set1")
Error in Hmisc::summarize(., Accuracy = mean(Correct), se = (sd(Correct,  : 
  argument "by" is missing, with no default
Run Code Online (Sandbox Code Playgroud)

如果我们把它改成dplyr::summarize

dat %>%
  group_by(Confidence,Type) %>%
  dplyr::summarize(Accuracy = mean(Correct),
            se = (sd(Correct, na.rm = TRUE)/sqrt(n())))%>%
  ggplot(aes(x=Confidence, y= Accuracy, color = Type, group = Type)) +
  geom_line() + 
  geom_errorbar(aes(ymin = Accuracy - se, ymax = Accuracy + se), color = "Black", size = .15, width = .3) + 
  geom_point(size = 2)+ 
  scale_y_continuous(labels = scales::percent)+ 
  labs(y= "YOU ARE RIGHT ___% OF THE TIME.", x = "WHEN YOU ARE ___ % CONFIDENT IN YOUR ANSWER...")+
  theme_minimal() + 
  scale_color_brewer(palette = "Set1")
Run Code Online (Sandbox Code Playgroud)

-输出

在此输入图像描述