Statystyka w R


Idź do treści

Wstęp

Pakiet R jest szeroko znanym w środowisku statystycznym, elastycznym narzędziem do analizy danych. Oprócz modułów dostępnych po instalacji programu istnieje możliwość doinstalowania dostępnych na stronie www.r-project.org pakietów umożliwiających przeprowadzanie zaawansowanych analiz.


####################################################################
############################### WSTĘP ##############################
####################################################################

# Pracę w programie R proponujemy rozpocząć od wybrania z menu Help
# opcji HTML help, a następnie An introduction to R – opisu
# podstawowych funkcji. Wybierając z menu Help opcjię HTML help użytkownik
# uzyskuje również dostęp do wyszukiwarki dostępnych w programie funkcji
# wybierając Search Engine & Keywords.
###
# Symbolem zachęty programu R jest: >. Wówczas wystarczy wpisać odpowiednie
# działanie lub funkcję podającej jej argumenty i potwierdzić (enter), aby
# wykonać polecenie. Przykładowo wpisujemy 1+2 i potwierdzamy (enter),
# a na ekranie pojawia się:
# > 1+2
# [1] 3
# gdzie symbol [1] oznacza numer elementu wektora wyników.
# Symbolem przypisania w programie R jest: <- lub =
# Przykładowo, wpiszmy a<-sqrt(2) (lub a=sqrt(2)) , potwierdzamy (enter),
# następnie wpiszmy a i ponownie potwierdzamy (enter).
# Wówczas na ekranie otrzymamy:
# > a<-sqrt(2)
# > a
# [1] 1.414214
# Aby wprowadzić komentarz, należy rozpocząć linię symbolem #
# lub w danej linii poprzedzić go sybolem #. Przykładowo mając już
# zdefiniowaną wartość a wpiszmy b<-a^2 # kwadrat a, gdzie „kwadrat a”
# jest komentarzem, który jest pomijany przy wykonaniu linii kodu przez
# program. Następnie wpiszmy b i potwierdźmy (enter). Wówczas otrzymujemy:
# > b<-a^2 # kwadrat liczby a
# > b
# [1] 6.283185
# Gdyby użytkownik zapomniał o symbolu # , rezultat byłby następujący:
# > b<-a^2 kwadrat liczby a
# Error: syntax error in "b<-a^2 kwadrat"
###
# Proponujemy wpisanie poniższego kodu do edytora programu R (File/New script)
# a następnie wybrać opcję Edit/Run all lub zaznaczyć w edytorze fragment kodu
# i wybrać Edit/Run line or selection. Umożliwia to szybkie przeprowadzenie
# ewentualnych korekt czy zmian kodu w czasie późniejszym.

####################################################################
### Wprowadzanie danych
# jako macierz np.
x=matrix(c(1,3,3,7,10),ncol=1) #ncol - liczba kolumn
x=matrix(c(1,3,3,7,10),nrow=1) #nrow - liczba wierszy
# jako ciąg, np.:
x=c(1,3,3,7,10)
y=c(14,8,5,6,2)
# Proste przekształcenia
# ciąg wartości zmiennej x pomniejszonych o 10
x-10
# ciąg pierwiastków sum podwojonych wartości zmiennej x i kwadratów zmiennej y
# oznaczony jako m
m=sqrt(2*x+y^2)
m # wywołanie wartości nowej zmiennej
# "długość" ciągu (liczba obserwacji)
length(m)
# podstawowe statystyki
mean(x) #średnia arytmetyczna
sum(x) # suma
quantile(x) # kwantyle
var(x) # wariancja - obliczana jako sum((x-mean(x))^2)/(length(x)-1)
sd(x) # odchylenie standardowe - obliczane jako sqrt(var(x))
summary(x) # minimum, 1 kwartyl, mediana, średnia, 3 kwartyl, maksimum
cov(x,y) # kowariancja - obliczana jako sum( (x-mean(x))*(y-mean(y)) )/(length(x)-1)
cor(x,y) # współczynnik korelacji liniowej Pearsona

### Inne możliwości wprowadzania danych
# Wczytywanie ze schowka:
# wpisać dane do arkusza kalkulacyjnego (z nazwą zmiennej w pierwszej komórce),
# zaznaczyć i wybrać KOPIUJ (dane sąw schowku),
# a następnie WPISAĆ w R (już nie używamy KOPIUJ):
x=read.delim("clipboard",header=TRUE)
#Odczyt z pliku tekstowego:
x=read.table("c:/nazwa_pliku.txt", header=TRUE)
#Odczyt z pliku SPSS (niezbędne jest uruchomienie biblioteki foreign):
library(foreign)
x=read.spss("c:/nazwa_pliku.sav", use.value.labels=TRUE, to.data.frame=TRUE)

### Zapis danych
#zapis do pliku R
save(x, file = "nazwa_pliku.Rdata")
#zapis do pliku txt
write.table(x, file="c:/nazwa_pliku.txt",quote = FALSE, sep=" ", row.names = FALSE,col.names = FALSE)

####################################################################
### Tworzenie funkcji
prostafunkcja=function(a,b) {
s=a+b #suma
i=a*b #iloczyn
list("suma"=s,"iloczyn"=i)
}
## przykładowe wywołania fukcji
# przykład 1
prostafunkcja(2,3) # podanie listy wszystkich wyników (sumy oraz iloczynu)
# Wówczas otrzymujemy:
# $suma
# [1] 5
# $iloczyn
# [1] 6
# przykład 2
k=5
l=3
prostafunkcja(k,l) # podanie listy wszystkich wyników (sumy oraz iloczynu)
prostafunkcja(k,l)$suma # podanie jednego elementu listy wyników - sumy
prostafunkcja(k,l)$iloczyn # podanie jednego elementu listy wyników - iloczynu






Powrót do treści | Wróć do menu głównego