Here's an example: We define a function to run a simple GLM in R.
RserveExample=: 3 : 0 rdcmd_rserve_ 'x<-c(1,2,3,4,5)' (1!:2) 2 rdcmd_rserve_ 'y<-c(8,21,31,38,50)' (1!:2) 2 rdcmd_rserve_ 'modelfit<-glm(y~x, family=gaussian(link=identity))' (1!:2) 2 if. y do. rdget_rserve_ 'capture.output(summary(modelfit))' (1!:2) 2 else. rdget_rserve_ 'capture.output(residuals(modelfit))' (1!:2) 2 end. ) If we run this with y=0 everything is fine. It prints each R command to screen (so we can copy and paste to R if it fails to run in J), and the result is a expected (here opened so as to look better in an email). >RserveExample 0 x<-c(1,2,3,4,5) y<-c(8,21,31,38,50) modelfit<-glm(y~x, family=gaussian(link=identity)) capture.output(residuals(modelfit)) 1 2 3 4 5 -1.4 1.5 1.4 -1.7 0.2 But if we run it with y=1, so as to execute summary(modelfit) in R, it fails: x<-c(1,2,3,4,5) y<-c(8,21,31,38,50) modelfit<-glm(y~x, family=gaussian(link=identity)) capture.output(summary(modelfit)) Status code: 127 If we copy and paste the lines to R, it works there: > x<-c(1,2,3,4,5) > y<-c(8,21,31,38,50) > modelfit<-glm(y~x, family=gaussian(link=identity)) > capture.output(summary(modelfit)) [1] "" [2] "Call:" [3] "glm(formula = y ~ x, family = gaussian(link = identity))" [4] "" [5] "Deviance Residuals: " [6] " 1 2 3 4 5 " [7] "-1.4 1.5 1.4 -1.7 0.2 " [8] "" [9] "Coefficients:" [10] " Estimate Std. Error t value Pr(>|t|) " [11] "(Intercept) -0.7000 1.8267 -0.383 0.727103 " [12] "x 10.1000 0.5508 18.338 0.000354 ***" [13] "---" [14] "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1" [15] "" [16] "(Dispersion parameter for gaussian family taken to be 3.033333)" [17] "" [18] " Null deviance: 1029.2 on 4 degrees of freedom" [19] "Residual deviance: 9.1 on 3 degrees of freedom" [20] "AIC: 23.184" [21] "" [22] "Number of Fisher Scoring iterations: 2" [23] "" > All the double quotes are because we used capture.output(), but they are not the problem. Nor is summary() the problem per se. It works fine with some objects: rdcmd_rserve_ 'y<-rnorm(8)' >rdget_rserve_ 'capture.output(summary(y))' Min. 1st Qu. Median Mean 3rd Qu. Max. -0.9317 -0.6148 -0.1200 -0.1164 0.2642 0.9486 So the problem seems to be with executing summary() on particular kinds of R objects. Hope this gives some insight! Thanks, Richard Vaughan ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
