| Metoda | Deklaracja metody | Przykład wywołania | Opis działania |
|---|---|---|---|
| Domyślne środowisko R | RInside RE | RE | Aby wygodnie korzystać z R, w głównym pliku projektu (np. main.cpp) należy zadeklrować zmienną RE poza programem głównym. Zmienna RE będzie dostępna we wszystkich plikach projektu. Sposób deklaracji: Rinside RE; int main() { // kod programu } |
| Tekst | typedef Rcpp::String RText | RText t | Typ tekst w Rcpp. Zmienna tego typu może być przekazana do środowiska R. |
| Data | typedef Rcpp::Date RDate | RDate d | Typ data w Rcpp. Zmienna tego typu może być przekazana do środowiska R. |
| Macierz | typedef Rcpp::NumericMatrix RMatrix | RMatrix m | Typ macierz w Rcpp. Zmienna tego typu może być przekazana do środowiska R. |
| Wektor | typedef Rcpp::NumericVector RVector | RVector v | Typ wektor w Rcpp. Zmienna tego typu może być przekazana do środowiska R. |
| Tabela | typedef Rcpp::DataFrame RTable | RTable t | Typ tabela w Rcpp. Zmienna tego typu może być przekazana do środowiska R. Tabele w R nazywają się data.frame. |
| Typ dowolny | typedef RInside::Proxy RProxy | - | Typ dowolny. Funkcja R zwraca wynik typu RProxy, który jest następnie konkretyzowany. Patrz pomoc do funkcji „RProxy eval(Text)”. |
| Na tekst C++ | Text ctext(const RText &) | ctext(tekst_R) | Konwertuję zmienną tekstową z R na zmienną tekstową C++. |
| Na tekst R | RText rtext(const Text &) | rtext(tekst_C) | Konwertuję zmienną tekstową z C++ na zmienną tekstową R. |
| Na datę C++ | date cdate(const RDate &) | cdate(data_R) | Konwertuję zmienną data z R na zmienną data C++. |
| Na datę R | RDate rdate(const date &) | rdate(data_C) | Konwertuję zmienną data z C++ na zmienną data R. |
| Na macierz C++ | matrix cmatrix(const RMatrix &) | cmatrix(macierz_R) | Konwertuję macierz z R na macierz C++. |
| Na macierz R | RMatrix rmatrix(const matrix &) | rmatrix(macierz_C) | Konwertuję macierz z C++ na macierz R. |
| Na wektor C++ | matrix cvector(const RVector &) | cvector(wektor_R) | Konwertuję wektor z R na wektor C++. |
| Na wektor R | RVector rvector(const matrix &) | rvector(wektor_C) | Konwertuję wektor z C++ na wektor R. |
| Na tabelę C++ | table ctable(const RTable &) | ctable(tabela_R) | Konwertuję tabelę z R (data.frame) na tabelę C++. |
| Na tabelę R | RTable rtable(const table &) | rtable(tabela_C) | Konwertuję tabelę z C++ na tabelę R (data.frame). |
| Przesyłanie zmiennych do R | void var(string,int) void var(string,double) void var(string,const Text &) void var(string,const date &) void var(string,const matrix &) void var(string,const table &) | var("n",n) var("x",x) var("nazwa",nazwa) var("data1",data1) var("A",A) var("tab",tab) | Za pomocą funkcji var można przesłać zmienną z C++ do środowiska R. Nazwa zmiennej w R będzie taka jak pierwszy argument funkcji (string), a wartość taka jak drugi argument. W podanych przykładach nazwy zmiennych w R są takie same jak w C++, jednak nie jest to wymagane. To znaczy można napisać np.: var("x",y) |
| Użycie zmienne w R | use(name) | use(x) | Zmienna C++ name staje się widoczna w R pod tą samą nazwą. |
| Deklarowanie zmiennej w R | let(name1,name2) | let(x,y) | W R powstaje zmienna name1, odpowiadająca zmiennej C++ name2. |
| Uruchomienie kodu | void evalQ(Text) | evalQ("print(2)") | Funkcja uruchamia podany kod R. Działania są wykonywane w środowisku RE. |
| Uruchomienie kodu zwracającego wynik | RProxy eval(Text) | RVector wektorR=eval("rep(1,10)") | Funkcja uruchamia podany kod R. Działania są wykonywane w środowisku RE. Wynik może być typu: int, double, RText, RDate, RMatrix, RVector lub RTable. |
| Uruchomienie kodu z pliku | void sourceQ(Text) void sourceQ(RInside &,Text) | sourceQ("funkcja.R") sourceQ(R1,"funkcja.R") | Funkcja uruchamia kod R z pliku o podanej nazwie. Domyślnie działania są wykonywane w środowisku RE, ale mogą być wykonywane w innych instancjach tego środowiska (jak w drugim przykładzie). |
| Uruchomienie kodu zwracającego wynik z pliku | RProxy source(Text) RProxy source(RInside &,Text) | RMatrix macierzR=source("funkcja2.R") RTable tabelaR=source(R1,"funkcja3.R") | Funkcja uruchamia kod R z pliku o podanej nazwie. Domyślnie działania są wykonywane w środowisku RE, ale mogą być wykonywane w innych instancjach tego środowiska (jak w drugim przykładzie). Wynik może być typu: int, double, RText, RDate, RMatrix, RVector lub RTable. |
| Makra uruchamiające | proc(name) fun(name) run(name) | proc(print(2)) fun(rep(1,10)) run(funkcja2) | Makra pozwalające uruchamiać kod z pominięciem cudzysłowów i rozszerzeń pliku (bardziej czytelne). |
