[R] Specifying parameters for use in "plyr" / "ddply"
dwinsemius at comcast.net
Wed Apr 7 17:54:50 CEST 2010
On Apr 7, 2010, at 11:41 AM, Peter Ehlers wrote:
> On 2010-04-07 8:37, Dimitri Liakhovitski wrote:
>> Dear R-ers!
>> # I have a data frame with one factor and 2 numeric variables:
>> # I want to divide each value of each variable by its group mean -
>> using plyr and ddply. It works fine, for example, for variable "a":
>> x2<-ddply(x, "group", transform, a = a / mean(a, na.rm = T))
>> # Because I want to do the same for both variables (a and b) I want
>> put it into a function.
>> # So, I am parametrising the grouping variable and the variable to
>> # However, my code below is not working - I know that x[[variable]]
>> not correct - but what is the right way of doing it?
>> x2<-ddply(x, grouping.factor, transform, x[[variable]] =
>> / mean(x[[variable]], na.rm = T))
>> Or is there a more effective way of using ddply on a bunch of
>> Thank you very much for your advise!
> Yes, there is: colwise()
> f <- function(x) x / mean(x, na.rm = TRUE)
> ddply(x, "group", colwise(f, c("a", "b")))
Which might also be productive strategy for yesterday's question (for
which we have yet to be offered reproducible data example, however):
David Winsemius, MD
West Hartford, CT
More information about the R-help