R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

library(tibble)
knitr::opts_chunk$set(echo = TRUE)
dane<-read.csv(file="https://tiny.pl/9rs5c")   #pobieramy dane z mojego githuba
  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
  1. Które ze zmiennych przekształcone powinny być w czynnik (factor)? Czynnikami powinny być miasto, stan oraz typ mieszkania.
dane2$city<-as.factor(dane2$city)
dane2$state<-as.factor(dane2$state)
dane2$type<-as.factor(dane2$type)
head(dane2)
## # A tibble: 6 × 12
##   street        city    zip state  beds baths sq__ft type  sale_…¹ price latit…²
##   <chr>         <fct> <int> <fct> <int> <int>  <int> <fct> <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
  1. Cena nieruchomości (price) jest obecnie integer. Czy to odpowiednie? Cena powinna być jako numeric, bo może przyjmować wartości niecałkowite.
dane2$price<-as.numeric(dane2$price)
head(dane2)
## # A tibble: 6 × 12
##   street        city    zip state  beds baths sq__ft type  sale_…¹ price latit…²
##   <chr>         <fct> <int> <fct> <int> <int>  <int> <fct> <chr>   <dbl>   <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
  1. Napisz własną funkcję, która wykonywać będzie standaryzowanie zmiennych.
funkcja<-function(x){
  y<-(x-mean(x))/sd(x)
  return (y)
}
  1. Utwórz nową zmienną “cena” w tibble “dane2”, która będzie zestandaryzowaną price, korzystając z własnej funkcji.
dane2$cena <- funkcja(dane2$price)
str(dane2)
## tibble [985 × 13] (S3: tbl_df/tbl/data.frame)
##  $ street   : chr [1:985] "3526 HIGH ST" "51 OMAHA CT" "2796 BRANCH ST" "2805 JANETTE WAY" ...
##  $ city     : Factor w/ 39 levels "ANTELOPE","AUBURN",..: 34 34 34 34 34 34 34 34 29 31 ...
##  $ zip      : int [1:985] 95838 95823 95815 95815 95824 95841 95842 95820 95670 95673 ...
##  $ state    : Factor w/ 1 level "CA": 1 1 1 1 1 1 1 1 1 1 ...
##  $ beds     : int [1:985] 2 3 2 2 2 3 3 3 2 3 ...
##  $ baths    : int [1:985] 1 1 1 1 1 1 2 1 2 2 ...
##  $ sq__ft   : int [1:985] 836 1167 796 852 797 1122 1104 1177 941 1146 ...
##  $ type     : Factor w/ 4 levels "Condo","Multi-Family",..: 3 3 3 3 3 1 3 3 1 3 ...
##  $ sale_date: chr [1:985] "Wed May 21 00:00:00 EDT 2008" "Wed May 21 00:00:00 EDT 2008" "Wed May 21 00:00:00 EDT 2008" "Wed May 21 00:00:00 EDT 2008" ...
##  $ price    : num [1:985] 59222 68212 68880 69307 81900 ...
##  $ latitude : num [1:985] 38.6 38.5 38.6 38.6 38.5 ...
##  $ longitude: num [1:985] -121 -121 -121 -121 -121 ...
##  $ cena     : num [1:985] -1.26 -1.2 -1.19 -1.19 -1.1 ...
  1. Wykreśl cenę oraz price na wykresach ramkowych obok siebie na jednym ekranie. Różnice?
par(mfrow=c(1,2))
boxplot(dane2$price, main="Box plot - Price",cex.main=0.80)
boxplot(dane2$cena, main="Box plot - Cena", cex.main=0.80)