<br><br><div><span class="gmail_quote">2007/4/26, Thomas Friedrichsmeier <<a href="mailto:thomas.friedrichsmeier@ruhr-uni-bochum.de">thomas.friedrichsmeier@ruhr-uni-bochum.de</a>>:</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>Another option would be to do something like the following (untested):<br><?<br>        // in calculate<br>        $yvars = "substitute (" . str_replace ("\n", "), substitute (", trim<br>
(getRK_val ("y"))) . ")";<br>?><br><br>yvars <- list (<? echo ($yvars); ?>)<br>res_tables <- list ()<br>res_names <- c ()<br>res_chisq <- list ()<br>for (i in 1:length (yvars)) {<br>
        yvar <- eval (yvars[[i]], envir=globalenv ())<br>        res_names[i] <- <a href="http://rk.get.short.name">rk.get.short.name</a> (yvars[[i]], is.substitute=TRUE)<br><br>        res_tables[i] <- table (x, yvar)
<br>        res_chisq[i] <- chisq.test (x, yvar)<br>}<br>names (res_tables) <- res_names<br><br><?<br>        // in printout<br>        for (i in 1:length (res_tables)) {<br>                # do the printing, and the barplots
<br>        }<br>?><br><br>The main benefit is that we have information on the names of the variables<br>available. On the other hand, this can probably be achieved nicely with<br>cbindlist as well (dimnames(y)[[2]]), I don't have the patience right now to
<br>think this through.<br><br>Another concept however, is that it logically separates calculating the<br>results from printing them, which is a good idea, either way (but can also be<br>achieved with cbindlist). Also, saving the results to the workspace would
<br>become real easy, now, as there is already one variable holding all the<br>results.</blockquote><div><br>If I get it right in this way we will print a bunch of tables, then a bunch of chisquares and then a bunch of barplots. Do we want this, or do we want as I have it for every crosstabulation to print the table, chisq and barplot? I would like to have a final decision on this before I go to any changes.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> I have two problems:<br>> 1. I get this error.<br>><br>> Error in table(x, y[, i]) : subscript out of bounds
<br>><br>> However the results are right. The hours are long right now and I can not<br>> think the reason.<br><br>length(y) returns the number of rows in the matrix, not the number of columns.<br>In your approach, you'd need dim(a)[2].
</blockquote><div><br>Thanks, I thought I was creating a data.frame.<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> 2.There
 are some more warnings printed.<br>><br>> Warning messages:<br>> 1: Chi-squared approximation may be incorrect in: chisq.test(xy)<br>[...]<br><br>> Should and how can we supress them?<br><br>Well, they do have a reason, so we should not suppress them. To make them go
<br>away, you could use the simulate.p.value option of chisq.test (should be<br>optional).<br><br></blockquote></div>I added an option for simulating of p.value.<br><br>Regards,<br>Ilias<br>