I am trying to write a function to calculate chi-sq p value for certain variables. However, my function keeps error "Error in [.default(tbl, x, 1:2) : subscript out of bounds" and 1: Unknown or uninitialised column: var1.
I found the error was from data$var1, which cannot be found. How do I use this certain column when in a self defined function?
do_chisq_test=function(data,var1=character(),var2=character(),gender){
if(gender=="1"){
cat("this is fro male comparison")
return(sapply(1:levels, function(x)chisq.test(table(data$var1,data$var2)[x,1:2])$p.val))<br/>
}else{
tbl=table(data$var1,data$var2)
cat("this is for female comparison")
return(sapply(1:levels, function(x)chisq.test(tbl[x,3:4])$p.val))
}
}
do_chisq_test(table.dat,"edu_level_BL","group","1")