Podstawowe operacje w R - część 2.

Analiza opisowa

Patryk Dunajewski

2022-11-16

Zadanie do wykonania

Zadanie wykonaj w kilku etapach:

  1. Zapisz “dane” jako obiekt tibble pod inną nazwą, np. dane2. Porównaj je.
dane2<-tibble(dane)
head(dane2)
## # A tibble: 6 × 12
##   street        city    zip state  beds baths sq__ft type  sale_…¹ price latit…²
##   <chr>         <chr> <int> <chr> <int> <int>  <int> <chr> <chr>   <int>   <dbl>
## 1 3526 HIGH ST  SACR… 95838 CA        2     1    836 Resi… Wed Ma… 59222    38.6
## 2 51 OMAHA CT   SACR… 95823 CA        3     1   1167 Resi… Wed Ma… 68212    38.5
## 3 2796 BRANCH … SACR… 95815 CA        2     1    796 Resi… Wed Ma… 68880    38.6
## 4 2805 JANETTE… SACR… 95815 CA        2     1    852 Resi… Wed Ma… 69307    38.6
## 5 6001 MCMAHON… SACR… 95824 CA        2     1    797 Resi… Wed Ma… 81900    38.5
## 6 5828 PEPPERM… SACR… 95841 CA        3     1   1122 Condo Wed Ma… 89921    38.7
## # … with 1 more variable: longitude <dbl>, and abbreviated variable names
## #   ¹​sale_date, ²​latitude
head(dane)
##               street       city   zip state beds baths sq__ft        type
## 1       3526 HIGH ST SACRAMENTO 95838    CA    2     1    836 Residential
## 2        51 OMAHA CT SACRAMENTO 95823    CA    3     1   1167 Residential
## 3     2796 BRANCH ST SACRAMENTO 95815    CA    2     1    796 Residential
## 4   2805 JANETTE WAY SACRAMENTO 95815    CA    2     1    852 Residential
## 5    6001 MCMAHON DR SACRAMENTO 95824    CA    2     1    797 Residential
## 6 5828 PEPPERMILL CT SACRAMENTO 95841    CA    3     1   1122       Condo
##                      sale_date price latitude longitude
## 1 Wed May 21 00:00:00 EDT 2008 59222     38.6      -121
## 2 Wed May 21 00:00:00 EDT 2008 68212     38.5      -121
## 3 Wed May 21 00:00:00 EDT 2008 68880     38.6      -121
## 4 Wed May 21 00:00:00 EDT 2008 69307     38.6      -121
## 5 Wed May 21 00:00:00 EDT 2008 81900     38.5      -121
## 6 Wed May 21 00:00:00 EDT 2008 89921     38.7      -121
  1. Które ze zmiennych przekształcone powinny być w czynnik (factor)?
for(i in 1:length(dane2$sale_date)){
  if(i == 1){
    new_dates<- anydate(str_c(unlist(strsplit(dane2$sale_date[i], split = " "))[c(2,3,6)], collapse = "-"))
  }
  else{
    date_tmp<- anydate(str_c(unlist(strsplit(dane2$sale_date[i], split = " "))[c(2,3,6)], collapse = "-"))
    new_dates<-c(new_dates, date_tmp)
  }
}
dane2$sale_date<-new_dates

dane2$state<-as.factor(dane2$state)
dane2$type<-as.factor(dane2$type)
  1. Cena nieruchomości (price) jest obecnie integer. Czy to odpowiednie? odp. Dane typu integer są poprawne, ze względu na to, że ceny mieszkań zostały podane jako liczby całkowite. Aby poprawić ich wizualizacje można je zamienić na typ numeric.
dane2$price<-as.numeric(dane2$price)
  1. Napisz własną funkcję, która wykonywać będzie standaryzowanie zmiennych.
normalizacjaCen<- function(k){
  return((k-mean(k))/sd(k))
    }
  1. Utwórz nową zmienną “cena” w tibble “dane2”, która będzie zestandaryzowaną ceną, korzystając z własnej funkcji.
dane2$cena<-normalizacjaCen(dane2$price)
  1. Wykreśl cenę oraz price na wykresach ramkowych obok siebie na jednym ekranie.
par(mfrow=c(1,2))
boxplot(dane2$price, col="green", main="Cena pierwotna")
boxplot(dane2$cena, col= "yellow", main="Cena znormalizowana")