Laboratorium nr.11/12 Bioinformatyka 27.01.16 setwd("D

Transkrypt

Laboratorium nr.11/12 Bioinformatyka 27.01.16 setwd("D
Laboratorium nr.11/12
Bioinformatyka
27.01.16
setwd("D:/DYDAKTYK/bioinformatyka")
Wykorzystano materiały i bazę danych dostępne na: http://pogromcydanych.icm.edu.pl
# Zainstaluj bazę danych dostępne w bibliotece:
install.packages("PogromcyDanych")
library(PogromcyDanych)
Potokowe przetwarzanie danych
# wczytaj ze strony http://biecek.pl/MOOC/dane/auta2012mini.csv zbiór przedstawiający ofertę
cenową aut w roku 2012
# (sep=";", dec=",")
auta2012 <- read.table(file = "http://biecek.pl/MOOC/dane/auta2012mini.csv",
sep=";", dec=",", header=TRUE)
View(auta2012)
W R mamy możliwość potokowego przetwarzania danych korzystając z specjalnego operatora
do przetwarzania potokowego %>, który jest dostępny w pakiecie dplyr. Operator działa w
następujący sposób przekazuje lewą stronę operatora jako pierwszy argument prawej strony tego
operatora, np. instrukcja a %>% f(b) jest równoważna instrukcji f(a, b).
Zadanie
Zapoznaj się z przykładem, a następnie korzystając z funkcji filter(), (możesz też skorzystać z
subset()), arrange() wybierz samochody Opel Astra II o małym przebiegu (mniej niż 50tys km) z
manualną skrzynią biegów i posortuj ich cenę malejąco
Przykład
library(dplyr)
samochodyFord<-auta2012 %>% filter(Marka == "Ford") %>% arrange(Cena.w.PLN)
View(samochodyFord)




sprawdź czy w kolumnie Przebieg.w.km brakuje danych wykorzystaj funkcję is.na()
oblicz ile jest takich brakujących danych w/w kolumnie
wszystkie brakujące dane zastąp liczbą 0, wykorzystaj w tym celu funcje gsub()
następnie podstaw nowe wartości w miejsce poprzednich korzystając z funkcji mutate() w
kolumnie Przebieg.w.km
Przykład
nowy_wynik<-dane1%>%gsub("-","NA",dane1$nazwa_kolumny)
dane2<-dane1%>%mutate(nazwa_kolumny=nowy_wynik)

uzyskany zbiór zapisz do pliku
Grupowanie danych
Zapoznaj się z przykładem, w którym korzystając z funkcji group_by() wykonano grupowanie
względem rodzaju paliwa samochodów.


dla samochodów Renault wyprodukowanych w 2007, sprawdzono ile średnio kosztują
poszczególne typy samochodów oraz
jaki mają przebieg i ile takich samochodów w bazie jest
autaGrupowane<-auta2012 %>% filter(Marka == "Renault", Rok.produkcji == 2007) %>%
group_by(Rodzaj.paliwa) %>%
summarise(medianaCeny = median(Cena.w.PLN, na.rm=TRUE),
medianaPrzebieg = median(Przebieg.w.km, na.rm=TRUE),liczba = n()) %>% filter(liczba > 10)
print(autaGrupowane)
View(autaGrupowane)

następnie wybierz wybierz conajmniej czteroletnie Golfy i sprawdź czy ich średnia cena zależy od
kraju aktualnej rejestracji (musisz pogrupować po zmiennej Kraj.aktualnej.rejestracji)
Funkcje
Po załadowaniu biblioteki "Pogromcy danych" masz dostęp do danych klinicznych i genetycznych
pacjentów (głównie pacjentek) z nowotworem piersi- zbiór danych TCGA_BRCA. W zbiorze
danych TCGA_BRCA zebrano wyniki dla 999 pacjentów. Każdy wiersz to jeden pacjent.
Dla każdego pacjenta podane jest 5 cech: informacja o mutacji genu TP53, płeć pacjenta,
informacja czy pacjent żyje pięć lat po zabiegu,
liczba dni od operacji do zgonu (jeżeli wystąpił),
informacja o tym czy doszło do wznowy i czy pojawił się nowy guz.
Zapoznaj się z danymi:
Vie w(table(TCGA_BRCA))
i strukturą funkcji:
nazwa_funkcji <- function(argumenty_rozdzielone_przecinkiem, argument0=wartość domyślna
argumentu) {
wyrażenie
}
Przykład
moje_imie<- function(imie, krotnosc=3) {
for (i in 1:krotnosc){
print(imie)
}
}
Wywołanie: >> moje_imie('Aneta',5)




>>moje_imie('Aneta')
Utwórz funkcję która dla podanej płci pacjenta oraz typu mutacji genu TP53 obliczy liczbę
pacjentów nieżyjących i wyznaczy średnią liczbę dni do śmierci w w/w grupie. Aby połączyć
dane różnych typów możesz wykorzystać np. funkcje paste(), cat()
Wypisz wszystkie nazwy mutacji genu TP53
Przestaw kolumę 1 z kolumną ostatnią
Przestaw wiersz 1 i 2

Podobne dokumenty