R Studio error: `n()` must only be used inside dplyr verbs
R Studio error: `n()` must only be used inside dplyr verbs
install.packages(c("ggplot2", "ggpubr", "tidyverse", "broom", "AICcmodavg", "dplyr"))
library(ggplot2)
library(ggpubr)
library(tidyverse)
library(broom)
library(AICcmodavg)
library(dplyr)
my_data <- read.table(file = "clipboard",
sep = "\t", header=TRUE)
group_by(my_data, group) %>%
suppressWarnings(as.numeric(co2))
***dplyr::summarise (count = dplyr::n(), mean = dplyr::mean("CO2", na.rm = TRUE),sd = dplyr::sd("CO2", na.rm = TRUE))***
正在对我的论文中的一些数据进行单向方差分析测试,但最后一行(在 *** 上方标有 ***)不断返回以下错误代码:
错误:n()
只能在 dplyr 动词中使用。
可能出了什么问题?
感谢您提供的任何帮助!
诚然错误有点不透明,但我们可以像
一样简单地复制它
summarise(count = n())
由于您没有将前几行的结果通过管道传输到最后的 summarise()
,您的 summarise()
调用实际上被视为一个独立的函数,缺少 data
参数(summarise(mtcars, count = n())
工作正常)。
您可能正在寻找这样的管道(用 built-in 数据集 mtcars
进行说明):
library(tidyverse)
group_by(mtcars, cyl) %>%
mutate(across(mpg, as.numeric)) %>%
summarise(count = n(),
mean = mean(mpg, na.rm = TRUE),
sd = sd(mpg, na.rm = TRUE)
)
顺便说一句,如果您要进行方差分析,您可能不想先将数据折叠为汇总统计数据(除非有人让您手动进行计算); anova(lm(...))
更自然,您将 lm()
应用于 non-aggregated 数据。
install.packages(c("ggplot2", "ggpubr", "tidyverse", "broom", "AICcmodavg", "dplyr"))
library(ggplot2)
library(ggpubr)
library(tidyverse)
library(broom)
library(AICcmodavg)
library(dplyr)
my_data <- read.table(file = "clipboard",
sep = "\t", header=TRUE)
group_by(my_data, group) %>%
suppressWarnings(as.numeric(co2))
***dplyr::summarise (count = dplyr::n(), mean = dplyr::mean("CO2", na.rm = TRUE),sd = dplyr::sd("CO2", na.rm = TRUE))***
正在对我的论文中的一些数据进行单向方差分析测试,但最后一行(在 *** 上方标有 ***)不断返回以下错误代码:
错误:n()
只能在 dplyr 动词中使用。
可能出了什么问题? 感谢您提供的任何帮助!
诚然错误有点不透明,但我们可以像
一样简单地复制它summarise(count = n())
由于您没有将前几行的结果通过管道传输到最后的 summarise()
,您的 summarise()
调用实际上被视为一个独立的函数,缺少 data
参数(summarise(mtcars, count = n())
工作正常)。
您可能正在寻找这样的管道(用 built-in 数据集 mtcars
进行说明):
library(tidyverse)
group_by(mtcars, cyl) %>%
mutate(across(mpg, as.numeric)) %>%
summarise(count = n(),
mean = mean(mpg, na.rm = TRUE),
sd = sd(mpg, na.rm = TRUE)
)
顺便说一句,如果您要进行方差分析,您可能不想先将数据折叠为汇总统计数据(除非有人让您手动进行计算); anova(lm(...))
更自然,您将 lm()
应用于 non-aggregated 数据。