Možnosti pro tuto stránku: Článek | Diskuse | Editovat | Historie | Nahrát soubor

R

Z Kuchařka studia na IES FSV UK

Přejít na: navigace, hledání

R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS.

R-ko se ovládá zejména psaním textových příkazů. Není to Word. Proto uživatelé obvykle tráví dost času nejen nad prací s daty, ale i hledáním funkcí a postupů na Internetu. Na to se hodí vyhledání na stránkách R-project.org a v Googlu vám pomůže symbol R:, např. "linear hypothesis R:".

A určitě se vám budou hodit učebnice - zde je jejich mix, ať už přímo na Rko nebo na ekonometrii.


Obsah

[editovat] Ovládání programu

[editovat] Ukládání zdrojového kódu

Měl jsem dlouho problémy s ukládáním zdrojového kódu (toho, co se tam napíše) v eRku. A vím, že nejsem sám, tak píši jedno možné řešení. Celé kouzko tkví v tom, že se ty příkazy nepíšou do okna R Console, který na vás vyskočí, když R spustíte, ale do tzv. R Editoru, který otevřete File - New script.

Je to v zásadě takovej texťák a dá se z a do něho kopírovat z jinejch souborů (jiný R Editor, txt ...). V tom si vesele napíšete svůj prográmek a pak pomocí Edit - Run program spustíte v módu Console, což vám vyhodí požadovaný výsledek. Aby to fungovalo, musíte mít právě aktivní okno toho konkrétního Editoru. Můžete také postupně kontrolovat, co píšete, pomocí Edit - Run line or selection, což buď vyhodnotí v módu Console řádek, na kterém je aktuálně kurzor nebo několik klasicky označenejch řádků.

Když je okno R Editoru aktivní, můžete jej normálně uložit File - Save as/Save. Znova ho pak bezproblému otevřete pomocí File - Open script (u mě nutno nastavit All files, aby byly soubory"vidět").

Takhle si můžete napsat kolik chcete skriptů a pak si je třeba přinýst do školy na flashce, všechny si otevřít, vybrat z nich části zdrojáku, které potřebujete, ty zkopírovat do nového scriptu a ten (Edit - Run) odpálit :-).

[editovat] Grafické rozhraní

R Commander se to jmenuje. Postup instalace - příkazy do Rka:

install.packages("Rcmdr", dependencies=TRUE)
library(Rcmdr) 

Editor skriptů, který se umí propojit s konzolí, se jmenuje Tinn-R.

[editovat] Základní příkazy

Naleznete na stránce vyučující Mgr. Ryšavé v rámci souborů ke stažení pod nadpisem program R - materiály.

[editovat] Popisné statistiky

data<-c(93,40,64,9,32,84,72,62,93,75,30)
mean(data) # průměr

[editovat] Matice

x1<-c(93,40,64,9)
x2<-c(3,46,41,19)
x3<-c(33,13,4,8)
x4<-c(21,25,31,29)

[editovat] Lineární regrese

Příkazy, které se vám budou hodit. Ověření ppředpokladů OLS je níže na stránce.

y<-c(140,146,162,171,176,187,197,209)
t<-c(1,2,3,4,5,6,7,8)

regrese<-lm(y~t) 
summary(regrese) # vypíše výsledek 

[editovat] Triky

Práce s daty z tabulky bez načítání do proměnných:

data<-read.table("domy2.txt",header=TRUE)

data$price # umožní přímý přístup k vektoru dat ze sloupce price v načteném souboru, dá se využít například pro regresi: lm(data$price~data$age+data$rooms)
attach(data) # načte do paměti pod názvy sloupců z načtené tabulky všechny hodnoty, takže jsou hned přístupné pod price, age, rooms

[editovat] Algoritmy pro ekonometrii - postupy řešení

Často opakované postupy.

[editovat] Předpoklady OLS a jejich ověřování

[editovat] Vysvětlující proměnné pocházejí z náhodného výběru

[editovat] Model je lineární v parametrech

[editovat] Podmíněná očekávaná hodnota disturbancí je nulová

[editovat] Autokorelace disturbancí je nulová

To se týká časových řad.

Testy:

  • Durbin-Watson

[editovat] Plná hodnost matice pozorování

Aneb lineární nezávislost. Zde je issue multikolinearita, která ovlivňuje vypovídací schopnost odhadu rozptylu.

Testy:

  • Index podmíněnosti - funkce kappa

Řešení:

  • vynechat regresor
  • centrovat data (funkce scale)

[editovat] Homoskedasticita disturbancí

Testy:

  • Grafický nástroj: residuals vs Fitted (Podezření na heteroskedascitu byste měli získat, pokud je na obrázku patrný nějaký trend)
  • Breusch-Pagan (bptest)(Pozor na předpoklad - lze použít jen u normálně rozdělených disturbancí)
  • Goldfeld-Quandt (gqtest)(Nulová hypotéza: disturbance jsou homoskedastické)

Řešení při heteroskedasticitě

  • Odhady rozptylu odolné vůči heteroskedasticitě. Pochází od pana Whita. V R je na diagonále kovariační matice vypíše funkce hccm anebo kompletně tato funkce.

[editovat] Normalita disturbancí

Testy

  • Grafický: QQ plot
  • Kolmogorov-Smirnov (ks.test)
  • Shapiro-Wilk (shapiro.test)

Řešení:

  • logaritmovat data
  • Box-Coxova transformace

[editovat] Testy na vypuštění více (či všech) regresorů

Dobře popsáno v sekci 3.4 učebnice Econometrics in R.

  • F-test - v učebnici od Wooldridge (stáhnout, str. 139) je konstruovaný pomocí R-squared anebo pomocí SSR (sum of squared residuals). V R jej lze uskutečnit pomocí funkce linear.hypothesis, který vyžaduje library(car). Například takto lze otestovat hypotézu, že v modelu mzda = (B_0+black)+(B_1+D_1*black)vykon + (B_0+D_1*black)loajalita je D_0 (to je koeficient u black interceptu), D_1 a D_2 rovnu nule. To je mimochodem hypotéza, na kterou je sestrojen Chowův test, totiž že dva submodely (black a zbytek) lze vysvětlit jednou koeficientů regresorů. Jak na to v R?
linear.hypothesis(VášLMmodel, c("black = 0","black:vykon = 0","black:loajalita = 0"),white.adjust = TRUE) # a rovnou to ošetříte proti heteroskedasticitě

[editovat] Odkazy