Мне нравится dplyr
для обработки данных, но я не понимаю, как его использовать для программирования. Например, чтобы перемасштабировать некоторые переменные, мы могли бы сделать:Как использовать dplyr для программирования
mutate(cars, speed.scaled = scale(speed), dist.scaled = scale(dist))
Очень круто. Но теперь предположим, что я хочу написать функцию, которая использует mutate
для масштабирования всех переменных в фрейме данных. Как создать аргумент ...
? Лучшее, что я могу придумать, это что-то вроде:
fnargs <- lapply(names(cars), function(x){call("scale", as.name(x))})
names(fnargs) <- paste0(names(cars), ".scaled")
do.call(mutate, c(.data=as.name("cars"), fnargs))
Или есть альтернативный интерфейс, более дружественный к программированию?
См. Http://stackoverflow.com/questions/21295936/ – mnel
, мы доберемся туда: https://github.com/hadley/dplyr/issues/178 –