我喜欢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))
或者是否有更编程友好的替代界面?