—■4
140 Wybrane proceduiy statystyczne
> # ustawiamy ziarno i generujemy liczby losowe
> set.seed(1313)
> runifClO)
[1] 0.883 0.384 0.709 0.494 0.638 0.632 0.241 0.100 0.547 0.366
> U wybieramy to samo ziarno
> set.seed(1313)
> runif(10)
[1] 0.883 0.384 0.709 0.494 0.638 0.632 0.241 0.100 0.547 0.366
W R dostępnych jest wiole funkcji do obsługi większości popularnych i wielu mniej popularnych rozkładów zmiennych losowych. W tym podrozdziale skupimy się na jednowymiarowych zmiennych losowych. Osoby poszukujące generatorów zmiennych wielowymiarowych z pewnością zainteresuje pakiet copula (nic omawiany tutaj). Nazewnictwo funkcji związanych ze zmiennymi losowymi jest ustandaryzowane. Nazwy funkcji składają się z dwóch członów, tak jak na poniższym schemacie.
# schemat nazw funkcji związanych z rozkładami zmiennych losowych [prefix][nazwa.rodziny.rozkładów]O
U generator liczb z rozkładu normalnego rnormO
U dystrybuanta rozkładu jednostajnego punif O
# gęstość rozkładu wykładniczego dexpQ
# kwantyle rozkładu t Studenta qtC)
Suffix nazwa. rodziny. rozkładów określa jakiej rodziny rozkładów dana funkcja dotyczy. Wszystkich rodzin rozkładów dostępnych w R jest wiele, przegląd popularniejszych znajduje się w tabeli 3.2. Pref ix jest jednoliterowym markerem, określa-jącym co chcemy z tym rozkładem zrobić. Prefix może być jedną z liter:
• Litera r (jak random) rozpoczyna nazwę funkcji - generatora liczb losowych. Taka funkcja generuje próbę prostą o liczebności n (pierwszy argument funkcji) z określonego rozkładu.
Litera p (jak probability) rozpoczyna nazwę funkcji wyznaczającej wartości, dystrybuanty danego rozkładu w punktach określonych przez wektor x (pierwszy argument tych funkcji).
Litera d (jak density) rozpoczyna nazwę funkcji wyznaczającej wartości gęstości (dla rozkładów ciągłych) lub prawdopodobieństwa (dla rozkładów dyskretnych) danego rozkładu w punktach określonych przez wektor x (pierwszy argument tych funkcji).
Kwantyl to funkcja odwrotna do dytitrybuanty.
■m rżi
M
iii
■: i
ta
m
Litera q (jak ąuantile) rozpoczyna nazwę funkcji wyznaczającej wartości kwantyl i danego rozkładu w punktach q (pierwszy argument tych funkcji).
Liczby ltir«iw<<
NI
Pozostałe argumenty tych funkcji określają parametry rozkładu w wyłamuj m dżinie rozkładów. Dla funkcji wyznaczających gęstość lul> dysttyhimulr umzim niw nież określić argument log.p. Jeżeli argumentem jest log.p«TRUI. to wynikiem funkcji są logarytmy zamiast oryginalnych wartości. Operowanie na logarytmach z gęstości w pewmych sytuacjach możne zmniejszyć błędy numeryczne. Przykładowo ' licząc łogarytm funkcji wiarygodności zamiast liczyć logarytm z iloczynu gęstości, bardziej dokładne wyniki otrzymamy dodając logarytmy z poszczególnych wartości gęstości.
Listę funkcji stowarzyszonych do najpopularniejszych rozkładów zmiennych losowych znaleźć można w tabeli 3.2. Jednym z najbardziej znanych rozkładów zmiennych losowych jest rozkład normalny, nazywany też rozkładem gaussowskim. Na rysunku 3.13 przedstawiona jest gęstość i dystrybuanta standardowego rozkładu normalnego. Wykres został wygenerowany przez następujące polecenia (zwróć uwagę jak uzyskano podwójne osie Y).
f określamy siatkę punktów, w których będziemy wyznaczać gęstość i dystrybuantę x » seq(-4,4,by“0.01) ś rysujemy gęstość
plot(x,dnorm(x),type="ln,lwd“3,cex.axis“l.5,cex.lab=l.5)
S na tym samym rysunku chcemy narysować dystrybuantę, która wymaga użycia innej osi OY, dlatego zmieniamy współrzędne w wyświetlanym oknie graficznym, teraz oś Y ma przyjmować wartości od -0.04 do 1.04 par(usr=c(-4,4,-0.04,1.04))
* dorysowujemy dystrybuantę, jest ona rysowana w nowym układzie
współrzędnych
lines(x,pnorm(x),lty”2,lwd-3,cex. axis-l.5,cax.lab-1.5)
# dorysowujemy oś OY po prawej stronie, jest ona w nowym układzie'
współrzędnych
axis(side=4,cex.axis=l.5,cex.lab”l.5)
ntext(side=4, "pnormO ",line“2.5,cex. axis“l. 5, cex=l .5)
Rysunek 3.13: Gęstość i dystrybuanta standardowego rozkładu normalnego