Как включить строки в эксперименты dplyr mutate? - PullRequest
0 голосов
/ 07 июня 2019

Это результат, который я хотел бы получить
ddf = data.frame(a=1:5,b = 10:14) ddf %>% mutate(pr = a)

Однако мне бы хотелось иметь строковую переменную v = 'a', которая заменит 'a' в mutate.Что-то вроде: ddf %>% mutate(pr = v)

Вышеприведенное выражение не делает то, что я хочу, и мне интересно, будет ли работать что-то еще.

Единственный способ, которым я мог бы достичь этого, это

ddf = data.frame(a=1:5,b = 10:14)
v = 'a'
expr=paste0('ddf %>% mutate(pr = ',v,')')
eval(parse(text=expr))

Есть ли какой-нибудь "настоящий" способ сделать это?

1 Ответ

0 голосов
/ 07 июня 2019

Будет ли это работать?

ddf %>% mutate(pr = !!sym(v))

Это дает тот же ввод, который показан в вашем примере:

a  b pr
1 10  1
2 11  2
3 12  3
4 13  4
5 14  5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...