[英]Using “across” to change multiple columns in dplyr
我有 100 列都是数字的。 第一列是一个 ID 号,需要保持数字,我需要将其他列更改为因子。 我一直在尝试使用 function 中的新(ish) across
dplyr
执行此操作,但我无法成功地将 function 应用于除第一列之外的所有列。 根据我的阅读,我应该能够做到以下几点:
df %>% mutate(across(everything(!c(ID)), as.factor))
但这会产生错误:“不能对不存在的列进行子集化。位置 101、102 等不存在。” 我究竟做错了什么?
而不是everything
的否定( !
),我们只需要-
或@27 φ 9 提到的!
没有everything
也可以工作
library(dplyr)
df <- df %>%
mutate(across(-ID, factor))
如果多于一列,将其包裹在c
内
df <- df %>%
mutate(across(-c(ID, ID2), factor))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.