Hi everybody

I have a questionnaire with a lot of questions that allow for more than one
option to be chosen (like a tickbox in a html form). The data captured on a
mobile device and is supplied in a format where every option is a separate
variable (logical). I want to develop a generic function to process these
questions. As part of the analysis I want make a matrix of the p-value from
the Chi-sqaure test for all combinations of options for each question. I
tried to make a dataframe with all possible combinations and then use that
in a loop to get the p-values with chisq.test() . It works if I specify the
combination by hand but not in the loop. What am I doing wrong? (

I would appreciate any advice. Sample code below.
Thanks in advance
Christiaan

# Sample Code

# create test data

df=data.frame(x=sample(0:1,100,replace=TRUE),x.1=sample(0:1,100,replace=TRUE),
x.2=sample(0:1,100,replace=TRUE), x.3=sample(0:1,100,replace=TRUE))

# make a data frame of all possible combinations

grd=expand.grid(colnames(df),colnames(df))


# make vector of p values

pval <- for (i in 1: length(grd[,1])){

chisq.test(df[,paste(grd$Var1[[i]])], df[,paste(grd$Var2[[i]])], correct =
TRUE)$p.value

}

# It works if I do i=3 and then chisq.test(df[,paste(grd$Var1[[i]])],
df[,paste(grd$Var2[[i]])], correct = TRUE)$p.value  Why does this not work
in the loop?

______________________________
> sessionInfo()
R version 2.11.1 (2010-05-31)
x86_64-apple-darwin9.8.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] splines   stats     graphics  grDevices utils     datasets  methods
base

other attached packages:
[1] Hmisc_3.8-0     survival_2.35-8 prettyR_1.8-1

loaded via a namespace (and not attached):
[1] cluster_1.12.3 grid_2.11.1    lattice_0.18-8 tools_2.11.1

	[[alternative HTML version deleted]]

