Wprowadzenie

  1. Zapoznaj się z rodzajami danych w R. Pamiętaj, że nie są to rodzaje zmiennych w statystyce!
  2. Jakie są etapy analizy danych?
  3. Jak wczytywać i zapisywać dane różnych formatów?

Zadanie

Dane dotyczą prawie 985 transakcji sprzedaży mieszkań z Sacramento (Kalifornia, USA).

Utwórz nowy factor: dla cen >50 kUSD “0” o etykiecie „niska”, dla >100 kUSD “1” o etykiecie “srednia”, a dla pozostałych „2” o etykiecie „wysoka”. W jakim celu można go wykorzystać w analizie danych?

dane <- dane %>%
mutate(cena=cut(price, breaks=c(-Inf, 50000, 100000, Inf), labels=c("niska","srednia","wysoka")))
attach(dane)
boxplot(sq__ft~cena)

ggplot(dane, aes(cena,sq__ft))+
  geom_boxplot()+
  theme_light()

dane2<-dane[!(dane$typ=="Unkown"),]
attach(dane2)

ggplot(dane2, aes(type,price))+
  geom_boxplot()+
  theme_light()

Fajki

Poniżej pokazano przykład wykorzystania fajki bazowej R “|>”: wykres logarytmu gęstości cen.

price |> 
  log() |>
  density() |>
  plot(xlab="log cen", ylab="gęstość", main="Logarytm cen")

Przykład - dplyr

Wykreśl histogram cen sprzedaży nieruchomości typu “Condo” z dwiema sypialniami. Filtry z dplyr działają na całej ramce danych, stąd by wykreślić ceny musimy użyć pakietu ggplot2:

Bez użycia filtra i fajek nie ma takiej potrzeby:

Zadania z dplyr

Zapisz do ramki “dane3” informacje nt. cen i rodzaju mieszkań (ale tylko te, które mają co najmniej 2 łazienki). Ich ceny uporządkuj rosnąco. Utwórz także nową zmienną price2, która jest wyrażona w PLN z kursu dzisiejszego (średniego).

dane3 <- dane2%>%
  mutate(cena_pln=price*3.95)  %>% ##mutate tworzy nowa zmienna
  filter(baths>=2) %>%
  select(cena_pln,type)%>%
  arrange(cena_pln) ##sortowanie, domyślnie rosnąco

Podsumuj ramkę dane3 - pokazując średnie ceny w PLN i grupując je wg typu mieszkania.

dane3 %>%
  group_by(type)%>%
  summarise(srednia=mean(cena_pln),odchylenie=sd(cena_pln),zmiennosc=(odchylenie/srednia)*100)

Na wykresie wyświetl ceny w PLN wg typu nieruchomości. Podpisz osie, nanieś szablon.

ggplot(dane3,aes(type,cena_pln))+
  geom_violin()+
  theme_light()+
  labs(title="ceny wg typu", x="typ",y="PLN")