Đường liên kết dữ liệu:

https://docs.google.com/spreadsheets/d/1uDkDGPAz91r1EbU3B94Ig_NjzGSiGJMBVdgpA16rQ4s/edit#gid=1096376257

1 Giới thiệu về dữ liệu:

Tập dữ liệu này ban đầu được zameen.com thu thập dưới dạng dữ iệu giá nhà ở Pakistan và đã được sử dụng một số kỹ thuật làm sạch dữ liệu để cung cấp tập dữ liệu đặc biệt cho Thành phố Islamabad

Mô tả dữ liệu: Bộ dữ liệu ta lấy được gồm có 153430 quan sát và 15 biến:

  1. Property type: là các loại tài sản. Trong phần này, chúng ta có 6 loại khác nhau: House, FarmHouse, Upper Portion, Lower Portion, Flat, Room

  2. Price: là giá của các loại tài sản

  3. Location: về các loại vị trí khác nhau trong mỗi thành phố.

  4. City: thành phố. Trong bộ dữ liệu này có 5 thành phố:Lahore, Karachi, Faisalabad, Rawalpindi, Islamabad

  5. Province_name: tên tỉnh

  6. Latitude: chiều rộng của căn nhà

  7. Longitde: Chiều dài của căn nhà

  8. Baths: số phòng tắm

  9. Purpose: mục đích của căn hộ

  10. Bedrooms: số phòng ngủ

  11. Date_added: Ngày được thêm vào

  12. Agency: hãng

  13. Agent: đại lý

  14. Area in Marla: khu vực ở Marla

  15. Biến số thứ tự

2 Lấy dữ liệu từ file excel

library(readxl)
data <- read_excel("D:/FEDA_dataset 1.xlsx")
str(data)
## tibble [153,430 × 15] (S3: tbl_df/tbl/data.frame)
##  $ ...1         : num [1:153430] 0 1 2 3 4 5 6 7 8 9 ...
##  $ property_type: chr [1:153430] "Flat" "Flat" "House" "House" ...
##  $ price        : num [1:153430] 10000000 6900000 16500000 43500000 7000000 34500000 27000000 7800000 50000000 40000000 ...
##  $ location     : chr [1:153430] "G-10" "E-11" "G-15" "Bani Gala" ...
##  $ city         : chr [1:153430] "Islamabad" "Islamabad" "Islamabad" "Islamabad" ...
##  $ province_name: chr [1:153430] "Islamabad Capital" "Islamabad Capital" "Islamabad Capital" "Islamabad Capital" ...
##  $ latitude     : num [1:153430] 3.37e+06 3.37e+07 3.36e+16 3.37e+13 3.35e+07 ...
##  $ longitude    : num [1:153430] 7.30e+06 7.30e+07 7.29e+07 7.32e+12 7.33e+07 ...
##  $ baths        : num [1:153430] 2 3 6 4 3 8 8 2 7 5 ...
##  $ purpose      : chr [1:153430] "For Sale" "For Sale" "For Sale" "For Sale" ...
##  $ bedrooms     : num [1:153430] 2 3 5 4 3 8 8 2 7 5 ...
##  $ date_added   : POSIXct[1:153430], format: "2019-02-04" "2019-05-04" ...
##  $ agency       : chr [1:153430] "Self" "Self" "Self" "Self" ...
##  $ agent        : chr [1:153430] "Self" "Self" "Self" "Self" ...
##  $ Area_in_Marla: num [1:153430] 4 5.6 8 40 8 32 20 6.2 20 20 ...

3 Xử lý dữ liệu

3.1 Tạo bảng tần số

3.1.1 Tạo bảng tần số cho biến ‘Price’

table(cut(data$price,4))
## 
##  (-2e+06,5e+08]   (5e+08,1e+09] (1e+09,1.5e+09] (1.5e+09,2e+09] 
##          153367              55               7               1

Tạo bảng tần số cho dữ lệu ‘Giá nhà’ được chia thành 4 tổ ở trên, ta dùng câu lệnh trên R, sau đó ta được kết quả là những lần xuất hiện của từng tổ được chia ở trên

3.1.2 Tạo bảng tần số cho biến ‘Latitude’

table(cut(data$latitude,4))
## 
## (-3.37e+13,8.43e+15]  (8.43e+15,1.69e+16]  (1.69e+16,2.53e+16] 
##               138757                    0                  891 
##  (2.53e+16,3.38e+16] 
##                13782

Tạo bảng tần số cho dữ lệu ‘Chiều rộng của ngôi nhà’ được chia thành 4 tổ ở trên, ta dùng câu lệnh trên R, sau đó ta được kết quả là những lần xuất hiện của từng tổ được chia ở trên

3.1.3 Tạo bảng tần số cho biến ‘Longitude’

table(cut(data$longitude,4))
## 
##   (-8.02e+12,2e+15]    (2e+15,4.01e+15] (4.01e+15,6.01e+15] (6.01e+15,8.02e+15] 
##              118593                   0                   1               34836

Tạo bảng tần số cho dữ lệu ‘Chiều dài của ngôi nhà’ được chia thành 4 tổ ở trên, ta dùng câu lệnh trên R, sau đó ta được kết quả là những lần xuất hiện của từng tổ được chia ở trên

3.1.4 Tạo bảng tần số không đều cho biến ‘Price’

Phân tổ cho dữ liệu ‘Giá’ không đều và đặt tên theo từng tổ ‘nhỏ’,‘vừa’,‘lớn’ sau đó gán vào biến slcoded, ta được kết quả là:

data$slcoded <- cut(data$price, breaks = c(189, 8100, 3330000, 5273000),labels = c('nhỏ','vừa','lớn'))
table(data$slcoded)
## 
##   nhỏ   vừa   lớn 
##   195 48424  9919

Tạo bảng tần số cho dữ lệu ‘Giá’ được chia thành tổ không đều ở trên, ta dùng câu lệnh trên R, sau đó ta được kết quả là những lần xuất hiện của từng tổ ‘nhỏ’,‘vừa,’lớn’

3.2 Tách dữ liệu

3.2.1 Tách dữ liệu của loại tài sản House

Để tách dữ liệu của loại tài sản House, ta sử dụng câu lệnh trên R như sau:

House <- subset(data,data$property_type =="House")
head(House)
## # A tibble: 6 × 16
##    ...1 property_type    price location   city  province_name latitude longitude
##   <dbl> <chr>            <dbl> <chr>      <chr> <chr>            <dbl>     <dbl>
## 1     2 House         16500000 G-15       Isla… Islamabad Ca…  3.36e16   7.29e 7
## 2     3 House         43500000 Bani Gala  Isla… Islamabad Ca…  3.37e13   7.32e12
## 3     4 House          7000000 DHA Defen… Isla… Islamabad Ca…  3.35e 7   7.33e 7
## 4     5 House         34500000 Ghauri To… Isla… Islamabad Ca…  3.36e16   7.31e 7
## 5     6 House         27000000 Korang To… Isla… Islamabad Ca…  3.36e 7   7.31e15
## 6     8 House         50000000 DHA Defen… Isla… Islamabad Ca…  3.35e 7   7.31e 7
## # ℹ 8 more variables: baths <dbl>, purpose <chr>, bedrooms <dbl>,
## #   date_added <dttm>, agency <chr>, agent <chr>, Area_in_Marla <dbl>,
## #   slcoded <fct>

3.2.2 Tách dữ liệu của loại tài sản FarmHouse

Ta sử dụng câu lệnh trên R như sau:

FarmHouse  <- subset(data,data$property_type =="FarmHouse ")
head(FarmHouse)
## # A tibble: 0 × 16
## # ℹ 16 variables: ...1 <dbl>, property_type <chr>, price <dbl>, location <chr>,
## #   city <chr>, province_name <chr>, latitude <dbl>, longitude <dbl>,
## #   baths <dbl>, purpose <chr>, bedrooms <dbl>, date_added <dttm>,
## #   agency <chr>, agent <chr>, Area_in_Marla <dbl>, slcoded <fct>

3.2.3 Tách dữ liệu của loại tài sản Flat

Ta sử dụng câu lệnh trên R như sau:

Flat <- subset(data,data$property_type =="Flat")
head(Flat)
## # A tibble: 6 × 16
##    ...1 property_type    price location   city  province_name latitude longitude
##   <dbl> <chr>            <dbl> <chr>      <chr> <chr>            <dbl>     <dbl>
## 1     0 Flat          10000000 G-10       Isla… Islamabad Ca…  3367989   7301264
## 2     1 Flat           6900000 E-11       Isla… Islamabad Ca… 33700993  72971492
## 3     7 Flat           7800000 E-11       Isla… Islamabad Ca… 33698244  72984238
## 4    10 Flat          35000000 Diplomati… Isla… Islamabad Ca… 33728873  73119628
## 5    11 Flat          48000000 Diplomati… Isla… Islamabad Ca… 33728873  73119628
## 6    13 Flat          13500000 DHA Defen… Isla… Islamabad Ca… 33538087  73164536
## # ℹ 8 more variables: baths <dbl>, purpose <chr>, bedrooms <dbl>,
## #   date_added <dttm>, agency <chr>, agent <chr>, Area_in_Marla <dbl>,
## #   slcoded <fct>

3.3 Tính toán các số liệu

3.3.1 Tính giá trị trung bình của biến ‘Giá’

mean(data$price)
## [1] 18418205

3.3.2 Tính phương sai dựa vào dữ liệu của biến ‘Giá’

var(data$price)
## [1] 1.313854e+15

sau khi thực hiện câu lệnh trên R, ta có được kết quả: phương sai quá lớn, cho thấy các số trong dữ liệu của biến ‘Giá’ nằm cách xa giá trị trung bình và có biến động lớn

3.3.3 Tính độ lệch chuẩn của biến’Giá’

sd(data$price)
## [1] 36247125

Độ lệch chuẩn là thước đo độ phân tán hoặc trải rộng của các điểm dữ liệu xung quanh giá trị trung bình.

3.3.4 Tính tổng các giá trị trong cột’Giá’của tập dữ liệu “data”.

Nó cộng tất cả các giá trị riêng lẻ trong cột để cung cấp tổng số tiền.

sum(data$price)
## [1] 2.825905e+12

3.3.5 Tính phương sai của cột ‘Giá’ trong tập dữ liệu data cho từng loại tài sản

aggregate(data$price, list(data$property_type), FUN = 'var')
##         Group.1            x
## 1    Farm House 7.751870e+15
## 2          Flat 1.335805e+14
## 3         House 1.819525e+15
## 4 Lower Portion 2.502029e+13
## 5     Penthouse 7.154594e+14
## 6          Room 1.834242e+13
## 7 Upper Portion 4.639333e+13

3.3.6 Tính độ lệch chuẩn của cột ‘Giá’ trong tập dữ liệu data cho từng loại tài sản

aggregate(data$price, list(data$property_type), FUN = 'sd')
##         Group.1        x
## 1    Farm House 88044704
## 2          Flat 11557702
## 3         House 42655894
## 4 Lower Portion  5002028
## 5     Penthouse 26748072
## 6          Room  4282805
## 7 Upper Portion  6811265

3.3.7 Tính tổng của cột ‘Giá’ trong tập dữ data cho từng loại tài sản

aggregate(data$price, list(data$property_type), FUN = 'sum')
##         Group.1            x
## 1    Farm House 3.824008e+10
## 2          Flat 2.875747e+11
## 3         House 2.454937e+12
## 4 Lower Portion 1.184969e+10
## 5     Penthouse 6.432138e+09
## 6          Room 3.079114e+08
## 7 Upper Portion 2.656397e+10

3.3.8 Tính giá trung bình của cột ’Giá’trong tập dữ liệu data cho từng loại tài sản

aggregate(data$price, list(data$property_type), FUN = 'mean')
##         Group.1          x
## 1    Farm House 61086385.0
## 2          Flat  8381903.8
## 3         House 25402116.3
## 4 Lower Portion  1428878.5
## 5     Penthouse 16882252.0
## 6          Room   464421.4
## 7 Upper Portion  2122570.3

3.3.9 Tính toán thống kê tóm tắt của cột “giá” trong tập dữ liệu “data” được nhóm theo các giá trị duy nhất trong cột “Loại tài sản”.

aggregate(data$price, list(data$property_type), FUN = 'summary')
##         Group.1       x.Min.    x.1st Qu.     x.Median       x.Mean
## 1    Farm House          0.0   14000000.0   37500000.0   61086385.0
## 2          Flat          1.0     110000.0    5500000.0    8381903.8
## 3         House          0.0    6000000.0   14000000.0   25402116.3
## 4 Lower Portion         44.0      27000.0      45000.0    1428878.5
## 5     Penthouse      15000.0    1200000.0    7500000.0   16882252.0
## 6          Room       1000.0      10000.0      15000.0     464421.4
## 7 Upper Portion       5000.0      30000.0      50000.0    2122570.3
##      x.3rd Qu.       x.Max.
## 1   72375000.0  884000000.0
## 2   11000000.0  225000000.0
## 3   28000000.0 2000000000.0
## 4      80000.0   70000000.0
## 5   20000000.0  150000000.0
## 6      23750.0   90000000.0
## 7     110000.0  375000000.0

Sau khi thực hiệ trên trên R nó sẽ cung cấp các tóm tắt thống kê như tối thiểu, phần tư thứ nhất, trung bình, trung vị, phần tư thứ 3 và tối đa cho mỗi nhóm.