[R] error using lapply with oneway_test (coin package)
Duncan Murdoch
murdoch at stats.uwo.ca
Thu May 7 14:08:42 CEST 2009
On 07/05/2009 6:11 AM, Matthieu Dubois wrote:
> Dear expeRts,
>
> I would like to use a oneway_test (from package coin) to test whether
> two groups differ on various variables. The variables are encoded
> within a data frame. Unfortunately, I obtained an error, that I don't
> understand. Could you please help me ?
>
> Example:
> library(coin)
> y <- as.data.frame(matrix(rnorm(200), ncol=2))
> group <- as.factor(unif(100))
>
> lapply(y, function(var) oneway_test(var ~ group))
>
> Error message is:
> (in French, my locale) Erreur dans eval(expr, envir, enclos) : objet
> 'var' introuvable
> (my personal translation in English) Error in eval(expr, envir,
> enclos) : object 'var' not found
That's a scoping problem, I think a bug in oneway_test. Because the
formula var ~ group is created with the anonymous function within
lapply, its environment should be the evaluation frame of that function
call and var should be visible. If I replace oneway_test() with lm() it
works.
I think a workaround is to construct the data argument explicitly, i.e.
lapply(y, function(var) oneway_test(var ~ group, data.frame(var=var,
group=group)))
I've cc'd Torsten Hothorn, the maintainer of coin.
Duncan Murdoch
>
> Thank you,
>
> Matthieu
>
> Matthieu Dubois
> Post-doctoral fellow
>
> Psychology and NeuroCognition Lab (CNRS UMR 5105)
> Université Pierre Mendès-France
> BP47 --- 38040 Grenoble Cedex 9 --- France
>
> Email: matthieu.dubois at upmf-grenoble.fr
> Gmail: matthdub at gmail.com
> http://web.upmf-grenoble.fr/LPNC/membre_matthieu_dubois
>
>
>
>
>
> [[alternative HTML version deleted]]
>
>
>
> ------------------------------------------------------------------------
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
More information about the R-help
mailing list