R Wszystkie zmienne, dane, funkcje, wyniki itp. są przechowywane w formie tzw. obiektów, które posiadają swoje nazwy oraz inne atrybuty, takie jak np. wymiary w przypadku macierzy, nazwy kolumn w przypadku ramki danych. W R nie deklarujemy obiektów - są one tworzone w chwili pierwszego pojawienia się danego symbolu wraz z operacją przypisania i otrzymują typ odpowiedni dla tego przypisania. • Typy danych: numeric character - wartości: ciągi znaków w pojedynczych lub podwójnych cudzysłowach complex logical - wartości: FALSE TRUE • Niektóre struktury danych (obiekty): • vector - wektor. Indeksowanie: a[1], a[c(1,2,5)], a[a>10], . . . , gdzie a - wektor. • factor - zawiera wartości o charakterze jakościowym (zmienna o wartościach jakościowych to tzw. czynnik). Zawiera też informację o wszystkich możliwych wartościach (poziomach) czynnika. Funkcje: factor(), levels(). • array - tablica. Szczególny przypadek tablicy to macierz (matrix) - tablica dwuwymiarowa. Wszystkie elementy wektorów, czynników i tablic są tego samego typu. • data frame - ramka danych: macierz (tablica), której poszczególne kolumny są wektorami lub/i czynnikami o tej samej długości. Kolumny mogą różnić się pomiędzy sobą typem elementów, jakie zawierają. Funkcje: data.frame(parametry) - utworzenie ramki danych, data(nazwa_zbioru, package="nazwa_pakietu") - wczytanie ramki danych z biblioteki R-owej, read.table("plik", header=FALSE, sep =" ", dec = ".", col.names=c(V1,V2,...), na.strings ="NA", ...) - wczytanie ramki danych z pliku (tu podane są domyślne wartości niektórych parametrów). dim(ramka_danych) - wymiary ramki danych, a[,1] - wektor złożony z elementów stojących w pierwszej kolumnie ramki a, a$V1 - wektor złożony z elementów stojących w kolumnie o nazwie V1 ramki a, a[,’V1’] - ramka danych złożona z kolumny o nazwie V1 ramki a, attach(nazwa_ramki) - uzyskanie bezpośredniego dostępu do nazw zmiennych w ramce danych. • list - lista: zawiera obiekty dowolnego typu, którym można nadawać nazwy. Elementami listy mogą być np. modele statystyczne, funkcje, wyrażenia... Indeksowanie listy: a[[2]] - drugi element listy a, a$b - element o nazwie b listy a. Funkcje: list(), names(). Na przykład: funkcja lm tworząca model liniowy zwraca obiekt będący listą, która zawiera m.in. elementy: coefficients, residuals, fitted.values, df.residual, . . . • Grafika plot(x,y,type="p",...) curve(nazwa_funkcji,xlim=c(a,b)) - rysuje krzywą zdefiniowaną jako funkcję w zakresie argumentu od a do b, points(x,...), lines(x,...), abline(a,b) - rysuje prostą o wyrazie wolnym a i współczynniku nachylenia b, qqnorm(x) - wykres kwantyli z wektora x względem kwantyli rozkładu normalnego, par(mfrow=c(2,2)) - podział okna graficznego na dwa wiersze i dwie kolumny get(„windows”)() - otworzenie nowego okna graficznego (bez zamykania poprzedniego) • Przydatne komendy: source(„nazwa_pliku”) - wczytanie pliku z kodem źródłowym getwd(), setwd() - uzyskanie nazwy katalogu roboczego, zmiana katalogu roboczego library(nazwa_pakietu) - wczytanie pakietu ?nazwa, help(nazwa), help(„nazwa”) - uzyskanie pomocy nt obiektu nazwa as.numeric(nazwa_obiektu), as.logical(nazwa_obiektu), as.character(nazwa_obiektu),. . . - funkcje służące konwersji table(V1,V2) - tworzy tablicę kontyngencji dla zmiennych V1 i V2. NA - Not Available (braki w danych), Inf - Infinity, NaN - Not a Number