As Peter said, the standard chi-square for a 2x2 table won't work for your data. However, if you tabulate the numbers first and then ask for the chi-square, you get a warning, not an error:

> contable <- array(c(42, 0,0,0), dim=c(2,2))
> chisq.test(contable)

Pearson's Chi-squared test with Yates' continuity correction

data:  contable
X-squared = Inf, df = 1, p-value = < 2.2e-16

Warning message:
Chi-squared approximation may be incorrect in: chisq.test(contable)
>

##### If you are willing to make stronger assumptions, then you can get a finite number for chi-square:

> chisq.test(as.vector(contable), p = rep(0.25, 4))

Chi-squared test for given probabilities

data:  as.vector(contable)
X-squared = 126, df = 3, p-value = < 2.2e-16

##### However, you have to be careful with this, because the following did NOT give me what I expected:

> chisq.test(contable, p = rep(0.25, 4))

Pearson's Chi-squared test with Yates' continuity correction

data:  contable
X-squared = Inf, df = 1, p-value = < 2.2e-16

Warning message:
Chi-squared approximation may be incorrect in: chisq.test(contable, p = rep(0.25, 4))
>
Hope this helps. spencer graves


Peter Dalgaard wrote:

Christoph Bier <[EMAIL PROTECTED]> writes:



Hi,

I use a little scriptı to make a chi-square-test on 162 factors (it
makes no difference if I take the numeric variant of the factors). At
factor nr. 4 is stops with an error:

[1] "v1= V7.KARTM v11= V7.KAR1M"
Error in chisq.test(d1, d2) : x and y must have at least 2 levels

But x and y /have/ two levels ("nein", "ja"):

> fbhint.spss1$V7.KARTM
 [1] nein nein nein nein nein nein nein nein nein nein nein nein nein
nein nein
[16] nein nein nein nein nein nein nein nein nein nein nein nein nein
nein nein
[31] nein nein nein nein nein nein nein nein nein nein nein nein nein
nein nein
[46] nein nein nein nein
Levels: nein ja

> fbhint.spss1$V7.KAR1M
 [1] nein nein nein nein nein nein nein nein nein nein nein nein nein
nein nein
[16] nein <NA> nein nein nein nein nein nein nein nein nein nein <NA>
nein <NA>
[31] nein nein nein nein nein nein nein nein nein nein nein nein <NA>
<NA> nein
[46] <NA> nein nein <NA>
Levels: nein ja

Or is there another meaning of 'levels' that doesn't correspond to the
one returned above?
Any hints what's going wrong/which mistake(s) I make?



Well, the error message might be slightly beside the point, but the issue would seem to be that there are no "ja"'s inside either vector. I.e. it first reduces each factor to those levels that are actually present, then checks whether there are at least two levels.

You can't do a chisquare test on a table that looks like this

     nein   ja
nein    42    0
 ja     0    0




______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to