R dplyr:转换选定列后选择所有列

R dplyr:转换选定列后选择所有列,r,dplyr,R,Dplyr,我有一个tibble,只想对选定的列进行一些变异。在下面的示例中,所有包含单词“date”的列都将由一个函数(as.date())进行转换 在对所选列执行了一些转换之后,我希望从我的tibble df返回所有列 有没有办法做到这一点 df %>% select(contains('date')) %>% mutate_all(as.Date) %>% select(all) 谢谢我们可以使用mutate\u at而不是选择,然后mutate\u all。这将仅选择感兴趣的列并

我有一个tibble,只想对选定的列进行一些变异。在下面的示例中,所有包含单词“date”的列都将由一个函数(as.date())进行转换

在对所选列执行了一些转换之后,我希望从我的tibble df返回所有列

有没有办法做到这一点

df %>% select(contains('date')) %>% mutate_all(as.Date) %>% select(all)

谢谢

我们可以使用
mutate\u at
而不是
选择
,然后
mutate\u all
。这将仅选择感兴趣的列并修改这些列,同时保留其他列

library(dplyr)
df %>%
   mutate_at(vars(contains('date')), as.Date)

好的,如果我在包含单词“date”的列上有3个连续的转换,会怎么样?例如,在as.Date之后,我还想应用一些lubridate函数。@AfiqJohari您可以创建一个包含所有转换的函数并使用它,即
f1谢谢,我认为在我的上下文中不需要创建另一个函数。我将只在()处编写连续的mutate_。我认为它有助于提高可读性。@AfiqJohari这对可读性也很好。我总是在一个函数中传递它