[R] How to call t.test() defined in t.test.R from C++ program
sfang@cs.concordia.ca
sfang at cs.concordia.ca
Tue Jun 17 20:47:55 CEST 2003
Dear r-helper,
I am a student in Computer Science. Currently, I wrote a program (as pipeline)
using STL(standard template library)in Visual C++ to analysis microarry gene
express data analysis.
Part of my program is to perform two sample t-test and print out t=? , df=? , p-
value=? , 95 percent confidence interval, and mean of each sample, which is the
same output as typing the commands library(ctest) and t.test(A, B) under R.
Therefore, I am wondering if I am able to call t.test() function from R in my
C++ program.
I have read all .c, .R and .Rd files in the library(ctest). I know t.test.R
proferms the functions which I want. but I could not figure out the
relationship between .R and .c files. Therefore, I do not know if I should (and
how to) call t.test() function defined in the file "t.test.R, or I should to
call some functions defined in .c files (such as chisqsim(), but it require
many parameters) and which one I should to call and how to call.
I have read the R manuals "Writing R Extensions", and I have tried to run some
examples in 4.7 "Handling R objects in C", such as, out() function, .call
("out", a, b), but I could not make it work. Also, I got some trouble with the
data types.
My code (save as try.cpp) is,
#include <R.h>
#include <Rinternals.h>
#include <iostream>
using namespace std;
int main()
{
double sampleData_1[9]={1.1, -1.22, -2.1, 3.2, 4.5, 1.22, 0.55, 1.77, 2.33};
double sampleData_2[8]={1.222, -0.999, -3.99, 2.77, 0.89, 0.99, 1.77, 0.78};
.call("t.test", sampleData_1, sampleData_2);
return 0;
}
I have tried to compile it under RedHat Linus by typing:
gcc -I/pkg/R/lib/R/include try.cpp -o outputfile
I got error message "parse error before ."
Since I am a newer for R, could you please show me how to do? I really
appreciate.
By the way, could you please tell me the formulate to get p-value from
t_value and the number of samples? I would like to try coding the calculation
directly from C++ if I am unable to call t.test() function from R?
Thank you very much for your help,
Shaozhen
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/
More information about the R-help
mailing list