我想一次性将 mutate
函数应用于多个列。这些列以特定的字符开头,这就是它们的标识方式。我还想知道如何将其应用于由索引标记的列,例如 data_fake[3:4]
。目标是删除所有非数字字符并将值转换为数字。可惜我无法做到。所需结果在代码末尾给出。非常感谢。
data_fake <- data.frame(c("1","2","NA","3,","2","1 only"),c(1,2,3,4,5,6),
c("23","3 bundles","4","5","NA","1"), c("3","5 packs","6","78","7","8"))
colnames(data_fake) <- c("AB foo ab", "AB foo bc", "CD foo ab","CD foo bc")
data_fake <- as_tibble(data_fake)
data_fake %>%
select(starts_with("CD foo")) %>%
mutate(as.numeric(gsub("[^0-9]", "")))
data_fake_results <- as_tibble(data.frame(c("1","2","NA","3,","2","1 only"),c(1,2,3,4,5,6),
c(23,3,4,5,NA,1), c(3,5,6,78,7,8)))
?mutate_if
。你需要给gsub
三个参数,即pattern
、replacement
和x
,其中x
是要查找的字符串。 - Gregor Thomasdplyr
选择器。 - camille