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.dub...@upmf-grenoble.fr
Gmail: matth...@gmail.com
http://web.upmf-grenoble.fr/LPNC/membre_matthieu_dubois
[[alternative HTML version deleted]]
------------------------------------------------------------------------
______________________________________________
R-help@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.
______________________________________________
R-help@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.