【发布时间】:2014-02-23 15:33:08
【问题描述】:
我喜欢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))
或者是否有其他更易于编程的界面?
【问题讨论】: