Tabela (table)

MetodaDeklaracja metodyPrzykład wywołaniaOpis działania
Utworzenie pustej tabelitable()table tTworzona jest pusta tabela
Utworzenie tabeli o zadanych wymiarachtable(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 macierzoperator 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 kolumntable colnames(const table &)colnames(t)Etykiety kolumn są zwracane jako tabela.
Wybór nazw wierszytable rownames(const table &)rownames(t)Etykiety wierszy są zwracane jako tabela.
Wypełnianie wartościami testowymivoid 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 wierszytable 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ściachtable 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 grupachtable 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 zmiennejtable 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 zmiennejtable 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 danychtable 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ścivoid 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 numerycznejtable 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 walidacyjnejvoid 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 polachvoid 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.