我有100列都是数字的。第一列是ID号,它需要保持为数字,我需要将其他列更改为factor。我一直在尝试使用dplyr中新的(Ish) across函数来完成此任务,但我无法成功地将该函数应用于除第一列之外的所有列。根据我所读到的内容,我应该能够做到以下几点:
df %>% mutate(across(everything(!c(ID)), as.factor))但这会产生错误:“无法子集不存在的列。位置101、102等不存在。”我做错了什么?
发布于 2020-12-17 07:12:45
我们只需要-,而不是everything中的negate (!),或者正如@27ϕ9提到的那样,!也可以在没有everything的情况下工作
library(dplyr)
df <- df %>%
mutate(across(-ID, factor))如果有多个列,则将其包装在c中
df <- df %>%
mutate(across(-c(ID, ID2), factor))https://stackoverflow.com/questions/65332327
复制相似问题