Wykład 3

Author

Jakub Wilk

Published

November 3, 2023

1 Przetwarzanie tekstu

  • tolower(LETTERS), toupper(letters) # na małe / duże
  • toString(letters[1:5]) - jeden duży string
  • substr(daty, 1, 4) → taki fragment tekstu na kilku linijkach
  • toString  - wstawia przecinki pomiędzy wyświetlane elementy wektora i przekształca wiele napisów w jeden element.
  • las = 2, zmiana wystetlania etykiety
  • cat()  - wyświetla napis w sposób niesformatowany.
  • Napisy można łączyć za pomocą funkcji paste()
  • as.character(dane$nazwisko), zamienia na inny typ
  • nchar() - (długość każdego napisu).
  • length() liczba elementów wektora
  • as.numeric("2016") - konwersja na liczbę
  • substr(daty, 1, 4) ; substr(daty, 6, 7) ; substr(daty, 9, 10) → fragment tekstu

2 Czas

2.1 data

as.Date("2016-01-01") # konwersja na datę
as.Date("Czerwiec 2, 2015", format = "%B %d, %Y", locale = Sys.getlocale("LC_TIME"))
Sys.time() # data i czas teraz
#?strptime  okazuje co dać po %
format(Sys.time(), "%a %b %d %X %Y %Z")

2.2 ct()

czas2 <- as.POSIXct("14022015 12:56:26",
format = "%d%m%Y %H:%M:%S")
czas2
[1] "2015-02-14 12:56:26 CET"
czas1 <- Sys.time()
czas1 + 7*(24*3600) # dodaje tydzień
[1] "2023-11-10 18:54:48 CET"
Sys.timezone()# zwraca strefę czasową
[1] "Europe/Warsaw"

2.3 lt()

czas2 <- as.POSIXlt("14022015 12:56:26",
format = "%d%m%Y %H:%M:%S"); czas2
[1] "2015-02-14 12:56:26 CET"
czas2$min # można się odwoływać
[1] 56

2.4 Róznice między ct() a lt()

POSIXct jest bardziej odpowiedni do prostych operacji matematycznych na czasie, takich jak obliczanie różnicy między dwiema datami, podczas gdy POSIXlt jest bardziej odpowiedni do bardziej zaawansowanych operacji na czasie, które wymagają dostępu do szczegółowych informacji o dacie i godzinie. Wybór między nimi zależy od konkretnej potrzeby i rodzaju operacji, które chcesz wykonać na danych związanych z czasem.

3 Wyszukiwanie napisów

  • which(dane$nazw_nap == "Kowalska") znajduje indeksy
  • which(dane$nazw_nap %in% c("Nowy", "Ptak")) znajduje indeksy gdzie nazwisko to Nowy lub Ptak.
  • grep("i", dane$stanow) które linijki posiadają i
  • grep("a", as.character(dane$nazw_nap), value = TRUE) które nazwiska posiadają a
  • grep("^[P]", dane$nazwisko, value = T) zaczyna się od P
  • dane[dane$praca %in% c("AGH","NFZ"),] - wszytskie wiersze z AGH i NFZ
  • grepl - wartości logiczne czy sie zgadza czy nie
  • grep zwraca indeksy -auta2012$autoalarm <- grepl("autoalarm", auta2012$Wyposazenie.dodatkowe) table(auta2012$autoalarm) liczy ile aut ma autoalarm

4 Cechy jakościowe

Za pomocą cech jakościowych opisujemy przynależność danego zbioru danych do pewnej grup.

  • factor - zmienną jakościową
  • integer lub numeric - zmienną ilościową
  • summary(auta2012$Waluta) → ile każdej waluty
  • prop.table(table(auta$Rodzaj.paliwa)) * 100 → % udział każdego
  • barplot(rok) → słupkowy pionowy
  • barplot(as.table(rok), horiz = T, # poziomo las = 1)

4.1 Tablice częstości

krajWaluta <- xtabs( ~ Kraj.pochodzenia + Waluta, auta2012)

4.2 Przekształcanie zmiennych ilościowych w jakościowe

dane$kateg <- cut(dane$urlop, breaks = c(0, 10, max(dane$urlop))) table(dane$kateg) # ile z jakiego porzedziału

5 CHEATSHEET

Base R