[R] dplyr instead of plyr: Help
Axel Urbiz
axel.urbiz at gmail.com
Mon Nov 2 13:18:11 CET 2015
Sorry, this is *related* to a recent post, but not the same. I'd
appreciate your help in getting the same results with the two methods below
(the first using plyr and the second using dplyr. The former works, but not
the latter.)
### Sample data
set.seed(4)
df <- data.frame(pred = rnorm(100), y = sample(c(0,1), 100, replace = TRUE),
models = gl(2, 50, 100, labels = c("model1", "model2")))
### using plyr
fooFun <- function(x) {
xcuts <- unique(x$pred)
x$bin <- cut(x$pred, breaks = xcuts, include.lowest = TRUE)
x <- dplyr::summarize(dplyr::group_by(x, bin), sumY = sum(y))
x
}
head(plyr::ddply(df, plyr::.(models), fooFun))
### Using dplyr
fooFun2 <- function(pred, y) {
xcuts <- unique(pred)
bin <- cut(pred, breaks = xcuts, include.lowest = TRUE)
dft <- data.frame(bin, pred, y)
dft <- dplyr::summarize(dplyr::group_by(dft, bin), sumY = sum(y))
dft
}
res_dplyr <- dplyr::mutate(dplyr::group_by(df, models), fooFun2(pred, y))
head(res_dplyr)
Thanks
Axel.
[[alternative HTML version deleted]]
More information about the R-help
mailing list