Skip to content

error using lapply with oneway_test (coin package)

3 messages · Matthieu Dubois, Duncan Murdoch, Torsten Hothorn

#
On 07/05/2009 6:11 AM, Matthieu Dubois wrote:
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
#
yes, that would be the fix:

R> lapply(y, function(var) oneway_test(var ~ group,
           data = data.frame(var = var, group = group)))
$V1

 	Asymptotic 2-Sample Permutation Test

data:  var by group (1, 2)
Z = -1.2054, p-value = 0.2280
alternative hypothesis: true mu is not equal to 0


$V2

 	Asymptotic 2-Sample Permutation Test

data:  var by group (1, 2)
Z = 0.5672, p-value = 0.5706
alternative hypothesis: true mu is not equal to 0

Thanks, Duncan.

Torsten