Podstawowe operacje w R - część 2.
Operatory i funkcje
Piotr
Kowalczyk
2022-11-11
- Zapisz “dane” jako obiekt tibble pod inną nazwą, np. dane2. Porównaj
je.
dane2<- tibble(dane)
head(dane2)
## # A tibble: 6 x 12
## street city zip state beds baths sq__ft type sale_~1 price latit~2
## <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
## # 1: sale_date, 2: latitude
- Które ze zmiennych przekształcone powinny być w czynnik
(factor)?
dane2$type<- as.factor(dane2$type)
dane2$state<- as.factor(dane2$state)
dane2$city<- as.factor(dane2$city)
- Cena nieruchomości (price) jest obecnie integer. Czy to
odpowiednie?
dane2$price<- as.numeric(dane2$price)
- Napisz własną funkcję, która wykonywać będzie standaryzowanie
zmiennych.
f1<- function(x){
a<- (x-mean(x))/sd(x)
return(a)
}
- Utwórz nową zmienną “cena” w tibble “dane2”, która będzie
zestandaryzowaną ceną, korzystając z własnej funkcji.
dane2$cena <- f1(dane2$price)
str(dane2)
## tibble [985 x 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 ...
- 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="Wykres ramkowy - cena", cex.main=0.80)
