R/tidyverse df %>% select(-c(var1, var2)) 返回错误

R/tidyverse df %>% select(-c(var1, var2)) returning error

奇怪地发现 运行 一个简单的 df%>%select(-c(var1, var2)) 返回错误。我以前从未遇到过这种情况,并且多次愉快地使用 select() 。所有包、R 本身和 RStudio 都是最新的。非常感谢任何帮助。

library(tidyverse)
library(gtsummary)
set.seed(42)
n <- 1000
dat <- data.frame(id=1:n,
                  age=sample(18:80, n, replace=TRUE),
                  sex = factor(sample(c('Male','Female'), n, rep=TRUE, prob=c(.6, .4))),
                  smoke=factor(sample(c("Never", 'Former', 'Current'), n, rep=TRUE, prob=c(.25, .6, .15))),
                  bmi=runif(n, min=16, max=45),
                  outcome1=rbinom(n = 200, size = 1, prob = 0.3),
                  outcome2=rbinom(n = 200, size = 1, prob = 0.13),
                  st=runif(n, min=24, max=60))
dat %>% select(-c(outcome2)) %>% tbl_summary(by=sex)

非常感谢, 桑德罗

正如@SamR 所说,您的 select() 可能来自另一个包裹。如果您 运行 以下代码,它应该可以工作:

library(tidyverse)
library(gtsummary)
set.seed(42)
n <- 1000
dat <- data.frame(id=1:n,
                  age=sample(18:80, n, replace=TRUE),
                  sex = factor(sample(c('Male','Female'), n, rep=TRUE, prob=c(.6, .4))),
                  smoke=factor(sample(c("Never", 'Former', 'Current'), n, rep=TRUE, prob=c(.25, .6, .15))),
                  bmi=runif(n, min=16, max=45),
                  outcome1=rbinom(n = 200, size = 1, prob = 0.3),
                  outcome2=rbinom(n = 200, size = 1, prob = 0.13),
                  st=runif(n, min=24, max=60))
dat %>% dplyr::select(-c(outcome2)) %>% tbl_summary(by=sex)

输出: