In the R code of Mardia's test, what does the line " x1 = x[x[, p] == i, -p]" mean? Thanks a lot! function (x) { p = dim(x)[2] f = p - 1 clases = length(table(x[, p])) for (i in 1:clases) { x1 = x[x[, p] == i, -p] ndat = dim(x1)[1] mo3 = mo3(x1) mard1 = ndat * mo3/6 cat("Mardia's test for class", i, "\n") cat("mard1=", mard1, "\n") p1 = 1 - pchisq(mard1, df = f * (f + 1) * (f + 2)/6) cat("pvalue for m3=", p1, "\n") mo4 = mo4(x1) mard2 = (mo4 - f * (f + 2))/sqrt(8 * f * (f + 2)/ndat) cat("mard2=", mard2, "\n") p2 = 2 * (1 - pnorm(abs(mard2))) cat("p-value for m4=", p2, "\n") if (p1 < 0.05 || p2 < 0.05) cat("There is not statistical evidence for normality in class", i, "\n") else cat("There is statistical evidence for normality", "\n") } }
On 16 June 2007 at 16:50, Jiao Yang wrote: | In the R code of Mardia's test, what does the line " x1 = x[x[, p] == i, -p]" mean? Thanks a lot! Read it from the inside out: x[, p] == i find elements of column p in x that equal i the result is an vector of true/false x[x[, p] == i, which is used here to subset those rows in x x[x[, p] == i, -p] and the -p selects all column but the p-ths Hth, Dirk -- Hell, there are no rules here - we're trying to accomplish something. -- Thomas A. Edison
Possibly Parallel Threads
- Mardia's multivariate normality test
- [LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
- [LLVMdev] ARM thumb-2 instruction used for non-thumb2 CPUs
- bug found in predict.locfit in locfit package (PR#8057)
- bug found in predict.locfit in locfit package ( PR#8057)