我想跨多个列应用一个函数,这些列的列名中包含特定的字符串.以下命令已停止工作.关于代码的问题有什么建议吗?
数据:
> df=data.frame(ab=1:5, ba=6:10, c=11:15, dc=16:20)
> df
ab ba c dc
1 1 6 11 16
2 2 7 12 17
3 3 8 13 18
4 4 9 14 19
5 5 10 15 20
try :
> df %>% dplyr::mutate_at(vars(contains("a"), contains("b")), funs(sqrt(.)))
Error: `.vars` must be a character/numeric vector or a `vars()` object, not a `data.frame` object.
Backtrace:
9. dplyr::mutate_at(., vars(contains("a"), contains("b")), funs(sqrt(.)))
10. dplyr:::manip_at(...)
11. dplyr:::tbl_at_syms(.tbl, .vars, .include_group_vars = .include_group_vars)
12. dplyr:::tbl_at_vars(tbl, vars, .include_group_vars = .include_group_vars)
13. dplyr:::bad_args(...)
14. dplyr:::glubort(fmt_args(args), ..., .envir = .envir)