Wprowadzenie do R

Transkrypt

Wprowadzenie do R
Wstęp do R
Szukanie pomocy:
1. ?xxx
{gdzie xxx jest szukaną frazą}
Klasy danych:
Wprowadzenie do R
1. vector
Dr Paweł Kleka
4. data.frame
2. matrix
3. list
29 października 2016
5. inne [np. class]
2/22
Podstawy R
Tworzenie macierzy przez łączenie kolum lub wierszy
Tworzenie wektora
x=1:6
y=5:10
cbind(x,y) # kolumnami
v <- c(1,3,5,7)
Lista to wektory z obiektami różnej klasy
##
##
##
##
##
##
##
l <- c("Blue", 2, 5, "Red")
Tworzenie macierzy
m <- matrix(1:6,2,3)
m2 <- matrix(1:6) #macierz z wektora
dim(m2) <- c(2,3) #przez dodanie wymiarów
[1,]
[2,]
[3,]
[4,]
[5,]
[6,]
x y
1 5
2 6
3 7
4 8
5 9
6 10
rbind(x,y) # wierszami
3/22
##
[,1] [,2] [,3] [,4] [,5] [,6]
## x
1
2
3
4
5
6
## y
5
6
7
8
9
10
4/22
Pomocne funkcje
Ramki na dane(data frames)
attributes(m2) - Sprawdzanie właściwości
str(m2) - sprawdzanie struktury
class(m2) - sprawdzanie klasy
Różnią się tym od macierzy, że każda kolumna może przechowywać inny
rodzaj danych
Tworzenie ramki
Wywoływanie konkretnej wartości z macierzy
d <- data.frame(
subjectID=1:5,
gender=c("M","F","F","M","F"),
score=c(8,3,6,5,5)
)
d
m2[1,2]
## [1] 3
5/22
##
##
##
##
##
1
2
3
4
subjectID gender score
1
M
8
2
F
3
3
F
6
4
M
5
6/22
Dane zewnętrzne
Liczba wierszy
· wczytywanie danych z różnych źródeł
nrow(d)
- csv <- read.csv()
Liczba kolumn
- spss <- read.spss() {foreign}
ncol(d)
- schowek <- read.clipboard {psych}
Wywoływanie konkretnej wartości
· zapisywanie danych
d[2,1]; d[1,2]
- write.table(obiekt, plik)
Podgląd
- save(plik) # zapis workspace
View(d)
Edycja
edit(d); fix(d)
7/22
8/22
Manipulacje danymi za pomocą dplyr
Dane
· Operator %>% pozwala łączyć polecenia w czytelne ciągi
##
##
##
##
##
##
##
##
##
library(dplyr)
library(foreign)
setwd("~/Documents/dydaktyka/statystyka - WTAD/2015/01 - regresja/")
dane <- data.frame(read.spss("dane/kalorie.sav"))
dane %>%
select(alkohol, kalorie) %>%
group_by(alkohol) %>%
summarise(
cal = mean(kalorie, na.rm=TRUE),
nobs = n()
) %>%
filter(nobs >1) %>%
arrange (nobs)
# A tibble: 6 × 3
alkohol
cal nobs
<dbl>
<dbl> <int>
1
4.2 34.09817
2
2
4.5 42.62271
2
3
4.6 42.76968
4
4
4.9 44.38641
4
5
5.0 44.97431
5
6
4.7 43.43924
9
9/22
10/22
Wybrane funkcje statystyczne stats
Grafika opisowa
· max()
3 grupy pakietów graficznych:
· min()
· base
· mean() / median()
· lattice
· sd()
· ggplot2 > ggvis
· kurtosis() / skewness()
· var() / range() / IRQ()
· cor()
11/22
12/22
Wybrane grafy {base}
Wybrane grafy {base}
hist(dane$kalorie, main="Histogram kalorii")
boxplot(dane$kalorie, xlab="Kalorie",
ylim=c(35,50))
14/22
13/22
Wybrane grafy {base}
Wybrane grafy {base}
mosaicplot(table(cut(dane$kalorie,breaks = c(0,40,45,50,99)),
cut(dane$alkohol,c(0,3,4,5,9))), main="")
plot(dane$kalorie, dane$alkohol)
15/22
16/22
Wybrane grafy {ggvis}
Wybrane grafy {ggvis}
library(ggvis)
dane %>%
ggvis(~kalorie, ~alkohol) %>%
layer_points(fill := "red", size := 20) %>%
layer_points(stroke := "black", fill := NA, size := 20)
5.5
5.0
alkohol
4.5
4.0
3.5
3.0
2.5
20
25
30
35
40
45
50
kalorie
17/22
18/22
Wybrane grafy {ggvis}
Wybrane grafy {ggvis}
dane %>%
ggvis(~kalorie, ~alkohol) %>%
layer_points() %>%
layer_model_predictions(model="lm")
5.5
5.0
alkohol
4.5
4.0
3.5
3.0
2.5
20
25
30
35
40
45
50
kalorie
19/22
20/22
Wybrane grafy {ggvis}
Wybrane grafy {ggvis}
dane %>%
mutate(z=factor(kalorie<43)) %>% #dychotomizacja
ggvis(~kalorie, ~alkohol, fill=~factor(z)) %>%
group_by(z) %>%
layer_points() %>%
layer_model_predictions(model="lm", stroke=~z)
factor(z)
z
5.5
FALSE
TRUE
5.0
alkohol
4.5
4.0
3.5
3.0
2.5
20
25
30
35
40
45
50
kalorie
21/22
22/22

Podobne dokumenty