Message-ID: <4A02CF4A.1040900@stats.uwo.ca>
Date: 2009-05-07T12:08:42Z
From: Duncan Murdoch
Subject: error using lapply with oneway_test (coin package)
In-Reply-To: <FCB5AE4A-E192-418A-A7AF-58CFD0E0EB2A@gmail.com>
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.