| Metoda | Deklaracja metody | Przykład wywołania | Opis działania |
|---|---|---|---|
| Utworzenie pustej tabeli | table() | table t | Tworzona jest pusta tabela |
| Utworzenie tabeli o zadanych wymiarach | table(int m,int n) | table t(5,3) | Tworzona jest tabela o wymiarach m x n (m wierszy, n kolumn). W tym przypadku tworzona jest tabela 5x3 (5 wierszy, 3 kolumny). |
| Konwersja na macierz | operator matrix() | matrix(t) | Tabela jest zamieniana w macierz. Aby operacja była możliwa, konieczne jest wypełnienie tablicy elementami tekstowymi, które konwertują się na liczby rzeczywiste. |
| Wybór nazw kolumn | table colnames(const table &) | colnames(t) | Etykiety kolumn są zwracane jako tabela. |
| Wybór nazw wierszy | table rownames(const table &) | rownames(t) | Etykiety wierszy są zwracane jako tabela. |
| Wypełnianie wartościami testowymi | void test(Text p="",Text e="") | t.test() | Tabela jest wypełniana wartościami testowymi (kolejne liczby całkowite). Etykiety przyjmują standardowe nazwy (R1, R2, itd. C1, C2 itd.). Elementy mogą być poprzedzone tekstem 'p', a etykiety mogą mieć dołączony z przodu człon 'e'. |
| Wybór lub kasowanie kolumn lub wierszy | table select(const table &names,int cols=1,int del=0) | t.select(c(”C1”,”C3”)) | Z tabeli są wybierane lub kasowanie wskazane kolumny lub wiersze. Jeżeli cols=1, to operacja dotyczy kolumn. Jeżeli cols=0, to operacja dotyczy wierszy. Jeżeli del=0, to następuje wybieranie. Jeżeli del=1, to następuje kasowanie. |
| Wybieranie kolumn o zadanych właściwościach | table select_if(int f(const table &)) | t.select_if(funkcja) | Z tabeli są wybierane kolumny o zadanych właściwościach. Argument ‘f’ to dowolna funkcja działająca na pojedynczej kolumnie i zwracjąca wartość logiczną 0 lub 1 (0 – odrzuć kolumnę, 1 – zostaw kolumnę). Przykładowo ‘f’ może wykrywać specyficzne wartości w kolumnie lub określać jej typ. |
| Podsumowanie w grupach | table summarise(const table &names,Text formula,matrix f(const matrix &)=sum, ...) | t.summarise(c(”ROK”, ”MARKA”), ”SR_POJ=f(POJ)”, mean) | Funkcja grupuje dane według pól, których nazwy są zdefiniowane jako names. W grupach wyliczane jest podsumowanie według wzoru formula. Formułę definiuje się w postaci: „nazwa_wyniku = f(nazwa_zmiennej)”. Nazwa_wyniku to dowolna nazwa, która pojawi się jako kolumna w wyniku zwracanym przez summarise. Nazwa_zmiennej to nazwa dowolnej kolumny w tabeli, dla której wywołuje się podsumowanie. Funkcję podsumowującą definiuje parametr ‘f’ – może to być jedna ze standardowych funkcji macierzowych (count, sum, mean, min, max itd.) lub dowolna funkcja użytkownika. Domyślnie użyta będzie funkcja sum. W jednym wywołaniu summarise można podać do 10 formuł i funkcji i wyliczyć kilka podsumowań. W przykładzie wykonanie zostanie grupowanie tabeli ‘t’ według zmiennych ROK i MARKA i w grupach wyliczona zostanie zmienna SR_POJ jako średnia ze zmiennej POJ. |
| Przedziałowanie zmiennej | table cut(const table &X,const matrix &breaks,int right=1) | cut(t,c(1,2,3)) | Zmienna dana wektorem X jest przedziałowana. Przedziały są zdefiniowane granicami przez parametr 'breaks'. Parametr 'right' określa, czy przedziały mają być prawostronnie domknięte (domyślnie tak). Wektor X może też być typu matrix. |
| Poziomy zmiennej | table levels(const table &X) | levels(t) | Wyznaczane są poziomy wektora X. Wektor X może też być typu matrix. |
| Tabela wystąpień | table pivot(const table &X) table pivot(const table &X1,const table &X2) table pivot(const table &X1,const table &X2,const table &X3) | pivot(t) pivot(t1,t2) | Wyliczana jest liczba wystąpień każdego poziomu wektora X. Jeśli argumentów jest więcej niż 1, to wyliczane są wystąpienia dla każdej kombinacji poziomów wszystkich argumentów. Wektory X mogą też być typu matrix. |
| Zastosowanie funkcji do danych | table apply(const table &X,const table &index,matrix f(const matrix &)) table apply(const table &X,const table &index,matrix f(const matrix &,double),double p) | apply(t,v,mean) apply(t,v,quantile,0.25) | W grupach zdefiniowanych przez 'index' wyliczane jest wartość funkcji f(X). Wektor X może też być typu matrix. W pierwszym przypadku wyliczane są średnie wartości 't' w grupach danych przez 'v'. W drugim przypadku wyliczane są pierwsze kwartyle wartości 't' w grupach danych przez 'v'. Funkcje mean i quantile są wbudowane w typ matrix. Można również wykorzystywać własne funkcje. |
| Sortowanie według wartości | void sortval(int no,Direction dir=ASCENDING,int sort_rows=1) void sortval(Text name,Direction dir=ASCENDING,int sort_rows=1) | sortval(10) sortval(„WIEK”) | Tabela jest sortowana według pola o numerze 'no'. Tabela jest sortowana według pola o etykiecie name. W odróżnieniu od funkcji 'sort' dziedziczonej z typu data, to sortowanie jest przeprowadzane według wartości liczbowych, a nie według znakowych (liter). Można wybrać kierunek sortowania (parametr dir) oraz czy sortować wiersze, czy kolumny (parametr sort_rows). Możliwe kierunki sortowania: ASCENDING - rosnąco, DESCENDING – malejąco. Domyślnie rosnąco sortowane są wiersze. |
| Tworzenie bazy numerycznej | table build_numerical_base( const table &input, BaseVer ver=NORM, int show_progress=0, Text na="0") | build_numerical_base(t) | Tworzona jest baza numeryczna do modelowania na podstawie tabeli 'input'. Można wybrać sposób przygotowania pól (parametr ver), czy pokazywać postęp (parametr show_progress) oraz jakie wartości użyć w miejsce braków danych (parametr na). Możliwe sposoby przygotowania to SIMP (prosty), NORM (normalny), EXT (rozszerzony). Domyślnie tworzona jest baza sposobem normalnym, bez pokazywania postępu. Dla sposobu SIMP w wyniku zapisywane są zmienne liczbowe uzupełnione zerami w miejscu braków i zmienne binarne utworzone ze zmiennych kategorialnych. Dla sposobu NORM w wyniku zapisywane są te same zmienne co dla sposobu SIMP oraz dodatkowo zmienne określające wypełnienie pól (dotyczy pól z brakującymi danymi). Dla sposoby EXT wszystkie zmienne są zamieniane na binarne. Zmienne kategorialne analogicznie jak w sposobie SIMP/NORM. Zmienne liczbowe są przedziałowane. |
| Tworzenie bazy konstrukcyjnej i walidacyjnej | void constr_and_valid( Text name_constr, Text name_valid, double percent_size, int show_progress=0) | t.constr_and_valid( „dane_konstr.txt”, ”dane_walid.txt”, 0.75) | Tabela 't' dzielona jest losowo na część konstrukcyjną i walidacyjną. Wyniki zapisywane są do plików o nazwach name_constr i name_valid. Należy określić udział danych konstrukcyjnych (parametr percent_size). Można określić, czy pokazywać postęp (parametr show_progress). Domyślnie postęp nie jest pokazywany. |
| Tworzenie bazy numerycznej o zadanych polach | void build_numerical_with_columns( table &tab_colnames, Text name_data, Text name_errors, int show_progress=0, Text na="0") | t. build_numerical_with_columns( nazwy_kolumn, ”nowe_dane.txt”, ”bledy.txt”) | Na podstawie tabeli 't' tworzona jest baza numeryczna o zadanych polach (parametr tab_colnames). Wynik zapisywany jest do pliku o nazwie name_data. Jeżeli w tabeli 't' brakuje pól niezbędnych do ukończenia operacji, pojawiają się błędy, które są zapisywane do pliku o nazwie name_errors. Można określić, czy pokazywać postęp (parametr show_progress). Domyślnie postęp nie jest pokazywany. Parametr 'na' wskazuje, jakie wartości zastosować w miejsce braków danych. |
