Język R
- Do zmiennej a podstaw wartość wyrażenia 2 ^ 5. Do zmiennej b podstaw potrojoną wartość zmiennej a. Wywołaj funkcję sprawdzającą, która z wartości zmiennych jest mniejsza.
1234> a <- 2 ^ 5> b <- a * 3> min(a, b)[1] 32 - Uruchom i poczytaj dokumentacje dla funkcji mean().
1> help(mean)1> ??mean - Stwórz wektor a zawierający liczby od 1 od 10. Policz średnią liczb zawartych w wektorze.
123> a <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)> sum(a)/length(a)[1] 5.5
123> a <- 1:10> mean(a)[1] 5.5 - Wyświetl wszystkie funkcje zawierające frazę mean w swojej nazwie.
123456> apropos("mean", mode = "function")[1] ".colMeans" ".rowMeans" "colMeans"[4] "kmeans" "mean" "mean.Date"[7] "mean.default" "mean.difftime" "mean.POSIXct"[10] "mean.POSIXlt" "raw.means.plot" "raw.means.plot2"[13] "rowMeans" "weighted.mean" - Ustaw dowolny katalog roboczy. Następnie stwórz zmienną a zawierającą łańcuch znaków “ala ma kota”. Zapisz zmienną a z obszaru roboczego do pliku w katalogu roboczym. Następnie usuń zmienną a. Sprawdź wartość zmiennej a (powinno jej brakować). Na końcu wczytaj plik ze zmienną a i sprawdź jej wartość.
123456789> setwd("D:/Studia AGH/Notatki w internecie/")> a <- "ala ma kota"> save(a, file = "ala.RData")> remove(a)> aError: object 'a' not found> load("ala.RData")> a[1] "ala ma kota" - Zainstaluj i załaduj pakiet gridExtra, który umożliwia m.in ładną wizualizacje danych tabelarycznych. Następnie przy pomocy dokumentacji pakietu znajdź funkcję do wizualizacji danych tabelarycznych. Użyj jej na pierwszych 10 wierszach zbioru danych iris.
1234> install.packages("gridExtra")> library(gridExtra)> help(package = "gridExtra")> grid.table(iris[1:10, ]) - Stwórz wektor zawierający ciąg liczb 10, 12, 14… 20.
12> seq(10, 20, 2)[1] 10 12 14 16 18 20 - Stwórz wektora a z liczbami od 1 do 3 oraz wektor b z liczbami od 4 do 6. Utwórz nowy wektory d będący połączeniem wektora b i a (w takiej kolejności). Wyświetl go.
12345> a <- 1:3> b <- 4:6> d <- c(b, a)> d[1] 4 5 6 1 2 3 - Stwórz wektor imię zawierający imiona trójki Twoich przyjaciół. Potem stwórz wektor wiek zawierający kolejno wiek Twojej trójki przyjaciół. Następnie stwórz ramkę danych osoby złożoną z wektorów imię (łańcuchy znaków!) oraz wiek. Wylicz średnią wieku przyjaciół.
12345678910> imię <- c("Marcela", "Zosia", "Wacław")> wiek <- c(17, 23, 35)> osoby <- data.frame(imię, wiek, stringsAsFactors = FALSE)> osobyimię wiek1 Marcela 172 Zosia 233 Wacław 35> mean(osoby$wiek)[1] 25 - Do stworzonej w poprzednim zadaniu ramki danych osoby dodaj wpis zawierający Twoje imię i wiek. Wylicz średnią wieku ponownie.
1234567891011121314> moje_dane <- data.frame(imię = "Patryk", wiek = 25)> moje_daneimię wiek1 Patryk 25> osoby <- rbind(osoby, moje_dane)> osobyimię wiek1 Marcela 172 Zosia 233 Wacław 354 Patryk 25> mean(osoby$wiek)[1] 25> - Korzystając z ramki danych osoby dodaj nową kolumnę określając płeć osób. Wpisz do kolumny odpowiednio “mężczyzna” bądź “kobieta”. Dodana kolumna łańcuchów znaków powinna się automatycznie przekonwertować do cech jakościowych (tzw. factors). Wylicz średnią wieku każdej z płci.
1234567891011121314> płeć <- c("kobieta", "kobieta", "mężczyzna", "mężczyzna")> osoby <- cbind(osoby, płeć)> osobyimię wiek płeć1 Marcela 17 kobieta2 Zosia 23 kobieta3 Wacław 35 mężczyzna4 Patryk 25 mężczyzna> osoby$płeć[1] kobieta kobieta mężczyzna mężczyznaLevels: kobieta mężczyzna> tapply(osoby$wiek, osoby$płeć, mean)kobieta mężczyzna20 30 - Do ramki danych osoby dodaj kolejne znane Ci osoby. Narysuj na wykresie słupkowym liczebność reprezentantów każdej z płci.
12345678910111213141516171819> imię <- c("Dominika", "Małgosia")> wiek <- c(24, 37)> płeć <- rep(factor("kobieta"), 2)> nowe_osoby <- data.frame(imię, wiek, płeć)> osoby <- rbind(osoby, nowe_osoby)> osobyimię wiek płeć1 Marcela 17 kobieta2 Zosia 23 kobieta3 Wacław 35 mężczyzna4 Patryk 25 mężczyzna5 Dominika 24 kobieta6 Małgosia 37 kobieta> liczebnosc <- table(osoby$płeć)> liczebnosckobieta mężczyzna4 2> barplot(liczebnosc)
- Wykorzystując ramkę danych osoby pokaż procentowy udział obu płci przy pomocy wykresu kołowego oraz wachlarzowego.
12345> liczebnosc <- table(osoby$płeć)> procenty <- liczebnosc / sum(liczebnosc)> pie(procenty)> library(plotrix)> fan.plot(liczebnosc, labels = names(liczebnosc))
Wynikiem są następujące wykresy:
- Do ramki danych osoby dodaj nową kolumnę status z wartościami: “pełnoletność”, “niepełnoletność” w zależności od wieku osoby. Zamień dodaną kolumnę na cechy jakościowe. Następnie przy pomocy wykresu kołowego wyrysuj procentowy udział osób o konkretnym statusie.
1234567891011> osoby[, "status"] <- ifelse(osoby$wiek >= 18, "pełnoletność","niepełnoletność")> osobyimię wiek płeć status1 Marcela 17 kobieta niepełnoletność2 Zosia 23 kobieta pełnoletność3 Wacław 35 mężczyzna pełnoletność4 Patryk 25 mężczyzna pełnoletność5 Dominka 24 kobieta pełnoletność6 Małgosia 37 kobieta pełnoletność> osoby$status <- factor(osoby$staus)> pie(table(osoby$status))
- Wykorzystując ramkę danych osoby stwórz zdanie o każdej z osób postaci: imię + ” ma status ” + status + ” bo ma ” + wiek + ” lat”. Plus oznacza konkatenacje łańcuchów i wartości.
1234567> paste(osoby$imię, "ma status", osoby$status, "bo ma", osoby$wiek, "lat!")[1] "Marcela ma status niepełnoletność bo ma 17 lat!"[2] "Zosia ma status pełnoletność bo ma 23 lat!"[3] "Wacław ma status pełnoletność bo ma 35 lat!"[4] "Patryk ma status pełnoletność bo ma 25 lat!"[5] "Dominka ma status pełnoletność bo ma 24 lat!"[6] "Małgosia ma status pełnoletność bo ma 37 lat!"