This has nothing to do with RSPerl, instead it has to do what kind of 
object you obtain and how these are print():ed. Typing the name of an 
object, say, 'res', at R prompt and pressing ENTER;

 > res

is equivalent as typing

 > print(res)

This is for convenience to the user.  Basically, this is why you can do

 > 1+1
[1] 2

without having to do

 > print(1+1)
[1] 2

When you "transfer" the object from R to Perl you will, as expect, only 
receive the value of 'res', not the output from 'print(res)'. Here is an 
example illustrating the behavior in R:

 > res <- t.test(1:10,y=c(7:20))
 > length(res)
[1] 9
 > str(res)
List of 9
  $ statistic  : Named num -5.43
   ..- attr(*, "names")= chr "t"
  $ parameter  : Named num 22
   ..- attr(*, "names")= chr "df"
  $ p.value    : num 1.86e-05
  $ conf.int   : atomic [1:2] -11.05  -4.95
   ..- attr(*, "conf.level")= num 0.95
  $ estimate   : Named num [1:2] 5.5 13.5
   ..- attr(*, "names")= chr [1:2] "mean of x" "mean of y"
  $ null.value : Named num 0
   ..- attr(*, "names")= chr "difference in means"
  $ alternative: chr "two.sided"
  $ method     : chr "Welch Two Sample t-test"
  $ data.name  : chr "1:10 and c(7:20)"
  - attr(*, "class")= chr "htest"
 > print(res)

         Welch Two Sample t-test

data:  1:10 and c(7:20)
t = -5.4349, df = 21.982, p-value = 1.855e-05
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
  -11.052802  -4.947198
sample estimates:
mean of x mean of y
       5.5      13.5

In your case, to capture what print(res) is outputting, you may want to 
look at ?capture.out, that is

 > output <- capture.output(res)
 > output  # ...that is, print(output)
  [1] ""
  [2] "\tWelch Two Sample t-test"
  [3] ""
  [4] "data:  1:10 and c(7:20) "
  [5] "t = -5.4349, df = 21.982, p-value = 1.855e-05"
  [6] "alternative hypothesis: true difference in means is not equal to 0 "
  [7] "95 percent confidence interval:"
  [8] " -11.052802  -4.947198 "
  [9] "sample estimates:"
[10] "mean of x mean of y "
[11] "      5.5      13.5 "
[12] ""

and transfer 'output' to Perl.

Cheers

Henrik

Wagle, Mugdha wrote:
> Hi,
>  
> I've just started using R and RSPerl. I have some code as follows:
>  
> &R::initR("--no-save");
> &R::call("t.test", ([EMAIL PROTECTED], [EMAIL PROTECTED]));
>  
> where @array1 and @array2 are both 1-dimensional arrays in Perl having 54675 
> elements each. On execution the output is as follows:
>  
> Calling R function name `t.test', # arguments: 3
> 1) Arg type 3
> Got a reference to a value 10
> Here now!2) Arg type 3
> Got a reference to a value 10
> Here now!Calling R
> t.test(c(0, 6.24280675278087, 6.35175793656943, 5.76925805661511,
> 7.0789316246711, 7.4636498661157, 8.13730810691084, 8.78203131644273,
> 9.64502765609435, 9.95631242346133, 5.83129579495516, 6.8798700754926,
> 7.31814159140937.......(REST OF THE ARRAY ELEMENTS).....
> 4.91632461462501, 3.38099467434464,
> 3.91800507710569, 3.23867845216438, 3.38439026334577, 4.64918707140487,
> 3.23474917402449, 3.62966009445396, 3.36729582998647, 3.91999117507732
> ))
> Performed the call, result has length 9
> 
> My question is : with other functions such as sum and log10, the actual 
> values of the result are displayed. Here the call seems to have worked but 
> the output is not what you get when running t.test directly on the R command 
> prompt..
>  
> data:  data4[2] and data4[3] 
> t = 0.2186, df = 109.847, p-value = 0.8274
> alternative hypothesis: true difference in means is not equal to 0 
> 95 percent confidence interval:
>  -3722.830  4645.723 
> sample estimates:
> mean of x mean of y 
>  6185.139  5723.693
>  
> which is what I had expected, after seeing the outputs in the case of simpler 
> functions like sum. Could anyone please tell me how I can obtain the output I 
> expect(i.e. the same as the command line output....giving values of t, 
> p-value and the means)?
>  
> Thank you very much for the help!!
>  
> Sincerely,
> Mugdha Wagle
> Hartwell Center for Bioinformatics and Biotechnology,
> St.Jude Children's Research Hospital, Memphis TN 38105
> 
> ______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> 
>

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to