Wykresy {base} & {graphics}

Wprowadzenie

System graficzny w R składa się z kilku pakietów. Dziś skupimy się na podstawowym systemie graficznym dostępnym w pakietach {base} i {graphics}, które są automatycznie ładowane przy starcie R.


Dlaczego Base Graphics?

  • Proste w użyciu dla podstawowych wykresów
  • Nie wymagają dodatkowych pakietów
  • Świetne do szybkiej eksploracji danych
  • Podstawa dla zrozumienia innych systemów graficznych

Podstawowe Typy Wykresów

Wykres punktowy - plot()

Najprostszy i najczęściej używany wykres

# Podstawowy wykres punktowy
plot(x = mtcars$wt, # Oś odciętych OX
     y = mtcars$mpg # Oś rzędnych OY
     )

Dodajmy opisy osi, tytuł i kolory

plot(x = mtcars$wt, 
     y = mtcars$mpg,
     main = "Zależność w zużyciu paliwa względem wagi samochodu", # tytuł wykresu
     xlab = "Waga (1000 lbs)", #                                    podpis osi ox
     ylab = "Mile na galon (mpg)", #                                podpis osi oy
     pch = 19,           #                                          kształt punktu (19 = wypełnione koło)
     col = "steelblue",  #                                          kolor punktów
     cex = 1.5          #                                           rozmiar punktów
     )

Można też cały data.frame wrzucić w funkcje plot()

# plot() na ramce predefiniowanej 
data(mtcars)# opis zbioru: https://www.rdocumentation.org/packages/datasets/versions/3.6.2/topics/mtcars
plot(mtcars)



Wykres liniowy

# Dane: wzrost kurcząt w czasie
data(ChickWeight)

# Wybieramy jedno kurczę
chick1 <- subset(ChickWeight, Chick == 1)

plot(chick1$Time, chick1$weight,
     type = "b",  # "b" = both (punkty i linie)
     main = "Wzrost kurczęcia #1",
     xlab = "Czas (dni)",
     ylab = "Waga (g)",
     col = "darkgreen",
     pch = 16,
     lwd = 2)  # grubość linii

Różne typy linii:

  • type = "p" - tylko punkty (domyślnie)

  • type = "l" - tylko linie

  • type = "b" - punkty i linie

  • type = "o" - linie przez punkty

  • type = "h" - pionowe słupki



Histogram - hist()


Rozkład normalny

r <- rnorm(1000) # losowanie
hist(r) # rysowanie


Rozkład normalny zlogarytmizowany

r <- rlnorm(1000) # losowanie
hist(r) # rysowanie


Częstość

hist(mtcars$mpg,
     main = "Rozkład zużycia paliwa",
     xlab = "Mile na galon",
     ylab = "Częstość",
     col = "lightblue",
     border = "white",
     breaks = 15)  # liczba przedziałów

Gęstość

hist(mtcars$mpg,
     main = "Rozkład zużycia paliwa",
     xlab = "Mile na galon",
     ylab = "'Gęstość' prawdopodobieństwa",
     col = "lightblue",
     border = "white",
     freq = F, # TRUE: representation of frequencies (częstość), FALSE: probability densities (gęstość prawdopodobieństwa)
     breaks = 10)

Majstrowanie przy parametrze dotyczącym liczby przedziałów niewiele w sumie daje. mtcars to mały data.frame. Inne sposoby wyboru przedziałów:

# Różne metody wyboru przedziałów
hist(mtcars$mpg, breaks = "Sturges")   # domyślna
hist(mtcars$mpg, breaks = "Scott")      
hist(mtcars$mpg, breaks = "FD")         # Freedman-Diaconis

Dla 32 obserwacji w mtcars, optymalna liczba przedziałów to około 6-8. Zwiększanie do 15 czy 20 da minimalny efekt, bo po prostu nie ma wystarczająco dużo danych żeby wypełnić więcej słupków w sensowny sposób.

Można pobawić się innymi parametrami

# To zmieni wygląd bardziej niż breaks:
hist(mtcars$mpg,
     main = "Rozkład zużycia paliwa",
     xlab = "Mile na galon",
     ylab = "Częstość",
     col = rainbow(15),           # kolory słupków
     border = "black",            # kolor obramowania
     density = 20,                # linie wypełnienia
     angle = 45,                  # kąt linii
     xlim = c(5, 40),             # zakres osi X
     ylim = c(0, 15),             # zakres osi Y
     las = 1                     # orientacja etykiet
     )



Wykres pudełkowy - boxplot()


Standardowe prostokątne pudełka bez wcięć - klasyczny boxplot.

boxplot(mpg ~ cyl, data = mtcars,
        main = "Zużycie paliwa według liczby cylindrów",
        xlab = "Liczba cylindrów",
        ylab = "Mile na galon",
        col = c("lightpink", "lightblue", "lightgreen"),
        notch = FALSE) # <- 

boxplot(mpg ~ cyl, data = mtcars,
        main = "Zużycie paliwa według liczby cylindrów",
        xlab = "Liczba cylindrów",
        ylab = "Mile na galon",
        col = c("lightpink", "lightblue", "lightgreen"),
        notch = TRUE)  # wcięcie pokazuje CI dla mediany

notch = TRUE Tworzy wcięcia (notches) po bokach pudełek - to charakterystyczne “zwężenia” wokół mediany, które tworzą kształt przypominający klepsydrę lub wazę.

Co to daje?

  • Wcięcia reprezentują 95% przedział ufności dla mediany
  • Jeśli wcięcia dwóch pudełek nie zachodzą na siebie, to mediany tych grup są istotnie statystycznie różne (na poziomie ~95%)
  • To wizualna pomoc do szybkiego porównania median między grupami bez testów statystycznych



Wykres słupkowy - barplot()


# Zliczamy samochody według liczby cylindrów i przypisujemy do obiektu
cylinder_counts <- table(mtcars$cyl)

barplot(cylinder_counts, # <- inaczej niż poprzednio, nie mtcars czy któraś ze zmiennych
        main = "Liczba samochodów według cylindrów",
        xlab = "Liczba cylindrów",
        ylab = "Liczba samochodów",
        col = "coral",
        border = "white")



Wykres pie chart - pie()


pie(auta) # bez "fajerwerków"

WYZWANIE

Czy potrafiliby Państwo oszacować proporcje? Błąd może wynieść max 2%.

pie(auta,
    main = "Samochody",
    col = hcl.colors(length(auta), palette = "viridis"),
    labels = c("Pon","Wt","Śr","Czw","Pt"))

paleta2 <- c("white","grey70","grey90","grey50","black")

# Obliczamy udziały
auta_labels <- round(auta/sum(auta) * 100, 1) # przypominając sobie również funkcję round()

# robimy labelki 
auta_labels <- paste(auta_labels, "%", sep = "") # sklejamy wyliczenia ze znakiem procent (%)


pie(auta, 
    main = "Samochody - sprzedaż tygodniowa", 
    col = paleta2, # używamy wcześniej zdefiniowanych
    labels = auta_labels, # używamy wcześniej zdefiniowanych
    cex = 0.8
    )

# legenda
dniTygodnia = c("Pon","Wt","Śr","Czw","Pt") # zawartość

# dodanie do rysunku
legend(1.5, 0.5, 
       dniTygodnia,
       fill = paleta2)



Dotcharts


# Prosta macierz z ocenami
oceny <- c(3.5, 4.2, 3.8, 4.5, 3.0)
names(oceny) <- c("Jan", "Anna", "Piotr", "Ewa", "Marek")

dotchart(oceny, 
         main = "Oceny studentów",
         xlab = "Ocena")


# Posortujmy samochody według mocy (hp) i zobaczmy ranking
mtcars_sorted <- mtcars[order(mtcars$hp),]

dotchart(mtcars_sorted$hp,
         labels = rownames(mtcars_sorted),
         cex = 0.7,  # rozmiar etykiet
         main = "Ranking samochodów według mocy silnika",
         xlab = "Moc (KM)",
         col = ifelse(mtcars_sorted$cyl == 4, "lightblue",
                     ifelse(mtcars_sorted$cyl == 6, "lightgreen", "lightpink")), # zagnieżdżony ifelse() - o tym później
         pch = 19,  # pełne kółka
         pt.cex = 1.2)  # rozmiar punktów

# Dodajmy legendę
legend("bottomright", 
       legend = c("4 cylindry", "6 cylindrów", "8 cylindrów"),
       col = c("lightblue", "lightgreen", "lightpink"),
       pch = 19,
       cex = 0.8)



Dostosowywanie Wykresów

Kolory

Podsumowanie najpopularniejszych systemów podawania kolorów w R:

  • Nazwy kolorów (słownie): W HTML i CSS można używać nazw kolorów, takich jak red, blue, green, black, white, itp. Jest to wygodne, ale ograniczone do standardowych nazw.

  • HEX (szesnastkowy): Kolory są reprezentowane jako sześciocyfrowe liczby szesnastkowe, np. "#FFFFFF" dla białego lub "#000000" dla czarnego. Każda para cyfr-liter reprezentuje intensywność czerwonego, zielonego i niebieskiego koloru (RGB).

  • RGB (Red, Green, Blue): Kolory są określane przez trzy wartości liczbowe w zakresie od 0 do 255, np. rgb(255, 255, 255) dla białego lub rgb(0, 0, 0) dla czarnego. Każda wartość reprezentuje intensywność odpowiedniego koloru.


Po ile kolorów poprzez nazwę możemy sięgnąć?

length(colors())
## [1] 657

Wyrzucenie do konsoli pierwszych kilkudziesięciu nazw

print(colors(), max = 33)
##  [1] "white"          "aliceblue"      "antiquewhite"   "antiquewhite1" 
##  [5] "antiquewhite2"  "antiquewhite3"  "antiquewhite4"  "aquamarine"    
##  [9] "aquamarine1"    "aquamarine2"    "aquamarine3"    "aquamarine4"   
## [13] "azure"          "azure1"         "azure2"         "azure3"        
## [17] "azure4"         "beige"          "bisque"         "bisque1"       
## [21] "bisque2"        "bisque3"        "bisque4"        "black"         
## [25] "blanchedalmond" "blue"           "blue1"          "blue2"         
## [29] "blue3"          "blue4"          "blueviolet"     "brown"         
## [33] "brown1"        
##  [ reached getOption("max.print") -- omitted 624 entries ]

Wyszukanie wszystkich “niebieskich” kolorów

grep("blue", colors(), value = TRUE)
##  [1] "aliceblue"       "blue"            "blue1"           "blue2"          
##  [5] "blue3"           "blue4"           "blueviolet"      "cadetblue"      
##  [9] "cadetblue1"      "cadetblue2"      "cadetblue3"      "cadetblue4"     
## [13] "cornflowerblue"  "darkblue"        "darkslateblue"   "deepskyblue"    
## [17] "deepskyblue1"    "deepskyblue2"    "deepskyblue3"    "deepskyblue4"   
## [21] "dodgerblue"      "dodgerblue1"     "dodgerblue2"     "dodgerblue3"    
## [25] "dodgerblue4"     "lightblue"       "lightblue1"      "lightblue2"     
## [29] "lightblue3"      "lightblue4"      "lightskyblue"    "lightskyblue1"  
## [33] "lightskyblue2"   "lightskyblue3"   "lightskyblue4"   "lightslateblue" 
## [37] "lightsteelblue"  "lightsteelblue1" "lightsteelblue2" "lightsteelblue3"
## [41] "lightsteelblue4" "mediumblue"      "mediumslateblue" "midnightblue"   
## [45] "navyblue"        "powderblue"      "royalblue"       "royalblue1"     
## [49] "royalblue2"      "royalblue3"      "royalblue4"      "skyblue"        
## [53] "skyblue1"        "skyblue2"        "skyblue3"        "skyblue4"       
## [57] "slateblue"       "slateblue1"      "slateblue2"      "slateblue3"     
## [61] "slateblue4"      "steelblue"       "steelblue1"      "steelblue2"     
## [65] "steelblue3"      "steelblue4"

Przykład wizualizacji pierwszych 69 kolorów

n <- 69
plot(1:n, rep(1, n), col = colors()[1:n], pch = 19, cex = 3,
     main = "Pierwsze 69 kolorów w R", xlab = "", ylab = "")



Symbole punktów (pch)

plot(1:25, rep(1, 25), 
     pch = 1:25, 
     cex = 2, 
     ylim = c(0.5, 1.5),
     main = "Dostępne symbole (pch = 1:25)",
     xlab = "Numer symbolu", 
     ylab = "")
text(1:26, 
     rep(0.7, 25), 
     labels = 1:25, 
     cex = 0.8)



Osie i Siatka


plot(mtcars$wt,
     mtcars$mpg,
     main = "Dostosowane osie",
     xlab = "Waga", 
     ylab = "MPG",
     pch = 19,           # typ punktu (19 = wypełnione kółko)
     col = "navy",       # kolor punktów (granatowy)
     xlim = c(1, 6),     # zakres osi X
     ylim = c(10, 35),   # zakres osi Y
     las = 1)            # etykiety poziomo

# Dodajemy siatkę
grid(col = "gray", # kolor siatki - szry
     lty = "dotted") # typ linii - kropkowana

# Dodajemy linię trendu
abline( # abline -> rysuje linię na podstawie modelu
  lm(mpg ~ wt, data = mtcars), 
  col = "red", 
  lwd = 2 # grubość linii (line width = 2)
  ) 



Legendy


plot(iris$Sepal.Length, iris$Sepal.Width,
     pch = 19,
     col = c("red", "blue", "green")[iris$Species],
     main = "Wymiary działek kielicha",
     xlab = "Długość", ylab = "Szerokość")

legend("topright",                              # pozycja
       legend = levels(iris$Species),           # etykiety
       col = c("red", "blue", "green"),         # kolory
       pch = 19,                                # symbol
       title = "Gatunek")                       # tytuł legendy




Funkcja par(mfrow)


Wiele Wykresów na Jednym Rysunku

par(mfrow = c(2, 2))  # 2 wiersze, 2 kolumny

# Wykres 1
plot(mtcars$wt, mtcars$mpg, main = "Scatter plot", pch = 19, col = "blue")

# Wykres 2
hist(mtcars$mpg, main = "Histogram", col = "lightgreen", border = "white")

# Wykres 3
boxplot(mpg ~ cyl, data = mtcars, main = "Boxplot", col = "coral")

# Wykres 4
barplot(table(mtcars$cyl), main = "Barplot", col = "steelblue")

par(mfrow = c(1, 1))  # Reset do jednego wykresu


Dodawanie Elementów do Istniejącego Wykresu

# Podstawowy wykres
plot(mtcars$wt, 
     mtcars$mpg, 
     pch = 19, 
     col = "gray",
     main = "Dodawanie elementów",
     xlab = "Waga", 
     ylab = "MPG")

# Dodaj linię trendu
abline(lm(mpg ~ wt, data = mtcars), col = "red", lwd = 2)

# Dodaj linie poziomą i pionową
abline(h = mean(mtcars$mpg), 
       col = "blue", 
       lty = 2)

abline(v = mean(mtcars$wt), 
       col = "blue", 
       lty = 2)

# Dodaj tekst
text(5, 30, "Średnie zaznaczone\n niebieskimi liniami", col = "blue")

# Dodaj punkty
points(mtcars$wt[mtcars$mpg > 30], 
       mtcars$mpg[mtcars$mpg > 30], 
       pch = 19, 
       col = "green", 
       cex = 2)


Macierz Wykresów - pairs()

# pairs() - tworzy macierz wykresów rozproszenia (scatterplot matrix)
pairs(iris[, 1:4], # pierwsze 4 kolumny ze zbioru iris (pomiary kwiatów)
      col = iris$Species, # kolor punktów, iris$Species przypisuje kolor według gatunku
      pch = 19, # pch=19 - wypełnione kółka jako symbole punktów
      main = "Macierz wykresów dla zbioru Iris") # tytuł całej macierzy wykresów


Wykres z Marginesami

# Główny wykres
plot(mtcars$wt, mtcars$mpg, 
     pch = 19, col = "steelblue",
     main = "Wykres z histogramami marginalnymi",
     xlab = "Waga", ylab = "MPG")

# Ustawiamy layout
layout( # organizuje okno graficzne w siatkę
  matrix(c(2, 0, 1, 3), 2, 2, byrow = TRUE), # określa rozmieszczenie paneli
  widths = c(3, 1), 
  heights = c(1, 3)
  )

# Górny histogram
par(mar = c(0, 4, 3, 0)) # par(mar = c(dół, lewo, góra, prawo))
hist(mtcars$wt, main = "", xlab = "", ylab = "", 
     col = "lightblue", axes = FALSE)

# Prawy histogram
par(mar = c(4, 0, 0, 3))
hist(mtcars$mpg, main = "", xlab = "", ylab = "", 
     col = "lightblue", axes = FALSE, horiz = TRUE)

par(mfrow = c(1, 1))  # Reset



Podstawowe funkcje:

  • Funkcje TWORZĄCE nowy wykres: plot(), hist(), barplot(), boxplot()

  • Funkcje DODAJĄCE do wykresu: points(), lines(), text(), abline(), legend(), rect(), polygon()


# Przykład z warstwami
plot(1:10, type = "n", main = "Wykres warstwowy")  # pusty canvas
rect(2, 2, 8, 8, col = "lightblue")                # warstwa 1
points(1:10, 1:10, col = "red", pch = 19, cex = 2) # warstwa 2
lines(1:10, 1:10, col = "blue", lwd = 3)           # warstwa 3


# To tworzy NOWY wykres (i zastępuje poprzedni)
plot(1:10)

# To też tworzy NOWY wykres (poprzedni zaorany)
plot(1:5, col = "red")

# Stwórz bazowy wykres (NOWY - kolejny, analogicznie jak wcześniej)
plot(1:10, type = "l", col = "blue")

# DODAJ do niego (nie zastępując)
points(1:10, col = "red", pch = 19)    # dodaj punkty
lines(1:10, lwd = 2, col = "green")    # dodaj linię
text(5, 5, "Tekst", col = "purple")    # dodaj tekst
abline(h = 5, lty = 2)                 # dodaj linię poziomą



Przydatne Parametry Graficzne


Najważniejsze argumenty funkcji par():

# Wyświetl bieżące ustawienia (tylko kilka)
par()[c("mar", "mfrow", "bg")]
## $mar
## [1] 5.1 4.1 4.1 2.1
## 
## $mfrow
## [1] 1 1
## 
## $bg
## [1] "white"
Parametr Opis Przykład
col Kolor col = "red"
pch Kształt punktu pch = 19
cex Rozmiar cex = 1.5
lwd Grubość linii lwd = 2
lty Typ linii lty = "dashed"
main Tytuł główny main = "Mój wykres"
xlab, ylab Etykiety osi xlab = "Oś X"
las Orientacja etykiet las = 1 (poziomo)
xlim, ylim Zakresy osi xlim = c(0, 10)



Czym są parametry graficzne?

To ustawienia, które kontrolują jak wyglądają wszystkie kolejne wykresy, np.:

  • rozmiary marginesów

  • liczba paneli na jednym wykresie

  • kolory, czcionki, grubości linii (domyślne)

  • orientacja tekstu, itd.


Podstawowe przykłady:

# Zobacz wszystkie aktualne parametry
# par()

# Ustaw 4 wykresy w siatce 2x2
par(mfrow = c(2, 2))
plot(1:100)
plot(rlnorm(1000))
hist(rnorm(1000))
boxplot(rnorm(500))

# Wróć do 1 wykresu
par(mfrow = c(1, 1))


Najczęściej używane parametry:

# MARGINESY (bottom, left, top, right)
par(mar = c(5, 4, 4, 2))  # domyślne
par(mar = c(2, 2, 2, 2))  # mniejsze

# UKŁAD WYKRESÓW
par(mfrow = c(2, 3))  # 2 rzędy, 3 kolumny (wypełnianie po wierszach)
par(mfcol = c(2, 3))  # 2 rzędy, 3 kolumny (wypełnianie po kolumnach)

# KOLORY I STYLE
par(col = "blue")      # domyślny kolor linii/punktów
par(bg = "lightgray")  # kolor tła
par(lwd = 2)           # grubość linii

# CZCIONKI
par(cex = 1.5)         # rozmiar tekstu (1 = normalny)
par(family = "serif")  # rodzina czcionek


Ważne: zachowywanie i przywracanie ustawień wykresów

# ZAPISZ obecne ustawienia PRZED zmianą
old_par <- par(no.readonly = TRUE)

# Zmień co chcesz
par(mfrow = c(2, 2), mar = c(2, 2, 2, 2))
# ... twoje wykresy ...

# PRZYWRÓĆ stare ustawienia
par(old_par)

dev.off()

Urządzenia graficzne (devices):

# Sprawdź aktywne urządzenie graficzne
dev.cur() # <- null device o numerze 1 to domyślny stan - oznacza, że nie mamy otwartego żadnego aktywnego urządzenia graficznego.
## png 
##   2
# Lista wszystkich otwartych urządzeń
dev.list()
## png 
##   2
# Zamknij bieżące urządzenie (resetuje canvas)
dev.off()
## null device 
##           1
# Zamknij wszystkie
graphics.off()

Eksport Wykresów


Plik rastrowy

# Zapisz jako PNG
png( # przekierowuje wszystkie kolejne polecenia rysujące do pliku PNG zamiast na ekran.
  "moj_wykres.png", # nazwa pliku, który zostanie utworzony w aktualnym folderze roboczym
  width = 800, 
  height = 600 # rozmiary grafiki w pikselach, bo png jest rastrowy (piksele — bitmapa)
  # res = DPI (dots per inch), czyli rozdzielczość
  ) 

# tworzenie wykresu
plot(mtcars$wt, mtcars$mpg, pch = 19, col = "blue")

dev.off() # Kończy zapis do pliku, „zamyka” grafikę i finalizuje plik PNG. Po tej linijce obraz jest gotowy i zapisany


Plik wektorowy

# Analogicznie można zapisac grafikę do pdf

pdf(# Zapisz jako PDF (wysoka jakość)
  "moj_wykres.pdf", 
  width = 8, 
  height = 6 # 8×6 cali, nie pikseli, bo pdf jest wektorowy (kształty — nieskończona rozdzielczość)
  )
plot(mtcars$wt, mtcars$mpg, pch = 19, col = "blue")
dev.off() # j.w.



WYZWANIE

Odtwórz ten wykres używając base i graphics!

Dataset: mtcars

# Przygotowanie palety kolorów
kolory <- c("#FF6B6B", "#4ECDC4", "#45B7D1", "#FFA07A", "#98D8C8", 
            "#F7DC6F", "#BB8FCE", "#85C1E2", "#F8B739", "#52B788")

# Główny wykres
par(mfrow = c(1, 1),           # jedna ramka
    mar = c(5, 5, 4, 8),       # marginesy: dół, lewo, góra, prawo
    bg = "#F5F5F0",            # kolor tła
    family = "sans")           # czcionka

# Wykres punktowy z wieloma parametrami
plot(mtcars$wt, mtcars$mpg,
     main = "Analiza zużycia paliwa vs waga pojazdu",
     sub = "Dane: mtcars | Rozmiar punktu = moc silnika",
     xlab = "Waga pojazdu (1000 lbs)",
     ylab = "Zużycie paliwa (mpg)",
     pch = 21,                              # puste kółka z obramowaniem
     col = "black",                         # kolor obramowania
     bg = kolory[mtcars$cyl/2],            # kolor wypełnienia wg cylindrów
     cex = mtcars$hp/100,                  # rozmiar wg mocy
     lwd = 2,                              # grubość obramowania
     xlim = c(1, 6),
     ylim = c(8, 36),
     las = 1,                              # etykiety poziomo
     cex.main = 1.5,                       # rozmiar tytułu
     cex.lab = 1.2,                        # rozmiar etykiet osi
     col.main = "#2C3E50",                 # kolor tytułu
     col.lab = "#34495E",                  # kolor etykiet
     font.main = 2,                        # pogrubienie tytułu
     col.sub = "#7F8C8D")                  # kolor podtytułu

# Siatka w tle
grid(nx = 10, ny = 10, 
     col = "#BDC3C7", 
     lty = "dotted", 
     lwd = 0.5)

# Linia trendu
model <- lm(mpg ~ wt, data = mtcars)
abline(model, 
       col = "#E74C3C", 
       lwd = 3, 
       lty = 2)

# Dodatkowe linie referencyjne
abline(h = mean(mtcars$mpg), 
       col = "#3498DB", 
       lwd = 2, 
       lty = 3)
abline(v = mean(mtcars$wt), 
       col = "#2ECC71", 
       lwd = 2, 
       lty = 3)

# Adnotacje tekstowe
text(5.2, 33, 
     labels = paste("R^2 =", round(summary(model)$r.squared, 3)),
     col = "#E74C3C", 
     font = 2, 
     cex = 1.1)

text(5.2, 30.5,
     labels = "Silna korelacja ujemna",
     col = "#E74C3C",
     cex = 0.9,
     font = 3)

# Oznaczenie ekstremalnych punktów
najciezszy <- which.max(mtcars$wt)
arrows(x0 = mtcars$wt[najciezszy] - 0.3, 
       y0 = mtcars$mpg[najciezszy] + 2,
       x1 = mtcars$wt[najciezszy], 
       y1 = mtcars$mpg[najciezszy],
       col = "#9B59B6", 
       lwd = 2, 
       length = 0.1)
text(mtcars$wt[najciezszy] - 0.5, 
     mtcars$mpg[najciezszy] + 3,
     labels = rownames(mtcars)[najciezszy],
     col = "#9B59B6",
     font = 2,
     cex = 0.8)

# Legenda cylinders
legend("topright",
       inset = c(-0.25, 0),        # przesunięcie na prawo
       legend = c("4 cyl", "6 cyl", "8 cyl"),
       pch = 21,
       pt.bg = kolory[c(2, 3, 4)],
       col = "black",
       pt.cex = 1.5,
       pt.lwd = 2,
       title = "Cylindry",
       title.col = "#2C3E50",
       bty = "n",                  # bez ramki
       xpd = TRUE,                 # rysuj poza obszarem wykresu
       cex = 0.9)

# Legenda dla linii
legend("bottomleft",
       legend = c("Regresja", "Średnia MPG", "Średnia waga"),
       col = c("#E74C3C", "#3498DB", "#2ECC71"),
       lty = c(2, 3, 3),
       lwd = c(3, 2, 2),
       bty = "n",
       cex = 0.8)

# Ramka wokół wykresu
box(col = "#34495E", lwd = 2)

# Reset parametrów
par(mfrow = c(1, 1), mar = c(5, 4, 4, 2) + 0.1, bg = "white")




Podsumowanie

Base i graphics w R to potężne narzędzie do:

  • szybkiej eksploracji danych
  • Tworzenia prostych i czytelnych wizualizacji
  • Pełnej kontroli nad każdym elementem wykresu
  • Publikacji gotowych wykresów




Tabele częstości.

Dla zmiennych tekstowych o ograniczonej liczbie poziomów (są to de facto zmienne jakościowe) możemy wyświetlić tabelę częstości za pomocą table()

data(mtcars)
table(mtcars$cyl)
## 
##  4  6  8 
## 11  7 14

Pokazuje ona jedynie liczebności poszczególnych kategorii.

Moglibyśmy, co już widzieliśmy wcześniej, zrobic tak

prop.table(table(mtcars$cyl)) * 100
## 
##      4      6      8 
## 34.375 21.875 43.750

Więcej informacji (i bez kombinowania) możemy zobaczyć używając funkcji tabyl() z pakietu {janitor}

# install.packages("janitor")
library(janitor)
tabyl(mtcars$cyl)
##  mtcars$cyl  n percent
##           4 11 0.34375
##           6  7 0.21875
##           8 14 0.43750

I drobne zabiegi estetyczne

podsumowanie <- data.frame(tabyl(mtcars$cyl))
names(podsumowanie) <- c("Cylindry", "Liczba aut", "Udział")
podsumowanie$Procent <- paste0(podsumowanie$`Udział` * 100, "%")
podsumowanie
##   Cylindry Liczba aut  Udział Procent
## 1        4         11 0.34375 34.375%
## 2        6          7 0.21875 21.875%
## 3        8         14 0.43750  43.75%



qplot


qplot (skrót od *quick plot**) to funkcja w języku R, która pochodzi z pakietu ggplot2 i służy do szybkiego tworzenia wykresów. Jest to prostsza i bardziej intuicyjna alternatywa dla funkcji ggplot(), choć mniej elastyczna i mniej rozbudowana. Pozwala w szybki sposób tworzyć różne typy wykresów, takie jak wykresy punktowe, liniowe, histogramy czy wykresy słupkowe, przy minimalnym nakładzie pracy. Bliżej samemu pakietowi ggplot2 przyjrzymy się na innych zajęciach. Teraz chodzi bardziej o poznanie szybkiego i prostego narzędzia do wizualizacji. Sprawdźmy ją zanim całkowicie zaniknie.

Cechy qplot():

  • Automatyczne dopasowanie typu wykresu: W zależności od przekazanych danych, qplot() sam automatycznie dobiera odpowiedni typ wykresu (np. punktowy, liniowy, histogram).

  • Prostota: Argumenty funkcji qplot są łatwiejsze do zrozumienia dla początkujących. Przykładowo, do stworzenia podstawowego wykresu punktowego wystarczy podać zmienne x i y.

  • Mniej skomplikowana składnia: W porównaniu do bardziej rozbudowanej funkcji ggplot(), qplot() wymaga mniej kodu.

  • Funkcjonalność ggplot2: Mimo prostoty, qplot() dziedziczy wiele funkcji z pełnego systemu wykresów ggplot2, co daje użytkownikom możliwość łatwej rozbudowy wykresów.


library(ggplot2) # pakiet z którego weźmiemy funkcję gplot()

Wykres słupkowy (Bar Plot)

# Wykres słupkowy kategorii cyl z ramki danych mtcars
qplot(factor(cyl), # <- dlaczego musi być factor?
      data = mtcars, 
      geom = "bar")

# qplot(factor(cyl), data = mtcars)


Histogram (Histogram)

# Histogram zmiennej mpg (miles per gallon)
qplot(mpg, 
      data = mtcars, 
      geom = "histogram", 
      bins = 20, 
      fill=I("light blue")
      )

# qplot(mpg, data = mtcars)


Wykres gęstości (Density Plot)

# Wykres gęstości dla zmiennej mpg
qplot(x = mpg, 
      data = mtcars, 
      geom = "density",
      fill=I("lightblue"),
      alpha=I(0.5)
      )

qplot(y = mpg, 
      data = mtcars, 
      geom = "density",
      fill=I("lightblue"),
      alpha=I(0.5)
      )


Wykres pudełkowy (Box Plot)

# Wykres pudełkowy dla mpg w podziale na liczbę cylindrów
qplot(factor(cyl), 
      mpg, #  a measure of the average distance traveled per unit of energy consumed
      data = mtcars, 
      geom = "boxplot", 
      fill=I("lightgreen"))


Wykres punktowy z kolorami zależnymi od zmiennej (Scatter Plot with Coloring)

# Wykres punktowy z kolorami zależnymi od liczby cylindrów
qplot(mpg, 
      wt, 
      data = mtcars, 
      color = factor(cyl))


Wykres liniowy z wieloma liniami (Line Plot with Multiple Lines)

# Wykres liniowy dla mpg z grupowaniem według liczby cylindrów
qplot(x = hp, 
      y = mpg, 
      data = mtcars, 
      geom = "line", 
      color = factor(cyl))


Wykres punktowy z linią regresji (Scatter Plot with Regression Line)

# Wykres punktowy z linią regresji
qplot(mpg, 
      wt, # 1000 lbs = 453.59237
      data = mtcars, 
      geom = c("point", "smooth"), 
      method = "lm")


Wykres punktowy z rozmiarem punktów zależnym od zmiennej (Bubble Plot)

# Wykres punktowy z rozmiarem punktów zależnym od liczby koni mechanicznych (hp)
qplot(mpg, 
      wt, 
      data = mtcars, 
      size = hp)


Wykres heksagonalny (Hexbin Plot)

# Wykres heksagonalny (hexbin)
# install.packages("hexbin")
library(hexbin)
qplot(mpg, 
      wt, 
      data = mtcars, 
      geom = "hex")




Diagram Venna


Diagram Venna przedstawia wszystkie możliwe kombinacje i zależności między zbiorami, niezależnie od tego, czy są one puste. Każda część wykresu, która reprezentuje przecięcie, istnieje nawet wtedy, gdy faktycznie nie zawiera elementów.

# Instalacja pakietu {VennDiagram}, jeśli jeszcze nie jest zainstalowany
# install.packages("VennDiagram")

# Załadowanie pakietu
library(VennDiagram)

# Dane do stworzenia diagramu Venna (trzy zbiory)
set1 <- c("A", "B", "C", "D", "C", "D")
set2 <- c("B", "C", "E", "F", "C", "D")
set3 <- c("C", "D", "G", "H", "C", "D")

# Tworzenie diagramu Venna
venn.plot <- venn.diagram(
  x = list(set1 = set1, set2 = set2, set3 = set3),
  category.names = c("Set 1", "Set 2", "Set 3"),
  filename = NULL
)

# Wyświetlenie diagramu Venna
grid.draw(venn.plot)



Diagram Euler’a


Wykres Eulera pokazuje tylko te części, które faktycznie istnieją. Jeśli dwa zbiory nie mają wspólnych elementów, nie będą miały wspólnej części na wykresie. Jest bardziej elastyczny i realistyczny, bo nie pokazuje obszarów, które nie mają faktycznego odpowiednika w danych zbiorach

# Instalacja i załadowanie pakietu {eulerr} (jeśli jeszcze nie jest zainstalowany)
# install.packages("eulerr")
library(eulerr)

# Dane do diagramu Eulera
set1 <- c("A", "B", "C", "D", "F", "G", "H", "I", "J", "K")
set2 <- c("B", "C", "E", "F", "D", "Z", "X")
set3 <- c("C", "D", "G", "H")

# Utworzenie listy zestawów danych
sets_list <- list(Set1 = set1, Set2 = set2, Set3 = set3)

# Utworzenie diagramu Eulera
euler_plot <- euler(sets_list)

# Wyświetlenie diagramu Eulera
plot(euler_plot, quantities = TRUE, main = "Diagram Eulera dla zestawów danych")





dplyr


Po wczytaniu danych kolejnym etapem analizy jest czyszczenie zbioru danych, wykrywanie braków danych oraz przekształcanie zmiennych. Poznamy najpopularniejszy pakiet do przetwarzania danych dplyr, będący obecnie standardem w świecie R-owym i jednocześnie elementem projektu tidyverse, czyli uniwersum pakietów rozwijanych przez RStudio (więcej informacji znajdziesz pod tym linkiem: https://www.tidyverse.org/).

Pakiet dplyr jest wzorowany na języku SQL - dlatego osoby, które pracowały kiedyś z bazami danych poczują się jak w domu.

Poznamy:

  • funkcję filter() (filtrowanie zbioru),
  • funkcję select() (wybór kolumn),
  • funkcję rename() (zmiana nazwy zmiennych),
  • funkcję arrange() (sortowanie),
  • funkcję mutate() (tworzenie nowych zmiennych).


# install.packages('dplyr') # instalacja i wczytanie pakietu
library(dplyr)

# wczytanie danych
a <- read.csv('dane/footballers.csv', 
              sep = ';', 
              stringsAsFactors = F)


Filtrowanie obserwacji w zbiorze

Funkcja filter()

# Wybór osób powyżej 25 lat
head(
  filter(a, age > 25)
  , 5)
##   market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1         50.0  29    175     69        8          8          2         108
## 2         20.0  26    180     70        4          1          0          11
## 3          8.0  29    177     74        0          0          1          45
## 4          5.0  29    180     68        0          8          0          41
## 5          2.5  31    180     78        0          0          0          20
##   goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1          0        44      70         233   23      35       724         328
## 2          0         9      23          44   39       5        83          39
## 3          0         0       1         130   28      20       283         118
## 4          0         0       7         190   22      27       344         111
## 5          5         0       1          62   30       4       154          56
##   top_spa top_ita top_eng top_ger top_fra rank popularity        name
## 1       0       0       0       0       0    9     14.700 david villa
## 2       0       0       0       0       0   51      1.730      nilmar
## 3       0       0       0       0       0  110      0.012      aduriz
## 4       0       0       0       0       0  718     14.200      garcia
## 5       0       0       0       0       0 1693      0.877      alonso
# Wybór osób  w wieku od 21 do 25
head(
  filter(a, age > 21 & age < 25)
  , 5)
##   market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1          100  23    169     67       25          0         16          87
## 2           25  23    169     64        4          0          6          12
## 3            3  22    175     72        0          0          0           2
## 4           25  23    184     73       13          0          2          52
## 5           35  23    183     82        2          0          1          59
##   goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1          0        14      52         198   35      47       600         275
## 2          0         1      11          38   25       4        71          37
## 3          0         0       0           6   11       0         7           4
## 4          0        11      32         132   57      17       453         184
## 5          5         7      12         131   42      29       335         166
##   top_spa top_ita top_eng top_ger top_fra rank popularity         name
## 1       1       0       0       0       0    1      57.20 lionel messi
## 2       0       0       0       0       0   57       9.58        pedro
## 3       0       0       0       0       0 1713       3.98      jeffren
## 4       0       0       0       0       1  756       9.61      benzema
## 5       0       0       0       0       0    3       4.49      higuain
# Podobnie, tylko za pomocą funkcji between
head(
  filter(a, between(age, 21, 25))
  , 5)
##   market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1          100  23    169     67       25          0         16          87
## 2           25  23    169     64        4          0          6          12
## 3            3  22    175     72        0          0          0           2
## 4           25  23    184     73       13          0          2          52
## 5           35  23    183     82        2          0          1          59
##   goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1          0        14      52         198   35      47       600         275
## 2          0         1      11          38   25       4        71          37
## 3          0         0       0           6   11       0         7           4
## 4          0        11      32         132   57      17       453         184
## 5          5         7      12         131   42      29       335         166
##   top_spa top_ita top_eng top_ger top_fra rank popularity         name
## 1       1       0       0       0       0    1      57.20 lionel messi
## 2       0       0       0       0       0   57       9.58        pedro
## 3       0       0       0       0       0 1713       3.98      jeffren
## 4       0       0       0       0       1  756       9.61      benzema
## 5       0       0       0       0       0    3       4.49      higuain
# Wybierzmy osoby o danym wieku i wzroście
head(
  filter(a, age == 23 & height <= 180)
  , 5)
##   market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1        100.0  23    169     67       25          0         16          87
## 2         25.0  23    169     64        4          0          6          12
## 3         20.0  23    171     72        3          2          6          43
## 4          3.0  23    175     72        0          0          0           1
## 5          7.5  23    175     70        0          4          2          24
##   goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1          0        14      52         198   35      47       600         275
## 2          0         1      11          38   25       4        71          37
## 3          0         3      18         136   40      19       407         188
## 4          0         1       6           0    5       0         8           1
## 5         10         5      28         176   30       4        64          33
##   top_spa top_ita top_eng top_ger top_fra rank popularity         name
## 1       1       0       0       0       0    1     57.200 lionel messi
## 2       0       0       0       0       0   57      9.580        pedro
## 3       0       0       0       0       0   22      2.510        rossi
## 4       0       0       0       0       0 1368      0.122  biram diouf
## 5       0       0       0       0       0 1924      0.044      dembele
# Można również:
head(
  filter(a, age == 23, height <= 180)
  , 5)
##   market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1        100.0  23    169     67       25          0         16          87
## 2         25.0  23    169     64        4          0          6          12
## 3         20.0  23    171     72        3          2          6          43
## 4          3.0  23    175     72        0          0          0           1
## 5          7.5  23    175     70        0          4          2          24
##   goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1          0        14      52         198   35      47       600         275
## 2          0         1      11          38   25       4        71          37
## 3          0         3      18         136   40      19       407         188
## 4          0         1       6           0    5       0         8           1
## 5         10         5      28         176   30       4        64          33
##   top_spa top_ita top_eng top_ger top_fra rank popularity         name
## 1       1       0       0       0       0    1     57.200 lionel messi
## 2       0       0       0       0       0   57      9.580        pedro
## 3       0       0       0       0       0   22      2.510        rossi
## 4       0       0       0       0       0 1368      0.122  biram diouf
## 5       0       0       0       0       0 1924      0.044      dembele
# Wybierzmy osoby w wieku 20 LUB 23 lata
head(
  filter(a, age == 23 | age == 20)
  , 5)
##   market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1           12  20    173     65        5          0          7          20
## 2          100  23    169     67       25          0         16          87
## 3           25  23    169     64        4          0          6          12
## 4           25  23    184     73       13          0          2          52
## 5           35  23    183     82        2          0          1          59
##   goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1          0         0       1          47   67      11       139          62
## 2          0        14      52         198   35      47       600         275
## 3          0         1      11          38   25       4        71          37
## 4          0        11      32         132   57      17       453         184
## 5          5         7      12         131   42      29       335         166
##   top_spa top_ita top_eng top_ger top_fra rank popularity         name
## 1       0       0       0       0       0  828       1.04  bojan krkic
## 2       1       0       0       0       0    1      57.20 lionel messi
## 3       0       0       0       0       0   57       9.58        pedro
## 4       0       0       0       0       1  756       9.61      benzema
## 5       0       0       0       0       0    3       4.49      higuain

Zwróćmy uwagę, że w funkcji filter() możemy używać również operatora %in%

c("lionel messi", "sinama", "palladino", "rodallega", "ljuboja", "ebbers", "macheda")
## [1] "lionel messi" "sinama"       "palladino"    "rodallega"    "ljuboja"     
## [6] "ebbers"       "macheda"
# Tradycyjnie napisalibyśmy:
head(
  filter(a, name == 'lionel messi' | name == 'sinama' | name == 'palladino' | 
         name == 'rodallega'  | name == 'ljuboja'  | name == 'ebbers'  | name == 'macheda') 
  , 10)
##   market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1        100.0  23    169     67       25          0         16          87
## 2          4.0  26    175     69        1          0          4          28
## 3          1.5  19    184     77        0          0          0           3
## 4          7.5  25    181     72        0          0          0          13
## 5          7.0  26    182     68        0          0          0          11
## 6          1.0  33    192     88        0          0          0           2
## 7          2.5  32    189     78        0          0          0          16
##   goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1          0        14      52         198   35      47       600         275
## 2          1         0       1          92   61      13       162          66
## 3          0         0       0           8    7       2        20           7
## 4          0         8      34          47    6       4       188          63
## 5          0         0       3          67   43       7       101          42
## 6         30         0       0          77   10      11       151          73
## 7          0         1      18          39   17       3       135          49
##   top_spa top_ita top_eng top_ger top_fra rank popularity         name
## 1       1       0       0       0       0    1     57.200 lionel messi
## 2       0       0       0       0       0 1528      0.083       sinama
## 3       0       0       0       0       0 1815      0.458      macheda
## 4       0       0       0       0       0  346      0.212    rodallega
## 5       0       0       0       0       0 1431      0.133    palladino
## 6       0       0       0       0       0 1076      0.069       ebbers
## 7       0       0       0       0       0  713      0.318      ljuboja
# Strasznie długo. Spróbujmy wykorzystać operator `%in%`:
head(
  filter(a, name %in% c("lionel messi", "sinama", "palladino", "rodallega", "ljuboja", "ebbers", "macheda"))
  , 10)
##   market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1        100.0  23    169     67       25          0         16          87
## 2          4.0  26    175     69        1          0          4          28
## 3          1.5  19    184     77        0          0          0           3
## 4          7.5  25    181     72        0          0          0          13
## 5          7.0  26    182     68        0          0          0          11
## 6          1.0  33    192     88        0          0          0           2
## 7          2.5  32    189     78        0          0          0          16
##   goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1          0        14      52         198   35      47       600         275
## 2          1         0       1          92   61      13       162          66
## 3          0         0       0           8    7       2        20           7
## 4          0         8      34          47    6       4       188          63
## 5          0         0       3          67   43       7       101          42
## 6         30         0       0          77   10      11       151          73
## 7          0         1      18          39   17       3       135          49
##   top_spa top_ita top_eng top_ger top_fra rank popularity         name
## 1       1       0       0       0       0    1     57.200 lionel messi
## 2       0       0       0       0       0 1528      0.083       sinama
## 3       0       0       0       0       0 1815      0.458      macheda
## 4       0       0       0       0       0  346      0.212    rodallega
## 5       0       0       0       0       0 1431      0.133    palladino
## 6       0       0       0       0       0 1076      0.069       ebbers
## 7       0       0       0       0       0  713      0.318      ljuboja
head(
  filter(a, !name %in% c("lionel messi", "sinama", "palladino", "rodallega", "ljuboja", "ebbers", "macheda"))
  , 10)
##    market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1            12  20    173     65        5          0          7          20
## 2            25  23    169     64        4          0          6          12
## 3             3  22    175     72        0          0          0           2
## 4            50  29    175     69        8          8          2         108
## 5            25  23    184     73       13          0          2          52
## 6            35  23    183     82        2          0          1          59
## 7            90  25    185     75       23          0         11         101
## 8            20  26    180     70        4          1          0          11
## 9            20  23    171     72        3          2          6          43
## 10            3  24    179     72        0          0          0           7
##    goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1           0         0       1          47   67      11       139          62
## 2           0         1      11          38   25       4        71          37
## 3           0         0       0           6   11       0         7           4
## 4           0        44      70         233   23      35       724         328
## 5           0        11      32         132   57      17       453         184
## 6           5         7      12         131   42      29       335         166
## 7           0        25      79         246   25      51      1322         579
## 8           0         9      23          44   39       5        83          39
## 9           0         3      18         136   40      19       407         188
## 10         17         1       1          60   17       3        76          36
##    top_spa top_ita top_eng top_ger top_fra rank popularity        name
## 1        0       0       0       0       0  828       1.04 bojan krkic
## 2        0       0       0       0       0   57       9.58       pedro
## 3        0       0       0       0       0 1713       3.98     jeffren
## 4        0       0       0       0       0    9      14.70 david villa
## 5        0       0       0       0       1  756       9.61     benzema
## 6        0       0       0       0       0    3       4.49     higuain
## 7        0       0       1       0       0    2      61.60   cristiano
## 8        0       0       0       0       0   51       1.73      nilmar
## 9        0       0       0       0       0   22       2.51       rossi
## 10       0       0       0       0       0 1618       1.99       ruben

Na koniec tej sekcji spróbujmy wybrać unikalne wartości zmiennych:

unique(a$age) # <- co zwróciło?
##  [1] 20 23 22 29 25 26 24 31 18 28 33 27 30 35 34 21 17 19 32 37 36
distinct(a, age) # <- co zwróciło?
##    age
## 1   20
## 2   23
## 3   22
## 4   29
## 5   25
## 6   26
## 7   24
## 8   31
## 9   18
## 10  28
## 11  33
## 12  27
## 13  30
## 14  35
## 15  34
## 16  21
## 17  17
## 18  19
## 19  32
## 20  37
## 21  36
# Można robić distinct po wielu zmiennych:
distinct(a, age, top_spa)
##    age top_spa
## 1   20       0
## 2   23       1
## 3   23       0
## 4   22       0
## 5   29       0
## 6   25       0
## 7   26       0
## 8   24       0
## 9   31       0
## 10  31       1
## 11  18       0
## 12  28       0
## 13  33       0
## 14  27       0
## 15  30       0
## 16  35       0
## 17  34       0
## 18  21       0
## 19  17       0
## 20  19       0
## 21  32       0
## 22  37       0
## 23  36       0
## 24  29       1
## 25  34       1


Sortowanie obserwacji

Funkcja arrange()

# Rosnąco po wieku:
head(
  arrange(a, age)
  , 10)
##    market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1           1.0  17    170     63        0          0          0           0
## 2           6.0  18    169     63        0          0          0           4
## 3           1.5  19    184     77        0          0          0           3
## 4          12.0  20    173     65        5          0          7          20
## 5          26.0  20    189     88        2          0          0          20
## 6           2.5  20    185     73        0          0          4           1
## 7           6.5  20    186     70        0          0          0           7
## 8           8.0  20    183     74        0          0          0           5
## 9           6.0  21    163     63        0          0          0          12
## 10          8.0  21    183     73        4          0         11          39
##    goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1           0         0       0           0    5       1         2           1
## 2           0         0       0           4   22       3        16          10
## 3           0         0       0           8    7       2        20           7
## 4           0         0       1          47   67      11       139          62
## 5           0         0       2          42   34      13       153          56
## 6           2         0       0          23    9       3        38          16
## 7           0         1       1           8   19       2        32          13
## 8           0         0       1          25    9       2        38          18
## 9          12         0       0          89   34       9       129          58
## 10          0         4      19         104   64      13       364         165
##    top_spa top_ita top_eng top_ger top_fra rank popularity        name
## 1        0       0       0       0       0 1753      0.563      juanmi
## 2        0       0       0       0       0  914      0.431      munian
## 3        0       0       0       0       0 1815      0.458     macheda
## 4        0       0       0       0       0  828      1.040 bojan krkic
## 5        0       0       0       0       0 1174      9.170   balotelli
## 6        0       0       0       0       0  932      0.500     welbeck
## 7        0       0       0       0       0 1412      4.600   hernandez
## 8        0       0       0       0       0  384      0.024     schurle
## 9        0       0       0       0       0  384      0.841      piatti
## 10       0       0       0       0       0  917      0.858        saha
# Malejąco po wieku:
head(
  arrange(a, desc(age))
  , 10)
##    market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1           1.0  37    170     70        0          0          6           8
## 2           4.0  37    181     74       16          3          2          40
## 3           7.0  36    173     73        8          0          4          55
## 4           1.5  35    167     70        0          0          1          13
## 5           1.5  35    188     85        4          5          0          54
## 6           2.0  35    184     78        4          2          1          36
## 7           2.0  34    184     74        0         11          3          35
## 8          10.0  34    180     70        7          3          1          82
## 9           3.0  34    178     76        0          0          1          47
## 10          0.6  34    171     72        0          1          1          29
##    goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1          55         0       8         119   51      19       346         203
## 2           0        25      57          86   76       8       249         105
## 3           0        27      91         129   44      20       366         139
## 4           0         2      21         161   11      42       213          51
## 5           0         3       6         123   15       5       210          66
## 6           0        35      64         106   60      13       197          85
## 7           0         0       4         101   69      10       250          97
## 8           0         9      58         167    7      32       461         113
## 9           0         2      14          97   28       7       263          96
## 10          0         0       6         105   34      10       208          70
##    top_spa top_ita top_eng top_ger top_fra rank popularity      name
## 1        0       0       0       0       0 1895      3.940  phillips
## 2        0       0       0       0       0 1607      2.730   inzaghi
## 3        0       1       0       0       0  440      2.890 del piero
## 4        0       0       0       0       0  839      0.069   munitis
## 5        0       0       0       0       0 1445      0.162 lucarelli
## 6        0       0       0       0       0  592     19.500    crespo
## 7        0       0       0       0       0  685      0.174  pandiani
## 8        0       1       0       0       0  796      2.640     totti
## 9        0       0       0       0       0  238      0.654   di vaio
## 10       0       0       0       0       0 1116      3.910 di michel
# Rosnąco po wieku, malejąco po wzroście:
head(
  arrange(a, age, desc(height))
  , 10)
##    market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1           1.0  17    170     63        0          0          0           0
## 2           6.0  18    169     63        0          0          0           4
## 3           1.5  19    184     77        0          0          0           3
## 4          26.0  20    189     88        2          0          0          20
## 5           6.5  20    186     70        0          0          0           7
## 6           2.5  20    185     73        0          0          4           1
## 7           8.0  20    183     74        0          0          0           5
## 8          12.0  20    173     65        5          0          7          20
## 9           2.5  21    193     80        0          0          1           1
## 10          7.5  21    192     83        0          1          0           0
##    goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1           0         0       0           0    5       1         2           1
## 2           0         0       0           4   22       3        16          10
## 3           0         0       0           8    7       2        20           7
## 4           0         0       2          42   34      13       153          56
## 5           0         1       1           8   19       2        32          13
## 6           2         0       0          23    9       3        38          16
## 7           0         0       1          25    9       2        38          18
## 8           0         0       1          47   67      11       139          62
## 9           0         0       0          16   26       3        39          18
## 10         12         4       9          35   23       5        25          17
##    top_spa top_ita top_eng top_ger top_fra rank popularity        name
## 1        0       0       0       0       0 1753      0.563      juanmi
## 2        0       0       0       0       0  914      0.431      munian
## 3        0       0       0       0       0 1815      0.458     macheda
## 4        0       0       0       0       0 1174      9.170   balotelli
## 5        0       0       0       0       0 1412      4.600   hernandez
## 6        0       0       0       0       0  932      0.500     welbeck
## 7        0       0       0       0       0  384      0.024     schurle
## 8        0       0       0       0       0  828      1.040 bojan krkic
## 9        0       0       0       0       0 1731      4.530    di santo
## 10       0       0       0       0       0 1143      0.280  arnautovic


Inne operacje na wierszach

dplyr oferuje wiele dodatkowych funkcji do pracy z wierszami, które są jednak wykorzystywane zdecydowanie rzadziej.

Poniżej kilka z nich:

# losowe wybranie frakcji zbioru, ze zwracaniem lub bez
sample_frac(a, 0.5, replace = TRUE)
##     market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1           8.50  27    191     77        0          0          4          26
## 2          20.00  25    195     90        0          6          5          42
## 3          10.00  22    191     78        8          0          8          20
## 4           5.00  28    179     75        0          1          0          20
## 5           7.50  23    188     78        3          2          3           6
## 6           2.50  31    183     75        0          1          0          47
## 7           3.00  22    175     72        0          0          0           2
## 8           4.50  21    190     76        2          1          1           8
## 9           9.50  22    168     62        0          0          0           8
## 10          4.00  27    187     27        1          2          0           0
## 11          3.00  32    188     77        1          0          6          31
## 12          4.50  29    183     81        0          0          0          17
## 13         15.00  27    186     78        3         12          1          15
## 14          4.50  29    172     71        0          1          2          38
## 15          2.50  24    173     91        0          0          2           2
## 16          4.00  22    180     70        0          0          0           2
## 17         19.00  26    180     77        0          0          6          51
## 18          4.50  29    194     80        0          2          2          15
## 19          6.50  26    177     76        0          0          2          11
## 20          2.00  30    181     72        0          2          4          11
## 21          3.00  32    185     89        3          0          4          13
## 22         10.00  30    175     64        2          7         15          58
## 23          5.70  27    183     78        0          0          0           8
## 24          3.50  33    177     71        4          2          3          61
## 25         13.00  33    170     78        0          4          1          78
## 26          3.50  28    180     78        0          2          1          26
## 27          1.80  24    180     68        0          0          0           3
## 28          2.50  21    193     80        0          0          1           1
## 29          0.75  27    178     76        0          0          0           7
## 30          5.00  27    178     71        2          0          1          17
## 31          8.50  27    191     77        0          0          4          26
## 32          7.00  30    202     96        0          0          0          30
## 33          7.50  23    188     78        3          2          3           6
## 34         16.00  31    179     75        4          3          4          95
## 35         23.00  22    170     63        0          0          0          25
## 36          7.00  26    182     68        0          0          0          11
## 37         25.00  27    186     76        8          2          4          45
## 38          1.50  30    183     79        0          0          0          10
## 39         10.00  30    175     64        2          7         15          58
## 40          4.00  32    188     83        0          0          3          26
## 41          4.50  29    172     71        0          1          2          38
## 42          4.00  26    175     69        1          0          4          28
## 43          4.50  29    194     80        0          2          2          15
## 44          8.50  31    173     71        4          0          5          29
## 45          5.50  27    186     81        0          0          1           0
## 46          3.00  32    188     77        1          0          6          31
## 47          1.50  35    167     70        0          0          1          13
## 48         12.00  20    173     65        5          0          7          20
## 49          4.00  27    181     78        0          0          0          33
## 50         25.00  23    169     64        4          0          6          12
## 51         11.50  27    191     76        0          3          1          23
## 52          4.00  22    185     78        0          3          0           9
## 53         35.00  23    183     82        2          0          1          59
## 54          2.00  24    180     74        0          0          3           0
## 55         18.00  28    170     66        0          6         12          63
## 56          6.00  31    175     76        0          0          2          46
## 57         14.00  27    191     78        0          0          1          51
## 58          4.50  29    183     81        0          0          0          17
## 59         50.00  29    175     69        8          8          2         108
## 60         10.00  34    180     70        7          3          1          82
## 61         34.00  26    170     67        6          0         15          49
## 62          3.50  33    183     80        1          3          9          37
## 63          4.50  24    192     88        0          0          6           0
## 64          5.00  23    185     76        0          0         11           8
## 65          2.00  24    180     74        0          0          3           0
## 66         10.00  34    180     70        7          3          1          82
## 67         18.00  26    180     75        0          5         10          74
## 68          0.50  31    190     82        0          0          1           8
## 69          5.00  27    178     71        2          0          1          17
## 70          3.50  28    180     78        0          2          1          26
## 71         15.00  26    174     72        3          1          3          17
## 72          3.00  34    178     76        0          0          1          47
## 73          3.60  23    182     70        0          0          0           4
## 74          1.20  24    180     75        0          0          0           0
## 75         15.00  27    182     73        0          8          0          52
## 76         37.50  29    179     75       14          0          3          95
## 77          5.00  24    182     74        0          0          0          15
## 78          8.50  31    182     85        8          0          7          40
## 79          4.50  22    187     81        0          0          5           2
## 80          2.30  30    185     80        0          3          2          29
## 81          1.50  35    188     85        4          5          0          54
## 82          2.00  27    182     78        3          0          0           1
## 83          1.00  24    176     70        0          0          0           1
## 84         18.00  27    184     75        5          0          6          48
## 85         14.00  25    186     78        5          0         10          32
## 86          3.60  23    192     78        0          0          2           0
## 87          2.30  30    185     80        0          3          2          29
## 88         35.00  21    179     71        2          0          1          36
## 89         15.00  23    176     76        0          0          0          20
## 90          1.20  24    180     75        0          0          0           0
## 91          2.00  34    184     74        0         11          3          35
## 92         28.00  31    179     78        6          0          6          99
## 93          4.00  26    175     69        1          0          4          28
## 94         11.50  27    191     76        0          3          1          23
## 95          7.00  32    182     74       12          7          4          61
## 96          3.00  23    191     89        0          0          5           3
## 97         25.00  23    169     64        4          0          6          12
## 98         15.00  27    186     78        3         12          1          15
## 99         35.00  21    179     71        2          0          1          36
## 100         7.50  32    186     84        7          5          2          54
## 101         5.70  27    183     78        0          0          0           8
## 102         3.00  21    185     74        0          0          0           2
## 103         1.50  35    188     85        4          5          0          54
## 104        28.00  31    179     78        6          0          6          99
## 105        23.00  26    192     73        8          3          6          51
## 106         4.50  22    187     81        0          0          5           2
## 107         1.20  30    186     80        0          0          0           0
## 108         3.00  34    178     76        0          0          1          47
## 109        34.00  26    170     67        6          0         15          49
## 110         8.50  31    168     64        4          0          0          41
## 111         5.00  24    182     74        0          0          0          15
## 112         4.00  27    181     78        0          0          0          33
## 113        35.00  21    179     71        2          0          1          36
## 114         3.00  21    185     74        0          0          0           2
## 115         6.00  31    175     76        0          0          2          46
## 116        25.00  23    184     73       13          0          2          52
## 117         4.00  32    188     83        0          0          3          26
## 118         7.50  25    181     72        0          0          0          13
## 119         6.50  29    185     75        0          3          9          28
## 120         9.50  24    181     85        0          0          0          37
## 121         8.00  29    177     74        0          0          1          45
## 122         5.00  23    185     76        0          0         11           8
## 123         4.50  24    192     88        0          0          6           0
## 124         5.00  31    183     73        0          0          0          30
## 125        15.00  24    184     76        0          0          0          28
## 126         4.50  22    187     81        0          0          5           2
## 127         2.00  35    184     78        4          2          1          36
## 128        90.00  25    185     75       23          0         11         101
## 129         3.00  24    184     77        0          0          2           0
##     goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1            0         0       7          89   47      17       293         128
## 2            0         7      13         124   45      16       347         134
## 3           11        12      35         115   73      28       301         151
## 4            0         4      26          68   41       5       166          63
## 5            5         0       3          64   28       7       102          38
## 6            4        16      54         122   36       5       146          61
## 7            0         0       0           6   11       0         7           4
## 8            0         0       0          31   40       1        91          33
## 9            0        11      33          44   21       5       104          34
## 10           4         0       4          38    7       0        21          11
## 11           0         0       1         130   38      15       229          87
## 12           0         0       0          81    7       6       175          67
## 13          96        26      42         191   34       5       107          53
## 14           0         9      35          92   50      12       155          52
## 15          59         0       0         129   33      18       286         161
## 16           0         0       1          17    0       0        41          16
## 17           0         1      12         121   49      11       296         114
## 18           0         0       2          67   21       0        77          31
## 19          15         0       6          82    7       3        99          50
## 20          23         9      50         108   38      14       227         108
## 21           0        24      63         104   78      10       159          78
## 22          12        45     103         202   44      33       406         233
## 23          20         0       0          42   19       1        63          38
## 24           0         0       3         157   35      21       299         121
## 25           0        10      36         173   26      25       455         198
## 26           0        17      44          85   92      12       203          71
## 27          27         0       2          67   24       1        46          36
## 28           0         0       0          16   26       3        39          18
## 29           0         0       0          11    9       2        50          18
## 30           0        10      45         136   35      12       280          93
## 31           0         0       7          89   47      17       293         128
## 32           0        15      41          59   23       8       160          62
## 33           5         0       3          64   28       7       102          38
## 34           0        29      69         208   13      25       628         255
## 35           0        10       3          82   15      18       144          60
## 36           0         0       3          67   43       7       101          42
## 37           0        11      21         147   52      21       346         149
## 38           0         7      21          13   34       5        87          30
## 39          12        45     103         202   44      33       406         233
## 40           0         7      62         173   24      17       262         121
## 41           0         9      35          92   50      12       155          52
## 42           1         0       1          92   61      13       162          66
## 43           0         0       2          67   21       0        77          31
## 44           0        40      89          92   37       8       173         101
## 45          17         0       0          32   23       4       101          46
## 46           0         0       1         130   38      15       229          87
## 47           0         2      21         161   11      42       213          51
## 48           0         0       1          47   67      11       139          62
## 49           0         0       4          55   25       8       108          94
## 50           0         1      11          38   25       4        71          37
## 51           7         0       4          70   16       5       154          67
## 52           0         5      25          68   46       3        92          45
## 53           5         7      12         131   42      29       335         166
## 54           2         1      15          26   45       4        40          25
## 55           0        12      43         147   83      25       537         277
## 56           0         1       1         122   27       8       214          88
## 57           0         0       6         124   14      17       315         135
## 58           0         0       0          81    7       6       175          67
## 59           0        44      70         233   23      35       724         328
## 60           0         9      58         167    7      32       461         113
## 61           0        12      58         165   42      32       488         227
## 62           0        35      79         109   40      10       217         101
## 63          30         0       0          61    7       0        31          30
## 64          39         1       8         156   44      16       291         114
## 65           2         1      15          26   45       4        40          25
## 66           0         9      58         167    7      32       461         113
## 67           0         0       6         160   41      13       418         231
## 68           1        24      85          42   36       6        96          37
## 69           0        10      45         136   35      12       280          93
## 70           0        17      44          85   92      12       203          71
## 71          49        12      43         183   10      17       160          60
## 72           0         2      14          97   28       7       263          96
## 73           4         0       4          60   41       4        80          31
## 74          12         0       0          14   21       1        22          15
## 75           0         6      25         164   40      16       520         175
## 76           0        44      97         195   13      36       614         243
## 77           0         0       0          37   32       1       155          53
## 78           0        13      68         106   23      13       312         141
## 79           0         1       4          21   13       3        46           9
## 80           0         0       6          61   43       6       128          52
## 81           0         3       6         123   15       5       210          66
## 82           0         9      34          63   22       3        53          14
## 83           2         0       0          40   18       0        21           7
## 84           0        23      53         163   29      16       246         119
## 85          15        11      35         159   78      33       251         112
## 86          15         0       0          30    7       0        45          15
## 87           0         0       6          61   43       6       128          52
## 88           0         4      11          81   23       8       249         103
## 89           0         0       0          93   14      17       329         119
## 90          12         0       0          14   21       1        22          15
## 91           0         0       4         101   69      10       250          97
## 92           0         4      24         187   19      22       426         178
## 93           1         0       1          92   61      13       162          66
## 94           7         0       4          70   16       5       154          67
## 95           0        59     106         205   36      35       383         169
## 96          11         0       0          45   45      11       192         110
## 97           0         1      11          38   25       4        71          37
## 98          96        26      42         191   34       5       107          53
## 99           0         4      11          81   23       8       249         103
## 100          0        13      55         141   46      17       368         156
## 101         20         0       0          42   19       1        63          38
## 102          8         3      12          27   21      10        24          15
## 103          0         3       6         123   15       5       210          66
## 104          0         4      24         187   19      22       426         178
## 105          0        16      38         174   31      22       403         194
## 106          0         1       4          21   13       3        46           9
## 107         18         2       8          44   31       1        39          22
## 108          0         2      14          97   28       7       263          96
## 109          0        12      58         165   42      32       488         227
## 110          0         2      10          89    9      21       376         145
## 111          0         0       0          37   32       1       155          53
## 112          0         0       4          55   25       8       108          94
## 113          0         4      11          81   23       8       249         103
## 114          8         3      12          27   21      10        24          15
## 115          0         1       1         122   27       8       214          88
## 116          0        11      32         132   57      17       453         184
## 117          0         7      62         173   24      17       262         121
## 118          0         8      34          47    6       4       188          63
## 119          0         0       1         135   37      22       290         117
## 120          0         1      13          90   10      10       275         128
## 121          0         0       1         130   28      20       283         118
## 122         39         1       8         156   44      16       291         114
## 123         30         0       0          61    7       0        31          30
## 124          0        16      57         102   12      11       270          97
## 125          0         1       7          75   11       5       248          82
## 126          0         1       4          21   13       3        46           9
## 127          0        35      64         106   60      13       197          85
## 128          0        25      79         246   25      51      1322         579
## 129         27         2       8          75   11       9       202          93
##     top_spa top_ita top_eng top_ger top_fra rank popularity         name
## 1         0       0       0       0       0  698      1.240         cole
## 2         0       0       0       0       0  136      1.030      lorente
## 3         0       0       0       0       0  340      1.570     bendtner
## 4         0       0       0       0       0  270      0.275         uche
## 5         0       0       0       0       0 1898      0.642           jo
## 6         0       0       0       0       0 1882      0.387        suazo
## 7         0       0       0       0       0 1713      3.980      jeffren
## 8         0       0       0       0       0 1268      0.394         ngog
## 9         0       0       0       0       0  102      2.900      sanchez
## 10        0       0       0       0       0 1481      0.291   de camargo
## 11        0       0       0       0       0  811      0.398    Piquionne
## 12        0       0       0       0       0 1693      1.320      fortune
## 13        0       0       0       0       0  168      3.580    huntelaar
## 14        0       0       0       0       0 1587      6.210        zidan
## 15        0       0       0       0       0 1160      0.164 ebanks-blake
## 16        0       0       0       0       0  317      0.291        ideye
## 17        0       0       0       0       0  290      0.598      pazzini
## 18        0       0       0       0       0 1055      0.361  carraccioli
## 19        0       0       0       0       0  548      1.150      montano
## 20        0       0       0       0       0 1660      0.163       kamara
## 21        0       0       0       0       0 1845      0.715    gudjonsen
## 22        0       0       0       0       0 2054      2.030        keane
## 23        0       0       0       0       0  737      4.380         nene
## 24        0       0       0       0       0 1210      0.216       rocchi
## 25        0       1       0       0       0   18      1.590    di natale
## 26        0       0       0       0       0  475      0.093         webo
## 27        0       0       0       0       0 1561      1.810      gimenez
## 28        0       0       0       0       0 1731      4.530     di santo
## 29        0       0       0       0       0 2467      0.102       licata
## 30        0       0       0       0       0  455      0.556       valdez
## 31        0       0       0       0       0  698      1.240         cole
## 32        0       0       0       0       0 1324      0.397        zigic
## 33        0       0       0       0       0 1898      0.642           jo
## 34        1       0       0       0       0  113      2.970       forlan
## 35        0       0       0       0       0  157     36.400         mata
## 36        0       0       0       0       0 1431      0.133    palladino
## 37        0       0       0       0       0  166      0.524      vucinic
## 38        0       0       0       0       0 1809      0.335    chevanton
## 39        0       0       0       0       0 2054      2.030        keane
## 40        0       0       0       0       0 1475      0.523       heskey
## 41        0       0       0       0       0 1587      6.210        zidan
## 42        0       0       0       0       0 1528      0.083       sinama
## 43        0       0       0       0       0 1055      0.361  carraccioli
## 44        0       0       0       0       0 2054     74.600         owen
## 45        0       0       0       0       0  776      0.434        lakic
## 46        0       0       0       0       0  811      0.398    Piquionne
## 47        0       0       0       0       0  839      0.069      munitis
## 48        0       0       0       0       0  828      1.040  bojan krkic
## 49        0       0       0       0       0 1678      0.223    cavenaghi
## 50        0       0       0       0       0   57      9.580        pedro
## 51        0       0       0       0       0  317      0.513       hoarau
## 52        0       0       0       0       0  369      0.630      caicedo
## 53        0       0       0       0       0    3      4.490      higuain
## 54        0       0       0       0       0 1280      0.319        owusu
## 55        0       0       0       0       0  660      1.080        defoe
## 56        0       0       0       0       0  262      0.142   pellissier
## 57        0       0       0       0       0  636      0.561    kiessling
## 58        0       0       0       0       0 1693      1.320      fortune
## 59        0       0       0       0       0    9     14.700  david villa
## 60        0       1       0       0       0  796      2.640        totti
## 61        0       0       0       0       0   17      9.390        tevez
## 62        0       0       0       0       0 2119      0.424     mcCarthy
## 63        0       0       0       0       0  876      0.291       giroud
## 64        0       0       0       0       0 1200      1.780     fletcher
## 65        0       0       0       0       0 1280      0.319        owusu
## 66        0       1       0       0       0  796      2.640        totti
## 67        0       0       0       0       0  257      1.890         bent
## 68        0       0       0       0       0 1855      0.234   charisteas
## 69        0       0       0       0       0  455      0.556       valdez
## 70        0       0       0       0       0  475      0.093         webo
## 71        0       0       0       0       0  415      1.250       farfan
## 72        0       0       0       0       0  238      0.654      di vaio
## 73        0       0       0       0       0 1070      0.138      boukari
## 74        0       0       0       0       0 2249      2.180    pentecote
## 75        0       0       0       0       0   98      0.658   quagialera
## 76        1       0       0       0       0   97     22.500         etoo
## 77        0       0       0       0       0   51      0.482      osvaldo
## 78        0       0       0       0       0  475      0.771         olic
## 79        0       0       0       0       0 1150      0.472      kalinic
## 80        0       0       0       0       0 1828      0.117        budan
## 81        0       0       0       0       0 1445      0.162    lucarelli
## 82        0       0       0       0       0 1666      0.097         kone
## 83        0       0       0       0       0 1125      0.025     djadjede
## 84        0       0       0       0       0  756      0.735       pandev
## 85        0       0       0       0       0   91      1.220         kalu
## 86        0       0       0       0       0  913      1.260         roux
## 87        0       0       0       0       0 1828      0.117        budan
## 88        0       0       0       0       0  375      3.420         pato
## 89        0       0       0       0       0  221      0.548       zarate
## 90        0       0       0       0       0 2249      2.180    pentecote
## 91        0       0       0       0       0  685      0.174     pandiani
## 92        0       0       0       0       0  180      2.680       milito
## 93        0       0       0       0       0 1528      0.083       sinama
## 94        0       0       0       0       0  317      0.513       hoarau
## 95        0       0       0       1       0 1274      1.440        Klose
## 96        0       0       0       0       0  653      0.146       miller
## 97        0       0       0       0       0   57      9.580        pedro
## 98        0       0       0       0       0  168      3.580    huntelaar
## 99        0       0       0       0       0  375      3.420         pato
## 100       0       0       0       0       0  184      1.060      pizarro
## 101       0       0       0       0       0  737      4.380         nene
## 102       0       0       0       0       0  455      0.042   aubameyang
## 103       0       0       0       0       0 1445      0.162    lucarelli
## 104       0       0       0       0       0  180      2.680       milito
## 105       0       0       0       0       0 1026      5.620     adebayor
## 106       0       0       0       0       0 1150      0.472      kalinic
## 107       0       0       0       0       0 1320      0.223       traore
## 108       0       0       0       0       0  238      0.654      di vaio
## 109       0       0       0       0       0   17      9.390        tevez
## 110       0       0       0       0       0  290      0.233      miccoli
## 111       0       0       0       0       0   51      0.482      osvaldo
## 112       0       0       0       0       0 1678      0.223    cavenaghi
## 113       0       0       0       0       0  375      3.420         pato
## 114       0       0       0       0       0  455      0.042   aubameyang
## 115       0       0       0       0       0  262      0.142   pellissier
## 116       0       0       0       0       1  756      9.610      benzema
## 117       0       0       0       0       0 1475      0.523       heskey
## 118       0       0       0       0       0  346      0.212    rodallega
## 119       0       0       0       0       0 1641      0.414       zamora
## 120       0       0       0       0       0  104      0.406       erding
## 121       0       0       0       0       0  110      0.012       aduriz
## 122       0       0       0       0       0 1200      1.780     fletcher
## 123       0       0       0       0       0  876      0.291       giroud
## 124       0       0       0       0       0  302      0.255       hadijt
## 125       0       0       0       0       0  125      0.811         remy
## 126       0       0       0       0       0 1150      0.472      kalinic
## 127       0       0       0       0       0  592     19.500       crespo
## 128       0       0       1       0       0    2     61.600    cristiano
## 129       0       0       0       0       0 1431      0.106      allagui
# losowe wybranie n obserwacji, ze zwracaniem lub bez
sample_n(a, 10, replace = TRUE)
##    market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1           1.0  33    192     88        0          0          0           2
## 2          12.0  28    183     83        0          6          5          49
## 3           5.0  28    179     75        0          1          0          20
## 4           2.7  28    174     72        0          0          0          10
## 5           1.6  24    168     65        0          0          0           6
## 6           1.0  33    191     82        0          0          1          23
## 7           8.0  29    177     74        0          0          1          45
## 8          19.0  28    184     79       11          1          0          70
## 9          18.0  26    180     75        0          5         10          74
## 10          8.0  26    191     93        6          6          4          32
##    goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1          30         0       0          77   10      11       151          73
## 2           0        21      53         156   41      21       339         179
## 3           0         4      26          68   41       5       166          63
## 4           9         4      17          63   48       3        71          53
## 5           0         0       0          40   40       2        98          22
## 6           0        12      57         113   44       4       121          46
## 7           0         0       1         130   28      20       283         118
## 8           0        17      45         198   45      18       356         154
## 9           0         0       6         160   41      13       418         231
## 10          0        12      34          99   73      15       363         141
##    top_spa top_ita top_eng top_ger top_fra rank popularity      name
## 1        0       0       0       0       0 1076      0.069    ebbers
## 2        0       0       0       0       0  312      1.290    yacubu
## 3        0       0       0       0       0  270      0.275      uche
## 4        0       0       0       0       0  768      0.170    camara
## 5        0       0       0       0       0 1384      0.116   quercia
## 6        0       0       0       0       0 1116      0.144   bogdani
## 7        0       0       0       0       0  110      0.012    aduriz
## 8        0       0       0       0       0   59      2.460 gilardino
## 9        0       0       0       0       0  257      1.890      bent
## 10       0       0       0       0       0  250      2.000   almeida
## Wybór wierszy w zależności od pozycji w bazie, tu wiersze od 10 do 15 włącznie
slice(a, 10:15)
##   market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1           20  23    171     72        3          2          6          43
## 2            3  24    179     72        0          0          0           7
## 3            8  29    177     74        0          0          1          45
## 4           23  22    170     63        0          0          0          25
## 5           12  25    176     73        1          1          4          42
## 6            5  29    180     68        0          8          0          41
##   goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1          0         3      18         136   40      19       407         188
## 2         17         1       1          60   17       3        76          36
## 3          0         0       1         130   28      20       283         118
## 4          0        10       3          82   15      18       144          60
## 5          0         0       2          89   38       9       259         107
## 6          0         0       7         190   22      27       344         111
##   top_spa top_ita top_eng top_ger top_fra rank popularity    name
## 1       0       0       0       0       0   22      2.510   rossi
## 2       0       0       0       0       0 1618      1.990   ruben
## 3       0       0       0       0       0  110      0.012  aduriz
## 4       0       0       0       0       0  157     36.400    mata
## 5       0       0       0       0       0   33      1.000 soldado
## 6       0       0       0       0       0  718     14.200  garcia
# Wybranie n pierwszych (z najwyższą wartością) obserwacji według wieku. 
top_n(a, 2, age)
##   market_value age height weight goals_CL goals_UEFA goals_cups goals_top5l
## 1            1  37    170     70        0          0          6           8
## 2            4  37    181     74       16          3          2          40
##   goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1         55         0       8         119   51      19       346         203
## 2          0        25      57          86   76       8       249         105
##   top_spa top_ita top_eng top_ger top_fra rank popularity     name
## 1       0       0       0       0       0 1895       3.94 phillips
## 2       0       0       0       0       0 1607       2.73  inzaghi

Wybór kolumn

Do wyboru kolumn służy funkcja select(). Pierwszym argumentem jest zawsze zbiór danych (jak we wszystkich funkcjach dplyr). W kolejnym wymieniamy nazwy kolumn (bez cudzysłowu) lub funkcje, które zwracają nam grupy kolumn (o tym za chwilę).

Przyjrzyjmy się podstawowej implementacji select().

# wybranie kolumn name, weight, height
head(
  select(a, name, weight, height) 
     , 5)
##           name weight height
## 1  bojan krkic     65    173
## 2 lionel messi     67    169
## 3        pedro     64    169
## 4      jeffren     72    175
## 5  david villa     69    175


Za pomocą funkcji select() można również usuwać kolumny, poprzez wybieranie “wszystkiego oprócz”. Nazwę takiej “niewybieranej” kolumny poprzedzamy minusem.

# Wybranie wszystkich kolumn oprócz name, weight, height
head(
  select(a, -name, -weight, -height)
  , 5)
##   market_value age goals_CL goals_UEFA goals_cups goals_top5l goals_rest
## 1           12  20        5          0          7          20          0
## 2          100  23       25          0         16          87          0
## 3           25  23        4          0          6          12          0
## 4            3  22        0          0          0           2          0
## 5           50  29        8          8          2         108          0
##   goals_nat app_nat games_start subs assists shots_tot shots_on_gs top_spa
## 1         0       1          47   67      11       139          62       0
## 2        14      52         198   35      47       600         275       1
## 3         1      11          38   25       4        71          37       0
## 4         0       0           6   11       0         7           4       0
## 5        44      70         233   23      35       724         328       0
##   top_ita top_eng top_ger top_fra rank popularity
## 1       0       0       0       0  828       1.04
## 2       0       0       0       0    1      57.20
## 3       0       0       0       0   57       9.58
## 4       0       0       0       0 1713       3.98
## 5       0       0       0       0    9      14.70
# Usunięcie kolumn z bazy i przypisanie do obiektu a2
a2 <- select(a, -name, -weight, -height)

# Można również usunąć zakres kolumn:
head(
  select(a,-name:-height), 
  5)
##   market_value age
## 1           12  20
## 2          100  23
## 3           25  23
## 4            3  22
## 5           50  29


Czasami opłaca nam się sformułować zapytanie w bardziej ogólny sposób. Na przykład: Wybierz kolumny zaczynające się od…, Wybierz kolumny których nazwy kończą się/ zawierają frazę…. Takie zapytania są niesłychanie przydatne - zobaczmy, jak można je pisać w dplyr:

# Wybierz zmienne, których nazwy zawierają zwrot "goals"
head(
  select(a, contains("goals"))
  , 5)
##   goals_CL goals_UEFA goals_cups goals_top5l goals_rest goals_nat
## 1        5          0          7          20          0         0
## 2       25          0         16          87          0        14
## 3        4          0          6          12          0         1
## 4        0          0          0           2          0         0
## 5        8          8          2         108          0        44
# To samo co powyżej, ale pozwala na wyrażenia regularne:
head(
  select(a, matches("als_"))
  , 5)
##   goals_CL goals_UEFA goals_cups goals_top5l goals_rest goals_nat
## 1        5          0          7          20          0         0
## 2       25          0         16          87          0        14
## 3        4          0          6          12          0         1
## 4        0          0          0           2          0         0
## 5        8          8          2         108          0        44
# Wybranie zmiennych kończących się na frazę "ght"
head(
  select(a, ends_with("ght"))
  , 5)
##   height weight
## 1    173     65
## 2    169     67
## 3    169     64
## 4    175     72
## 5    175     69
# Wybranie kolumn, których nazwy powstają z połączenia goals_ i elementów wektora c()
head(
  select(a, num_range("goals_", c('CL', 'UEFA')))
  , 5)
##   goals_CL goals_UEFA
## 1        5          0
## 2       25          0
## 3        4          0
## 4        0          0
## 5        8          8
# Wybranie kolumn, które są u nas na liście (jeśli którejś nie ma, zwracany jest warning).
# select(a, goals_CL, goals_UEFA, goals_PL)
head(
  select(a, one_of(c("goals_CL", "goals_UEFA", "goals_PL")))
  , 5)
##   goals_CL goals_UEFA
## 1        5          0
## 2       25          0
## 3        4          0
## 4        0          0
## 5        8          8
# Wybranie kolumn zaczynających się od danej frazy i zmiennej name
head(
  select(a, name, starts_with("goals_"))
  , 5)
##           name goals_CL goals_UEFA goals_cups goals_top5l goals_rest goals_nat
## 1  bojan krkic        5          0          7          20          0         0
## 2 lionel messi       25          0         16          87          0        14
## 3        pedro        4          0          6          12          0         1
## 4      jeffren        0          0          0           2          0         0
## 5  david villa        8          8          2         108          0        44


Zmiana nazwy kolumny

Zmianę nazwy zmiennej umożliwia funkcja rename(). Zasada jest następująca - najpierw nowa nazwa, następnie nazwa zastępowana.

a <- rename(a, goals_cl = goals_CL, goals_uefa = goals_UEFA)


Dodawanie nowej zmiennej na podstawie już istniejących. Dodajmy zmienną BMI (Body Mass Index - Wskaźnik Masy Ciała) Przepis BMI = waga (kg) / wzrost (m)²

mutate(a, bmi = weight / ((height/100)*(height/100))) #
##     market_value age height weight goals_cl goals_uefa goals_cups goals_top5l
## 1          12.00  20    173     65        5          0          7          20
## 2         100.00  23    169     67       25          0         16          87
## 3          25.00  23    169     64        4          0          6          12
## 4           3.00  22    175     72        0          0          0           2
## 5          50.00  29    175     69        8          8          2         108
## 6          25.00  23    184     73       13          0          2          52
## 7          35.00  23    183     82        2          0          1          59
## 8          90.00  25    185     75       23          0         11         101
## 9          20.00  26    180     70        4          1          0          11
## 10         20.00  23    171     72        3          2          6          43
## 11          3.00  24    179     72        0          0          0           7
## 12          8.00  29    177     74        0          0          1          45
## 13         23.00  22    170     63        0          0          0          25
## 14         12.00  25    176     73        1          1          4          42
## 15          5.00  29    180     68        0          8          0          41
## 16          5.00  24    182     74        0          0          0          15
## 17          2.50  31    180     78        0          0          0          20
## 18         36.00  22    170     69        5          3          2          54
## 19         16.00  31    179     75        4          3          4          95
## 20          5.00  22    188     85        0          0          0           8
## 21          6.00  26    185     80        0          0          2          28
## 22          5.00  26    171     69        0          0          0          16
## 23         20.00  25    195     90        0          6          5          42
## 24          6.00  18    169     63        0          0          0           4
## 25          5.00  31    184     72        4          0          0          39
## 26          3.50  28    180     78        0          2          1          26
## 27          3.00  33    180     74        0          4          0          41
## 28          4.00  27    181     78        0          0          0          33
## 29         20.00  30    183     81        9          7         12          62
## 30          9.00  33    192     82        8         12          7          73
## 31          2.00  27    182     78        3          0          0           1
## 32         16.00  25    185     82        1          0          2          43
## 33         15.00  22    179     70        1          0          0           5
## 34          6.00  33    190     80        7          1          0          51
## 35          5.00  27    178     71        2          0          1          17
## 36          3.00  30    187     84        0          0          1          30
## 37          2.50  22    180     71        0          0          0           8
## 38          3.50  28    185     76        3          0          5          30
## 39          1.50  35    167     70        0          0          1          13
## 40          2.50  30    183     82        0          0          0          11
## 41          2.00  34    184     74        0         11          3          35
## 42          4.00  22    185     78        0          3          0           9
## 43          6.00  21    163     63        0          0          0          12
## 44          2.50  24    185     75        0          0          0           0
## 45          5.00  28    179     75        0          1          0          20
## 46          1.00  17    170     63        0          0          0           0
## 47          2.00  24    180     74        0          0          3           0
## 48          1.50  30    185     82        0          0          1          18
## 49          4.00  26    175     69        1          0          4          28
## 50          5.00  26    178     71        0          0          0          19
## 51         25.00  29    188     81        4         12          7          69
## 52          8.50  31    173     71        4          0          5          29
## 53         55.00  25    178     79       18          0         13          80
## 54          1.50  19    184     77        0          0          0           3
## 55         26.00  20    189     88        2          0          0          20
## 56         23.00  26    192     73        8          3          6          51
## 57          7.00  29    188     83        1          0          3          32
## 58          7.50  23    188     78        3          2          3           6
## 59         34.00  26    170     67        6          0         15          49
## 60         10.00  22    191     78        8          0          8          20
## 61         15.00  26    185     70        5          4          1          39
## 62         25.00  27    183     72       12          0          8          43
## 63         18.00  28    170     66        0          6         12          63
## 64         12.00  29    201     71       11          4         13          39
## 65         22.00  31    183     78        5          0          7          52
## 66         10.00  30    175     64        2          7         15          58
## 67         30.00  32    188     84       21          0         21          74
## 68         14.00  25    186     78        5          0         10          32
## 69          3.00  33    183     77        0          1          2          38
## 70          5.00  29    188     84        2          2          2          30
## 71          2.50  30    186     76        2          1          2          37
## 72         18.00  26    180     75        0          5         10          74
## 73          2.50  20    185     73        0          0          4           1
## 74         11.00  25    180     77        0          0          0          25
## 75          1.50  28    180     70        0          0          8           5
## 76          1.50  31    185     64        0          1          3          22
## 77          3.00  23    175     72        0          0          0           1
## 78          4.50  22    187     81        0          0          5           2
## 79          2.50  32    185     79        0          0          7          27
## 80          3.00  31    191     79        0          0          6          14
## 81         10.00  26    187     85        0          0          5          26
## 82          3.00  32    185     89        3          0          4          13
## 83         16.00  31    178     64        0          4          5          34
## 84          8.00  21    183     73        4          0         11          39
## 85         12.00  28    183     83        0          6          5          49
## 86         50.00  26    185     79        8          0          2          83
## 87          4.50  21    190     76        2          1          1           8
## 88          2.50  21    191     65        0          0          2           3
## 89          2.50  29    191     76        0          0          1          16
## 90          3.00  23    191     89        0          0          5           3
## 91          4.50  29    183     81        0          0          0          17
## 92          4.00  32    188     83        0          0          3          26
## 93         10.00  31    193     89        5          2          8          46
## 94         16.00  24    180     79        0          0          4          46
## 95          5.00  24    185     85        0          0          5          52
## 96          7.00  30    202     96        0          0          0          30
## 97          1.00  37    170     70        0          0          6           8
## 98          2.00  30    181     72        0          2          4          11
## 99          7.50  23    175     70        0          4          2          24
## 100         6.50  29    185     75        0          3          9          28
## 101         7.50  25    181     72        0          0          0          13
## 102         2.50  21    193     80        0          0          1           1
## 103         3.00  32    188     77        1          0          6          31
## 104         8.50  27    191     77        0          0          4          26
## 105         3.50  33    183     80        1          3          9          37
## 106         4.00  23    178     81        0          0          0          16
## 107         5.00  23    185     76        0          0         11           8
## 108         2.50  24    173     91        0          0          2           2
## 109        27.50  30    180     80       13          2          0          66
## 110        35.00  21    179     71        2          0          1          36
## 111        30.00  29    191     84       13          0          4          80
## 112        18.00  26    175     60        5          1          2          39
## 113         4.00  37    181     74       16          3          2          40
## 114        15.50  23    188     71        0          0          0          34
## 115        19.00  25    173     75        0          0          0          23
## 116         1.50  35    188     85        4          5          0          54
## 117        10.00  29    178     74        1          0          1          37
## 118         3.50  33    177     71        4          2          3          61
## 119        15.00  23    176     76        0          0          0          20
## 120        12.50  30    186     83        5          0          0          51
## 121         7.00  36    173     73        8          0          4          55
## 122        13.50  31    187     77        6          0          0          49
## 123        15.00  27    182     73        0          8          0          52
## 124         5.00  29    183     72        4          0          7          26
## 125         8.50  28    189     86        8          0          2          22
## 126        17.00  28    180     73        1          1          0          42
## 127        25.00  27    186     76        8          2          4          45
## 128        10.00  34    180     70        7          3          1          82
## 129         6.50  20    186     70        0          0          0           7
## 130         8.50  31    168     64        4          0          0          41
## 131         4.50  31    180     73        0          0          0          40
## 132        37.50  29    179     75       14          0          3          95
## 133        28.00  31    179     78        6          0          6          99
## 134        18.00  27    184     75        5          0          6          48
## 135         2.50  31    183     75        0          1          0          47
## 136        18.50  28    175     73        0          3          3          35
## 137         4.00  24    184     75        0          0          0          18
## 138        19.00  26    180     77        0          0          6          51
## 139         6.00  27    183     73        0          0          0          19
## 140        13.00  33    170     78        0          4          1          78
## 141         9.50  22    168     62        0          0          0           8
## 142         7.00  26    182     68        0          0          0          11
## 143         6.00  33    196     88        3          0          4          90
## 144         5.00  29    177     71        0          0          0          18
## 145         1.80  27    182     74        0          0          0           3
## 146         6.00  31    175     76        0          0          2          46
## 147         5.00  31    175     66        0          0          1          30
## 148         6.50  26    192     88        0          0          1          14
## 149         4.00  22    180     70        0          0          1          14
## 150         6.50  23    184     67        0          0          0          27
## 151         8.00  26    183     80        0          0          0          25
## 152         5.70  27    183     78        0          0          0           8
## 153         1.80  24    180     68        0          0          0           3
## 154         3.00  34    178     76        0          0          1          47
## 155         7.50  31    180     74        5          5          4          57
## 156        19.00  28    184     79       11          1          0          70
## 157        17.50  21    183     79        4          0          0           8
## 158         6.20  24    183     76        0          0          0          15
## 159         2.00  35    184     78        4          2          1          36
## 160         1.00  33    191     82        0          0          1          23
## 161         2.30  30    185     80        0          3          2          29
## 162         4.00  27    180     73        0          0          0          11
## 163         4.50  29    194     80        0          2          2          15
## 164         0.60  34    171     72        0          1          1          29
## 165         1.50  27    180     78        0          0          2           4
## 166         1.50  30    183     79        0          0          0          10
## 167         1.40  30    183     83        0          0          0           4
## 168         8.00  25    171     59        1          2          2          24
## 169        14.00  26    187     83        0          0          4          19
## 170         6.50  22    186     72        0          0          0           5
## 171         6.00  22    184     78        0          1          0           0
## 172         4.50  29    172     71        0          1          2          38
## 173        10.00  22    191     83        0          0          2          12
## 174        14.00  27    191     78        0          0          1          51
## 175         1.50  27    180     68        0          0          1          15
## 176         6.00  27    174     74        0          0          0           9
## 177         7.00  32    182     74       12          7          4          61
## 178        26.00  25    189     88        4          8          7          74
## 179         8.50  31    182     85        8          0          7          40
## 180         8.00  20    183     74        0          0          0           5
## 181         3.00  23    193     82        0          0          0           1
## 182         3.00  24    184     77        0          0          2           0
## 183         1.25  27    185     83        0          0          0          18
## 184         5.50  22    186     83        0          0          1           3
## 185         6.00  34    188     80       15          0          1          72
## 186        15.00  24    176     70        0          2          3           5
## 187         6.50  27    183     77        1          5          1          27
## 188         8.50  30    184     81        0          0          4          33
## 189         1.00  29    185     82        0          0          3           3
## 190        10.00  25    183     73        0          0          0           6
## 191         7.50  24    185     78        9          3          1          11
## 192         8.00  26    188     82        0          0          2          36
## 193         7.50  33    182     74       17          0          3          53
## 194        15.00  26    174     72        3          1          3          17
## 195         0.50  31    190     82        0          0          1           8
## 196        15.00  27    186     78        3         12          1          15
## 197         2.50  31    192     85        0          3          3          22
## 198        12.50  25    182     83        3          5          4          29
## 199         8.00  26    191     93        6          6          4          32
## 200         7.50  32    186     84        7          5          2          54
## 201         7.50  21    192     83        0          1          0           0
## 202         5.50  27    186     81        0          0          1           0
## 203         2.50  28    185     82        0          2          3          39
## 204         3.50  30    179     76        0          0          2          39
## 205         4.00  23    185     73        0          0          0           1
## 206         5.50  27    188     91        3          0          0           6
## 207         6.00  29    179     74        2          0          3          42
## 208         1.50  33    180     85        1          0          0          12
## 209         1.00  33    192     88        0          0          0           2
## 210        30.00  25    191     84        4          0          6          56
## 211         7.50  31    189     88        3          0          5          64
## 212         4.00  27    187     27        1          2          0           0
## 213         2.25  31    190     83        0          0          1           9
## 214        14.00  23    179     66        0          0          0          21
## 215         8.50  25    180     69        0          0          0          12
## 216         4.00  30    175     71        0          7          1          25
## 217         6.50  26    177     76        0          0          2          11
## 218         3.60  23    182     70        0          0          0           4
## 219         2.60  23    179     75        0          0          0           3
## 220        22.00  28    174     74       16          0          0          15
## 221        10.00  25    184     77        2          0          0          44
## 222         9.00  24    181     84        0          0          0          29
## 223        13.00  25    186     84        0          0          0          43
## 224         5.00  30    189     78        3          0          0          15
## 225        15.00  24    184     76        0          0          0          28
## 226         5.50  21    176     72        0          0          0           3
## 227        12.50  29    181     70        0          1          1          40
## 228        11.50  27    191     76        0          3          1          23
## 229         3.00  21    185     74        0          0          0           2
## 230         9.50  24    181     85        0          0          0          37
## 231         4.60  21    182     76        0          0          1           9
## 232         4.50  24    192     88        0          0          6           0
## 233         2.70  28    174     72        0          0          0          10
## 234         3.20  22    175     65        0          0          0           5
## 235         5.50  22    186     73        0          0          0           3
## 236         5.50  24    175     70        0          0          0          17
## 237        10.00  23    170     64        0          0          0          34
## 238         3.00  22    177     72        0          0          0          13
## 239         3.50  24    185     76        0          0          0          15
## 240         1.20  24    180     75        0          0          0           0
## 241         4.00  22    180     70        0          0          0           2
## 242         3.60  23    192     78        0          0          2           0
## 243         1.20  30    184     76        0          1          0           0
## 244         5.00  24    183     70        0          0          0           0
## 245         1.20  30    186     80        0          0          0           0
## 246         5.00  31    183     73        0          0          0          30
## 247         5.00  30    170     68        0          0          0          23
## 248         2.50  32    189     78        0          0          0          16
## 249         3.30  31    183     70        0          0          0          28
## 250         2.60  24    188     84        0          0          0          13
## 251         7.50  29    184     74        0          0          0          43
## 252         0.75  27    178     76        0          0          0           7
## 253         1.60  24    168     65        0          0          0           6
## 254         3.40  28    185     76        0          7          0          15
## 255         6.00  25    183     70        0          0          0          13
## 256         1.80  27    185     80        0          0          0          10
## 257         2.20  30    178     67        0          0         10           5
## 258         1.00  24    176     70        0          0          0           1
##     goals_rest goals_nat app_nat games_start subs assists shots_tot shots_on_gs
## 1            0         0       1          47   67      11       139          62
## 2            0        14      52         198   35      47       600         275
## 3            0         1      11          38   25       4        71          37
## 4            0         0       0           6   11       0         7           4
## 5            0        44      70         233   23      35       724         328
## 6            0        11      32         132   57      17       453         184
## 7            5         7      12         131   42      29       335         166
## 8            0        25      79         246   25      51      1322         579
## 9            0         9      23          44   39       5        83          39
## 10           0         3      18         136   40      19       407         188
## 11          17         1       1          60   17       3        76          36
## 12           0         0       1         130   28      20       283         118
## 13           0        10       3          82   15      18       144          60
## 14           0         0       2          89   38       9       259         107
## 15           0         0       7         190   22      27       344         111
## 16           0         0       0          37   32       1       155          53
## 17           5         0       1          62   30       4       154          56
## 18          18         9      25         194   38      31       431         187
## 19           0        29      69         208   13      25       628         255
## 20          10         0       0          66    3       5        83          37
## 21           0         0       0         108   45      11       298         117
## 22           2         0       0          41   21       3       108          51
## 23           0         7      13         124   45      16       347         134
## 24           0         0       0           4   22       3        16          10
## 25           0         0       0          87   17      11       230         116
## 26           0        17      44          85   92      12       203          71
## 27           0         5      13         113   20       8       216          91
## 28           0         0       4          55   25       8       108          94
## 29           0        28      43         154   32      17       426         157
## 30           0        23      38         177   38      18       397         148
## 31           0         9      34          63   22       3        53          14
## 32           8         2       4         116   25      16       269         114
## 33           2         0       1          55   21       5        46          25
## 34           0        34      71         106   30       8       182          86
## 35           0        10      45         136   35      12       280          93
## 36           0         0       0          95   64      12       307          82
## 37           0         0       0          53   31       4        80          30
## 38           0         6      30          65   48      17       199          86
## 39           0         2      21         161   11      42       213          51
## 40           0         0       0          45   12       7        87          38
## 41           0         0       4         101   69      10       250          97
## 42           0         5      25          68   46       3        92          45
## 43          12         0       0          89   34       9       129          58
## 44          35         0       0         105   23       6        55          37
## 45           0         4      26          68   41       5       166          63
## 46           0         0       0           0    5       1         2           1
## 47           2         1      15          26   45       4        40          25
## 48           0         3       4          67   50       4       134          48
## 49           1         0       1          92   61      13       162          66
## 50           0         6      23          78   31      12       148          62
## 51           0        48      77         208   32      44       503         262
## 52           0        40      89          92   37       8       173         101
## 53           0        25      66         243   24      66       983         436
## 54           0         0       0           8    7       2        20           7
## 55           0         0       2          42   34      13       153          56
## 56           0        16      38         174   31      22       403         194
## 57           0        21      76          90   50      10       181          82
## 58           5         0       3          64   28       7       102          38
## 59           0        12      58         165   42      32       488         227
## 60          11        12      35         115   73      28       301         151
## 61           0        15      56         155   49      17       225         107
## 62           0        19      52         147   39      38       543         230
## 63           0        12      43         147   83      25       537         277
## 64           0        21      41         184   79      33       566         250
## 65           0        14      69         187   36      32       516         268
## 66          12        45     103         202   44      33       406         233
## 67           0        45      71         201   39      44       694         294
## 68          15        11      35         159   78      33       251         112
## 69           0         0       1         196    4      35       290         143
## 70           0        13      50         145   21      15       272         111
## 71           4        12      39         100   58       8       227          95
## 72           0         0       6         160   41      13       418         231
## 73           2         0       0          23    9       3        38          16
## 74           0        22      44          68   28       7       197          69
## 75          44         0       0         142   46      17       286         167
## 76           5         0       0          76   61       6       195          94
## 77           0         1       6           0    5       0         8           1
## 78           0         1       4          21   13       3        46           9
## 79           0        12      22         103   55      16       196         115
## 80          34        11      60         150   46      19       378         177
## 81          18         4      45         150   46      24       340         181
## 82           0        24      63         104   78      10       159          78
## 83           0        21      42         175    8      21       304         148
## 84           0         4      19         104   64      13       364         165
## 85           0        21      53         156   41      21       339         179
## 86           0        26      82         210   21      22       575         238
## 87           0         0       0          31   40       1        91          33
## 88          18         0       1          49   30      10       145          51
## 89          10         0       0          70   36       8       146          71
## 90          11         0       0          45   45      11       192         110
## 91           0         0       0          81    7       6       175          67
## 92           0         7      62         173   24      17       262         121
## 93           0        23      85         151   36      12       361         171
## 94           0         0       3         179   16      30       287         156
## 95           0         0       0         155   50      10       372         179
## 96           0        15      41          59   23       8       160          62
## 97          55         0       8         119   51      19       346         203
## 98          23         9      50         108   38      14       227         108
## 99          10         5      28         176   30       4        64          33
## 100          0         0       1         135   37      22       290         117
## 101          0         8      34          47    6       4       188          63
## 102          0         0       0          16   26       3        39          18
## 103          0         0       1         130   38      15       229          87
## 104          0         0       7          89   47      17       293         128
## 105          0        35      79         109   40      10       217         101
## 106          0         9      35          60   49       4       119          41
## 107         39         1       8         156   44      16       291         114
## 108         59         0       0         129   33      18       286         161
## 109          0        32      88         198   25      54       517         168
## 110          0         4      11          81   23       8       249         103
## 111          0        25      65         205   24      32       578         234
## 112          0        25      83         174   39      35       460         193
## 113          0        25      57          86   76       8       249         105
## 114          0         4      21          93   24       5       262          92
## 115          0         0       8          92    5      22       252          83
## 116          0         3       6         123   15       5       210          66
## 117          0         0       0         122   24      19       247         101
## 118          0         0       3         157   35      21       299         121
## 119          0         0       0          93   14      17       329         119
## 120          0         0       1         146   28      10       291         118
## 121          0        27      91         129   44      20       366         139
## 122          0         6      40         114   52      17       241          94
## 123          0         6      25         164   40      16       520         175
## 124          0         5      47         101   75       7       329         116
## 125          0        29      51          87   21      11       164          44
## 126          0         0       6          96   31       7       281         106
## 127          0        11      21         147   52      21       346         149
## 128          0         9      58         167    7      32       461         113
## 129          0         1       1           8   19       2        32          13
## 130          0         2      10          89    9      21       376         145
## 131          0         0       2         108    5       9       329         126
## 132          0        44      97         195   13      36       614         243
## 133          0         4      24         187   19      22       426         178
## 134          0        23      53         163   29      16       246         119
## 135          4        16      54         122   36       5       146          61
## 136          0         5      19         112   25      29       277         125
## 137          0         0       0          48   41       2        88          31
## 138          0         1      12         121   49      11       296         114
## 139          0         0       0          59   42       9       233          92
## 140          0        10      36         173   26      25       455         198
## 141          0        11      33          44   21       5       104          34
## 142          0         0       3          67   43       7       101          42
## 143          0        16      47         184   18      25       476         219
## 144          0         0       0          82   24       8       168          70
## 145          0         0       1          10   20       1        31          15
## 146          0         1       1         122   27       8       214          88
## 147          0         0       1         131    5      18       286          86
## 148          0         0       1          36   20       3        76          32
## 149          0         3       9          40   36       6       105          41
## 150          0         0       0          67   23       2       163          75
## 151          0         0       0          61   42      11       164          67
## 152         20         0       0          42   19       1        63          38
## 153         27         0       2          67   24       1        46          36
## 154          0         2      14          97   28       7       263          96
## 155          0        29      67         151   21      20       466         185
## 156          0        17      45         198   45      18       356         154
## 157          0         6      11          58   20       9       192          63
## 158          0         7      35          37   44       2        79          24
## 159          0        35      64         106   60      13       197          85
## 160          0        12      57         113   44       4       121          46
## 161          0         0       6          61   43       6       128          52
## 162          0         0       1          33   21       5       180          64
## 163          0         0       2          67   21       0        77          31
## 164          0         0       6         105   34      10       208          70
## 165          4         0      18          41   35       3        47          15
## 166          0         7      21          13   34       5        87          30
## 167          0        13      52          55   53       1        20           8
## 168          0         0       0          62   28       9        69          32
## 169          0         4      10          33    3       5       108          56
## 170          6         0       3          53   13       9        88          36
## 171          1        10      30           7    6       1         9           3
## 172          0         9      35          92   50      12       155          52
## 173         13         2      30          66   33       6       121          48
## 174          0         0       6         124   14      17       315         135
## 175          0         0       3          63   20       9        71          29
## 176          0         1       4          24    6       2        78          39
## 177          0        59     106         205   36      35       383         169
## 178          0        14      41         145   62      24       439         169
## 179          0        13      68         106   23      13       312         141
## 180          0         0       1          25    9       2        38          18
## 181          0         4       6           8    7       1        69           8
## 182         27         2       8          75   11       9       202          93
## 183          8         0       0          84   35      12       215          77
## 184          0         0       0           7   33       1        56          23
## 185          0        34      68         146   19      18       351         192
## 186         16         2      18         130   39      14        50          24
## 187          0         9      28          87   43      12       235          86
## 188          0        11      35          76   10       5       267          99
## 189         12         0       0          43   20       6        82          40
## 190         22         7       8          64   14       1        62          38
## 191          7         5      40         119  113      18       177          77
## 192          0         7      29          66   15      12       205          78
## 193          0        44     102         173   43      22       321         143
## 194         49        12      43         183   10      17       160          60
## 195          1        24      85          42   36       6        96          37
## 196         96        26      42         191   34       5       107          53
## 197          0        19      48          93   10       5       144          58
## 198          0        42      84         156   60      24       324         125
## 199          0        12      34          99   73      15       363         141
## 200          0        13      55         141   46      17       368         156
## 201         12         4       9          35   23       5        25          17
## 202         17         0       0          32   23       4       101          46
## 203          0         8      37         132   44      10       174          59
## 204          0        20      52          68   40       8       207         103
## 205         13         3      20          42   13       1        95          45
## 206          0         7      25          36    8       7        59          26
## 207          0         4      17         108   15      21       381         143
## 208          0         6      43          48   45       5        92          32
## 209         30         0       0          77   10      11       151          73
## 210          0        17      31          88   15      21       385         165
## 211          0         1       4         118    9      18       310         152
## 212          4         0       4          38    7       0        21          11
## 213         13         6      34          75    3       8       174          64
## 214          0         5      24          74   17      12       147          64
## 215          0         3       5          27   45       5        99          43
## 216          0         0       0          98   46       9       185          74
## 217         15         0       6          82    7       3        99          50
## 218          4         0       4          60   41       4        80          31
## 219          0         0       0          11   43       0        67          16
## 220         10         1       7          86   13      11       185          86
## 221          0         2       5         103   44      17       394         130
## 222          0         0       4         106   18      24       246          85
## 223          0         4      16         109   25      14       451         180
## 224          0         0       0          62    8       6       167          59
## 225          0         1       7          75   11       5       248          82
## 226          4         2      28          36   21       4        38          16
## 227          0         0       0         181    7      28       426         151
## 228          7         0       4          70   16       5       154          67
## 229          8         3      12          27   21      10        24          15
## 230          0         1      13          90   10      10       275         128
## 231          0         0       0          21   21       4        55          26
## 232         30         0       0          61    7       0        31          30
## 233          9         4      17          63   48       3        71          53
## 234          6         0       0          44   17       4        47          24
## 235         21         0       0          54   26       0        86          41
## 236          0         0       0          81   31      14       178          67
## 237          0         0       2          93   13      14       251         107
## 238          0         0       0          28   14       1        20           5
## 239          0         3      16          53   35      15       111          36
## 240         12         0       0          14   21       1        22          15
## 241          0         0       1          17    0       0        41          16
## 242         15         0       0          30    7       0        45          15
## 243         10         0       0          71   36       0        20          10
## 244         11         0       3          23   14       0        25          11
## 245         18         2       8          44   31       1        39          22
## 246          0        16      57         102   12      11       270          97
## 247          0         0       0          93   26      21       213          87
## 248          0         1      18          39   17       3       135          49
## 249          0         0       0          95   35      12       230          81
## 250          0         1       3          40   42       5        76          27
## 251          0         5      29          98   21       6       252         117
## 252          0         0       0          11    9       2        50          18
## 253          0         0       0          40   40       2        98          22
## 254          0         8      35          98   40      13       233          90
## 255          0        15      49          57    1       9       103          41
## 256          5        22      51          44   33       1        93          41
## 257         15         0       0          74   30       2        55          26
## 258          2         0       0          40   18       0        21           7
##     top_spa top_ita top_eng top_ger top_fra rank popularity          name
## 1         0       0       0       0       0  828      1.040   bojan krkic
## 2         1       0       0       0       0    1     57.200  lionel messi
## 3         0       0       0       0       0   57      9.580         pedro
## 4         0       0       0       0       0 1713      3.980       jeffren
## 5         0       0       0       0       0    9     14.700   david villa
## 6         0       0       0       0       1  756      9.610       benzema
## 7         0       0       0       0       0    3      4.490       higuain
## 8         0       0       1       0       0    2     61.600     cristiano
## 9         0       0       0       0       0   51      1.730        nilmar
## 10        0       0       0       0       0   22      2.510         rossi
## 11        0       0       0       0       0 1618      1.990         ruben
## 12        0       0       0       0       0  110      0.012        aduriz
## 13        0       0       0       0       0  157     36.400          mata
## 14        0       0       0       0       0   33      1.000       soldado
## 15        0       0       0       0       0  718     14.200        garcia
## 16        0       0       0       0       0   51      0.482       osvaldo
## 17        0       0       0       0       0 1693      0.877        alonso
## 18        0       0       0       0       0   38      1.140        aguero
## 19        1       0       0       0       0  113      2.970        forlan
## 20        0       0       0       0       0  515      2.840         costa
## 21        0       0       0       0       0  270      0.735          manu
## 22        0       0       0       0       0  819      0.571       colunga
## 23        0       0       0       0       0  136      1.030       lorente
## 24        0       0       0       0       0  914      0.431        munian
## 25        0       0       0       0       0  205      0.310      lorente2
## 26        0       0       0       0       0  475      0.093          webo
## 27        0       0       0       0       0 1575      0.306        tamudo
## 28        0       0       0       0       0 1678      0.223     cavenaghi
## 29        0       0       0       0       0   27      7.250       fabiano
## 30        0       0       0       0       0  276      1.090       kanoute
## 31        0       0       0       0       0 1666      0.097          kone
## 32        0       0       0       0       0  393      0.812       negrado
## 33        0       0       0       0       0  772      0.315       perotti
## 34        0       0       0       0       0  221      1.190    trezeguett
## 35        0       0       0       0       0  455      0.556        valdez
## 36        0       0       0       0       0 1312      0.574          riki
## 37        0       0       0       0       0  742      0.568        adrian
## 38        0       0       0       0       0  713      0.776     rosenberg
## 39        0       0       0       0       0  839      0.069       munitis
## 40        0       0       0       0       0  460      0.869        aranda
## 41        0       0       0       0       0  685      0.174      pandiani
## 42        0       0       0       0       0  369      0.630       caicedo
## 43        0       0       0       0       0  384      0.841        piatti
## 44        0       0       0       0       0 1425      0.110         ulloa
## 45        0       0       0       0       0  270      0.275          uche
## 46        0       0       0       0       0 1753      0.563        juanmi
## 47        0       0       0       0       0 1280      0.319         owusu
## 48        0       0       0       0       0 1479      1.420         bilic
## 49        0       0       0       0       0 1528      0.083        sinama
## 50        0       0       0       0       0 2266      0.127       i. uche
## 51        0       0       0       0       0    5      0.267      berbatov
## 52        0       0       0       0       0 2054     74.600          owen
## 53        0       0       0       0       0   12     51.400        rooney
## 54        0       0       0       0       0 1815      0.458       macheda
## 55        0       0       0       0       0 1174      9.170     balotelli
## 56        0       0       0       0       0 1026      5.620      adebayor
## 57        0       0       0       0       0 1795      0.406    santa cruz
## 58        0       0       0       0       0 1898      0.642            jo
## 59        0       0       0       0       0   17      9.390         tevez
## 60        0       0       0       0       0  340      1.570      bendtner
## 61        0       0       0       0       0  102      2.360        hamakh
## 62        0       0       0       0       0  990      9.260    van persie
## 63        0       0       0       0       0  660      1.080         defoe
## 64        0       0       0       0       0  704     11.800        crouch
## 65        0       0       1       0       0   87      4.970        anelka
## 66        0       0       0       0       0 2054      2.030         keane
## 67        0       0       1       0       0   20     17.100        drogba
## 68        0       0       0       0       0   91      1.220          kalu
## 69        0       0       0       0       0  964      4.630        davies
## 70        0       0       0       0       0  257      0.439      elmander
## 71        0       0       0       0       0 1703      0.514       klasnic
## 72        0       0       0       0       0  257      1.890          bent
## 73        0       0       0       0       0  932      0.500       welbeck
## 74        0       0       0       0       0  341      1.040          gyan
## 75        0       0       0       0       0 1087      0.166        varney
## 76        0       0       0       0       0 1790      0.214     harenwood
## 77        0       0       0       0       0 1368      0.122   biram diouf
## 78        0       0       0       0       0 1150      0.472       kalinic
## 79        0       0       0       0       0 1390      3.113       roberts
## 80        0       0       0       0       0  515      0.514        fuller
## 81        0       0       0       0       0  290      0.390       kenwyne
## 82        0       0       0       0       0 1845      0.715     gudjonsen
## 83        0       0       0       0       0   49      2.000        cahill
## 84        0       0       0       0       0  917      0.858          saha
## 85        0       0       0       0       0  312      1.290        yacubu
## 86        0       0       0       0       0   63     15.900        torres
## 87        0       0       0       0       0 1268      0.394          ngog
## 88        0       0       0       0       0  422      3.840       karroll
## 89        0       0       0       0       0 1477      0.279        ameobi
## 90        0       0       0       0       0  653      0.146        miller
## 91        0       0       0       0       0 1693      1.320       fortune
## 92        0       0       0       0       0 1475      0.523        heskey
## 93        0       0       0       0       0 1014      0.758         carew
## 94        0       0       0       0       0  449      0.448    agbonlahor
## 95        0       0       0       0       0  558      1.110        jerome
## 96        0       0       0       0       0 1324      0.397         zigic
## 97        0       0       0       0       0 1895      3.940      phillips
## 98        0       0       0       0       0 1660      0.163        kamara
## 99        0       0       0       0       0 1924      0.044       dembele
## 100       0       0       0       0       0 1641      0.414        zamora
## 101       0       0       0       0       0  346      0.212     rodallega
## 102       0       0       0       0       0 1731      4.530      di santo
## 103       0       0       0       0       0  811      0.398     Piquionne
## 104       0       0       0       0       0  698      1.240          cole
## 105       0       0       0       0       0 2119      0.424      mcCarthy
## 106       0       0       0       0       0  723      0.328         obina
## 107       0       0       0       0       0 1200      1.780      fletcher
## 108       0       0       0       0       0 1160      0.164  ebanks-blake
## 109       0       0       0       0       0  104     19.600    ronaldinho
## 110       0       0       0       0       0  375      3.420          pato
## 111       0       1       0       0       0   14      9.620   ibrahimovic
## 112       0       0       0       0       0  485      7.910       robinho
## 113       0       0       0       0       0 1607      2.730       inzaghi
## 114       0       0       0       0       0   63      1.380        cavagi
## 115       0       0       0       0       0   93      0.481       lavezzi
## 116       0       0       0       0       0 1445      0.162     lucarelli
## 117       0       0       0       0       0  133      0.243      floccari
## 118       0       0       0       0       0 1210      0.216        rocchi
## 119       0       0       0       0       0  221      0.548        zarate
## 120       0       0       0       0       0 1412      4.200        amauri
## 121       0       1       0       0       0  440      2.890     del piero
## 122       0       0       0       0       0 1147      0.836      iaquinta
## 123       0       0       0       0       0   98      0.658    quagialera
## 124       0       0       0       0       0 1728      1.270      baptista
## 125       0       0       0       0       0 1983     14.000       adriano
## 126       0       0       0       0       0   69      1.360      boriello
## 127       0       0       0       0       0  166      0.524       vucinic
## 128       0       1       0       0       0  796      2.640         totti
## 129       0       0       0       0       0 1412      4.600     hernandez
## 130       0       0       0       0       0  290      0.233       miccoli
## 131       0       0       0       0       0  627      0.157     maccarone
## 132       1       0       0       0       0   97     22.500          etoo
## 133       0       0       0       0       0  180      2.680        milito
## 134       0       0       0       0       0  756      0.735        pandev
## 135       0       0       0       0       0 1882      0.387         suazo
## 136       0       0       0       0       0  947      9.430       cassano
## 137       0       0       0       0       0 1511      0.214         pozzi
## 138       0       0       0       0       0  290      0.598       pazzini
## 139       0       0       0       0       0  296      0.383  floro flores
## 140       0       1       0       0       0   18      1.590     di natale
## 141       0       0       0       0       0  102      2.900       sanchez
## 142       0       0       0       0       0 1431      0.133     palladino
## 143       0       1       0       1       0  601      3.120          toni
## 144       0       0       0       0       0  791      0.409        sculli
## 145       0       0       0       0       0 1451      0.056      granoche
## 146       0       0       0       0       0  262      0.142    pellissier
## 147       0       0       0       0       0  649      0.195       mascara
## 148       0       0       0       0       0  333      1.120         lopez
## 149       0       0       0       0       0 1801      0.193      morimoto
## 150       0       0       0       0       0 1125      0.227   acquafresca
## 151       0       0       0       0       0  336      2.460         matri
## 152       0       0       0       0       0  737      4.380          nene
## 153       0       0       0       0       0 1561      1.810       gimenez
## 154       0       0       0       0       0  238      0.654       di vaio
## 155       0       0       0       0       0 1745      2.360          mutu
## 156       0       0       0       0       0   59      2.460     gilardino
## 157       0       0       0       0       0  698      0.165       jovetic
## 158       0       0       0       0       0 1151      0.118       bojinov
## 159       0       0       0       0       0  592     19.500        crespo
## 160       0       0       0       0       0 1116      0.144       bogdani
## 161       0       0       0       0       0 1828      0.117         budan
## 162       0       0       0       0       0  763      0.693      diamanti
## 163       0       0       0       0       0 1055      0.361   carraccioli
## 164       0       0       0       0       0 1116      3.910     di michel
## 165       0       0       0       0       0 1170      7.020      oliveira
## 166       0       0       0       0       0 1809      0.335     chevanton
## 167       0       0       0       0       0 1603      0.039       kutuzov
## 168       0       0       0       0       0  596      0.435       baretto
## 169       0       0       0       0       0    6      5.140       barrios
## 170       0       0       0       0       0  148      0.144 Gro\xa7kreutz
## 171       0       0       0       0       0 1581      0.843   lewandowski
## 172       0       0       0       0       0 1587      6.210         zidan
## 173       0       0       0       0       0  515      0.315      dedriyok
## 174       0       0       0       0       0  636      0.561     kiessling
## 175       0       0       0       0       0 1657      0.131    Schlaufdry
## 176       0       0       0       0       0  369      0.748      Ya Konan
## 177       0       0       0       1       0 1274      1.440         Klose
## 178       0       0       0       0       0   13     10.800         Gomez
## 179       0       0       0       0       0  475      0.771          olic
## 180       0       0       0       0       0  384      0.024       schurle
## 181       0       0       0       0       0  791      0.371        szalai
## 182       0       0       0       0       0 1431      0.106       allagui
## 183       0       0       0       0       0 1511      0.246        eigler
## 184       0       0       0       0       0  592      1.160      schieben
## 185       1       0       0       0       0  120      2.170    nisterlooy
## 186       0       0       0       0       0 1421      0.266          elia
## 187       0       0       0       0       0 1412      0.759      guerrero
## 188       0       0       0       0       0  627      0.273        petric
## 189       0       0       0       0       0 1753      0.102     reisinger
## 190       0       0       0       0       0   34      0.129         cisse
## 191       0       0       0       0       0 1490      1.010        babbel
## 192       0       0       0       0       0  199      0.256      ibicevic
## 193       0       0       0       0       0   60     75.000          Raul
## 194       0       0       0       0       0  415      1.250        farfan
## 195       0       0       0       0       0 1855      0.234    charisteas
## 196       0       0       0       0       0  168      3.580     huntelaar
## 197       0       0       0       0       0  696      0.180     nowakovic
## 198       0       0       0       0       0  551      2.850      podolski
## 199       0       0       0       0       0  250      2.000       almeida
## 200       0       0       0       0       0  184      1.060       pizarro
## 201       0       0       0       0       0 1143      0.280    arnautovic
## 202       0       0       0       0       0  776      0.434         lakic
## 203       0       0       0       0       0  749      0.481      altintop
## 204       0       0       0       1       0   93      0.245         gekas
## 205       0       0       0       0       0 1587      0.258        harnik
## 206       0       0       0       0       0  272      0.184    pogrebniak
## 207       0       0       0       0       0   78      3.550         cacau
## 208       0       0       0       0       0 1467      0.909       asamoah
## 209       0       0       0       0       0 1076      0.069        ebbers
## 210       0       0       0       1       0   70      4.580         dzeko
## 211       0       0       0       1       0  170      0.691       grafite
## 212       0       0       0       0       0 1481      0.291    de camargo
## 213       0       0       0       0       0  548      0.132        idrisu
## 214       0       0       0       0       0   67      0.872      gervinho
## 215       0       0       0       0       0  248      0.475           sow
## 216       0       0       0       0       0  772      0.216          frau
## 217       0       0       0       0       0  548      1.150       montano
## 218       0       0       0       0       0 1070      0.138       boukari
## 219       0       0       0       0       0 1359      0.195         ekoko
## 220       0       0       0       0       0  148      1.120        lopez2
## 221       0       0       0       0       0  379      0.228         gomis
## 222       0       0       0       0       0  311      0.581        briand
## 223       0       0       0       0       1  221      0.307        gignac
## 224       0       0       0       0       0  464      2.320       brandao
## 225       0       0       0       0       0  125      0.811          remy
## 226       0       0       0       0       0  166      0.587          ayew
## 227       0       0       0       0       0   76      0.413         nene2
## 228       0       0       0       0       0  317      0.513        hoarau
## 229       0       0       0       0       0  455      0.042    aubameyang
## 230       0       0       0       0       0  104      0.406        erding
## 231       0       0       0       0       0  354      3.100       riviera
## 232       0       0       0       0       0  876      0.291        giroud
## 233       0       0       0       0       0  768      0.170        camara
## 234       0       0       0       0       0 1156      1.120      ait-fana
## 235       0       0       0       0       0 1300      1.080       modeste
## 236       0       0       0       0       0  636      0.299       goufran
## 237       0       0       0       0       0  209      0.331       gameiro
## 238       0       0       0       0       0  814      0.066     kitambala
## 239       0       0       0       0       0  333      0.094         maiga
## 240       0       0       0       0       0 2249      2.180     pentecote
## 241       0       0       0       0       0  317      0.291         ideye
## 242       0       0       0       0       0  913      1.260          roux
## 243       0       0       0       0       0 1134      0.085         poyet
## 244       0       0       0       0       0  857      0.652      el-arabi
## 245       0       0       0       0       0 1320      0.223        traore
## 246       0       0       0       0       0  302      0.255        hadijt
## 247       0       0       0       0       0 1163      0.205       vahirua
## 248       0       0       0       0       0  713      0.318       ljuboja
## 249       0       0       0       0       0  365      0.640         pujol
## 250       0       0       0       0       0 1478      0.185       samassa
## 251       0       0       0       0       0  308      0.167         jelen
## 252       0       0       0       0       0 2467      0.102        licata
## 253       0       0       0       0       0 1384      0.116       quercia
## 254       0       0       0       0       0  566      0.418       niculae
## 255       0       0       0       0       0  592      0.733      chu-yang
## 256       0       0       0       0       0 1430      0.079         jemaa
## 257       0       0       0       0       0 2354      0.019    dos santos
## 258       0       0       0       0       0 1125      0.025      djadjede
##           bmi
## 1   21.718066
## 2   23.458562
## 3   22.408179
## 4   23.510204
## 5   22.530612
## 6   21.561909
## 7   24.485652
## 8   21.913806
## 9   21.604938
## 10  24.622961
## 11  22.471209
## 12  23.620288
## 13  21.799308
## 14  23.566632
## 15  20.987654
## 16  22.340297
## 17  24.074074
## 18  23.875433
## 19  23.407509
## 20  24.049344
## 21  23.374726
## 22  23.597004
## 23  23.668639
## 24  22.058051
## 25  21.266541
## 26  24.074074
## 27  22.839506
## 28  23.808797
## 29  24.187046
## 30  22.243924
## 31  23.547881
## 32  23.959094
## 33  21.847009
## 34  22.160665
## 35  22.408787
## 36  24.021276
## 37  21.913580
## 38  22.205990
## 39  25.099502
## 40  24.485652
## 41  21.857278
## 42  22.790358
## 43  23.711845
## 44  21.913806
## 45  23.407509
## 46  21.799308
## 47  22.839506
## 48  23.959094
## 49  22.530612
## 50  22.408787
## 51  22.917610
## 52  23.722811
## 53  24.933720
## 54  22.743384
## 55  24.635369
## 56  19.802517
## 57  23.483477
## 58  22.068809
## 59  23.183391
## 60  21.380993
## 61  20.452885
## 62  21.499597
## 63  22.837370
## 64  17.573822
## 65  23.291230
## 66  20.897959
## 67  23.766410
## 68  22.545959
## 69  22.992624
## 70  23.766410
## 71  21.967858
## 72  23.148148
## 73  21.329438
## 74  23.765432
## 75  21.604938
## 76  18.699781
## 77  23.510204
## 78  23.163373
## 79  23.082542
## 80  21.655108
## 81  24.307244
## 82  26.004383
## 83  20.199470
## 84  21.798202
## 85  24.784258
## 86  23.082542
## 87  21.052632
## 88  17.817494
## 89  20.832762
## 90  24.396261
## 91  24.187046
## 92  23.483477
## 93  23.893259
## 94  24.382716
## 95  24.835646
## 96  23.527105
## 97  24.221453
## 98  21.977351
## 99  22.857143
## 100 21.913806
## 101 21.977351
## 102 21.477087
## 103 21.785876
## 104 21.106878
## 105 23.888441
## 106 25.564954
## 107 22.205990
## 108 30.405293
## 109 24.691358
## 110 22.159109
## 111 23.025685
## 112 19.591837
## 113 22.587833
## 114 20.088275
## 115 25.059307
## 116 24.049344
## 117 23.355637
## 118 22.662709
## 119 24.535124
## 120 23.991213
## 121 24.391059
## 122 22.019503
## 123 22.038401
## 124 21.499597
## 125 24.075474
## 126 22.530864
## 127 21.967858
## 128 21.604938
## 129 20.233553
## 130 22.675737
## 131 22.530864
## 132 23.407509
## 133 24.343809
## 134 22.152647
## 135 22.395413
## 136 23.836735
## 137 22.152647
## 138 23.765432
## 139 21.798202
## 140 26.989619
## 141 21.967120
## 142 20.528922
## 143 22.907122
## 144 22.662709
## 145 22.340297
## 146 24.816327
## 147 21.551020
## 148 23.871528
## 149 21.604938
## 150 19.789698
## 151 23.888441
## 152 23.291230
## 153 20.987654
## 154 23.986870
## 155 22.839506
## 156 23.334121
## 157 23.589835
## 158 22.694019
## 159 23.038752
## 160 22.477454
## 161 23.374726
## 162 22.530864
## 163 21.256244
## 164 24.622961
## 165 24.074074
## 166 23.589835
## 167 24.784258
## 168 20.177149
## 169 23.735308
## 170 20.811655
## 171 23.038752
## 172 23.999459
## 173 22.751569
## 174 21.380993
## 175 20.987654
## 176 24.441802
## 177 22.340297
## 178 24.635369
## 179 25.661152
## 180 22.096808
## 181 22.014014
## 182 22.743384
## 183 24.251278
## 184 23.991213
## 185 22.634676
## 186 22.598140
## 187 22.992624
## 188 23.924858
## 189 23.959094
## 190 21.798202
## 191 22.790358
## 192 23.200543
## 193 22.340297
## 194 23.781213
## 195 22.714681
## 196 22.545959
## 197 23.057726
## 198 25.057360
## 199 25.492722
## 200 24.280264
## 201 22.515191
## 202 23.413111
## 203 23.959094
## 204 23.719609
## 205 21.329438
## 206 25.746944
## 207 23.095409
## 208 26.234568
## 209 23.871528
## 210 23.025685
## 211 24.635369
## 212  7.721124
## 213 22.991690
## 214 20.598608
## 215 21.296296
## 216 23.183673
## 217 24.258674
## 218 21.132713
## 219 23.407509
## 220 24.441802
## 221 22.743384
## 222 25.640243
## 223 24.280264
## 224 21.835895
## 225 22.448015
## 226 23.243802
## 227 21.366869
## 228 20.832762
## 229 21.621622
## 230 25.945484
## 231 22.944089
## 232 23.871528
## 233 23.781213
## 234 21.224490
## 235 21.100705
## 236 22.857143
## 237 22.145329
## 238 22.981902
## 239 22.205990
## 240 23.148148
## 241 21.604938
## 242 21.158854
## 243 22.448015
## 244 20.902386
## 245 23.124061
## 246 21.798202
## 247 23.529412
## 248 21.835895
## 249 20.902386
## 250 23.766410
## 251 21.857278
## 252 23.986870
## 253 23.030045
## 254 22.205990
## 255 20.902386
## 256 23.374726
## 257 21.146320
## 258 22.598140
a <- mutate(a, bmi = weight / ((height/100)*(height/100))) # dodanie do zbioru

a <- mutate(a, bmi = NULL) # wyrzucenie ze zbioru

a <- mutate(a, height2 = height**2, # dodanie zmiennej
            age = age**2) # zmiana wartości zmiennej



Źródła i inspiracje pomocne w przygotowaniu niniejszej prezentacji:

  • Materiały z warsztatów Data Science w zastosowaniach biznesowych - Warsztaty z wykorzystaniem programu R Uniwersytet Warszawski, Wydział Nauk Ekonomicznych

  • Frank McCown, Ph.D. home page materials

  • R Graphics Cookbook

  • Dokumentacja: help(package = "graphics")

  • ?par - wszystkie parametry graficzne

  • colors() - lista 657 dostępnych kolorów w R