Zadanie do wykonania
Zadanie wykonaj w kilku etapach:
- 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
- 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)
- 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)
- Napisz własną funkcję, która wykonywać będzie standaryzowanie zmiennych.
normalizacjaCen<- function(k){
return((k-mean(k))/sd(k))
}
- 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)
- 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")