Hello, I've recently discovered the helpful dplyr package. I'm using the 'aggregate' function as such:
bevs <- data.frame(cbind(name = c("Bill", "Mary"), drink = c("coffee", "tea", "cocoa", "water"), cost = seq(1:8), sex = c("male","female"))); bevs$cost <- seq(1:8) > bevs name drink cost sex 1 Bill coffee 1 male 2 Mary tea 2 female 3 Bill cocoa 3 male 4 Mary water 4 female 5 Bill coffee 5 male 6 Mary tea 6 female 7 Bill cocoa 7 male 8 Mary water 8 female > > aggregate(cost ~ name + drink, data = bevs, sum) name drink cost 1 Bill cocoa 10 2 Bill coffee 6 3 Mary tea 8 4 Mary water 12 My issue is that I would like to keep a column for 'sex', for which there is a 1:1 mapping with 'name', such that every time 'Bill' appears, it is always 'male'. Does anyone know of a way to accomplish this, with or without dplyr? The ideal command(s) would produce this: name drink cost sex 1 Bill cocoa 10 male 2 Bill coffee 6 male 3 Mary tea 8 female 4 Mary water 12 female I would be thankful for any suggestion! Thanks, Jonathan [[alternative HTML version deleted]] ______________________________________________ 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.