我喜欢dplyr
数据操作,但我不明白如何使用它进行编程.例如,要重新调整某些变量,我们可以:
mutate(cars, speed.scaled = scale(speed), dist.scaled = scale(dist))
Run Code Online (Sandbox Code Playgroud)
很酷.但现在假设我想编写一个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))
Run Code Online (Sandbox Code Playgroud)
或者是否有一个更加编程友好的替代界面?