I found the answer: md %>% group_by(device1, device2) %>% summarise_each(funs(mean(., na.rm = TRUE)))
On Thu, Jun 25, 2015 at 4:35 PM, Dimitri Liakhovitski <dimitri.liakhovit...@gmail.com> wrote: > Just want to clarify - I know how to do it using base R. I just want > to figure out how to do it in dplyr. This i what I want to achieve: > > myvars <- c("x","y","z") > aggregate(md[myvars], by = md[c("device1","device2")], mean, na.rm = T) > > Thank you! > > On Thu, Jun 25, 2015 at 4:25 PM, Dimitri Liakhovitski > <dimitri.liakhovit...@gmail.com> wrote: >> Hello! >> >> I have a data frame md: >> >> md <- data.frame(x = c(3,5,4,5,3,5), y = c(5,5,5,4,4,1), z = >> c(1,3,4,3,5,5), >> device1 = c("c","a","a","b","c","c"), device2 = >> c("B","A","A","A","B","B")) >> md[2,3] <- NA >> md[4,1] <- NA >> md >> >> I want to calculate means by device1 / device2 combinations using dplyr: >> >> library(dplyr) >> md %>% group_by(device1, device2) %>% summarise_each(funs(mean)) >> >> However, I am getting some NAs. I want the NAs to be ignored (na.rm = >> TRUE) - I tried, but the function doesn't want to accept this >> argument. >> Both these lines result in error: >> >> md %>% group_by(device1, device2) %>% summarise_each(funs(mean), >> na.rm = TRUE) >> md %>% group_by(device1, device2) %>% summarise_each(funs(mean, >> na.rm = TRUE)) >> >> Thank you for your advice! >> >> >> -- >> Dimitri Liakhovitski > > > > -- > Dimitri Liakhovitski -- Dimitri Liakhovitski ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.