我有tbl
data_frame(a_a = letters[1:10], a_b = letters[1:10], a = letters[1:10])
我正在尝试替换d
开头的所有a_
,其值为new value
。
我认为以下代码可以完成这项工作,但事实并非如此:
data_frame(a_a = letters[1:10], a_b = letters[1:10], a = letters[1:10]) %>%
mutate_each(vars(starts_with('a_'), funs(gsub('d', 'new value',.))))
而不是
错误:is.fun_list(calls)不为TRUE
答案 0 :(得分:1)
从this similar question引导并考虑dft
作为您的输入,您可以尝试:
dft %>%
dplyr::mutate_each(funs(replace(., . == "d", "nval")), matches("a_"))
给出:
## A tibble: 10 × 3
# a_a a_b a
# <chr> <chr> <chr>
#1 a a a
#2 b b b
#3 c c c
#4 nval nval d
#5 e e e
#6 f f f
#7 g g g
#8 h h h
#9 i i i
#10 j j j