Gán file dữ liệu vào biến d và đọc nó. Vì dữ liệu khá dài nên sử dụng câu lệnh summary để tạo bảng tóm tắt thống kê cho mật độ dân số ở các nhóm tuổi trên các nước.
Bảng tóm tắt này bao gồm các thông tin sau: giá trị nhỏ nhất; giá trị lớn nhất; giá trị trung bình; độ lệch chuẩn và phương sai.
d <- read.csv(file.choose(), header = T)
summary(d)
## Country.name Year Population
## Length:18288 Min. :1950 Min. :1.363e+03
## Class :character 1st Qu.:1968 1st Qu.:2.916e+05
## Mode :character Median :1986 Median :3.834e+06
## Mean :1986 Mean :1.265e+08
## 3rd Qu.:2003 3rd Qu.:1.679e+07
## Max. :2021 Max. :7.909e+09
## Population.of.children.under.the.age.of.1
## Min. : 25
## 1st Qu.: 6664
## Median : 88352
## Mean : 3133497
## 3rd Qu.: 463000
## Max. :139783730
## Population.of.children.under.the.age.of.5
## Min. : 136
## 1st Qu.: 31995
## Median : 423784
## Mean : 14825710
## 3rd Qu.: 2160046
## Max. :690360700
## Population.of.children.under.the.age.of.15 Population.under.the.age.of.25
## Min. :4.160e+02 Min. :6.230e+02
## 1st Qu.:8.954e+04 1st Qu.:1.395e+05
## Median :1.186e+06 Median :1.843e+06
## Mean :4.110e+07 Mean :6.376e+07
## 3rd Qu.:5.906e+06 3rd Qu.:9.025e+06
## Max. :2.015e+09 Max. :3.239e+09
## Population.aged.15.to.64.years Population.older.than.15.years
## Min. :7.480e+02 Min. :8.490e+02
## 1st Qu.:1.703e+05 1st Qu.:1.867e+05
## Median :2.247e+06 Median :2.482e+06
## Mean :7.743e+07 Mean :8.537e+07
## 3rd Qu.:9.641e+06 3rd Qu.:1.035e+07
## Max. :5.133e+09 Max. :5.894e+09
## Population.older.than.18.years Population.at.age.1
## Min. :7.520e+02 Min. : 26
## 1st Qu.:1.664e+05 1st Qu.: 6474
## Median :2.238e+06 Median : 85824
## Mean :7.820e+07 Mean : 3011213
## 3rd Qu.:9.240e+06 3rd Qu.: 440788
## Max. :5.516e+09 Max. :138478740
## Population.aged.1.to.4.years Population.aged.5.to.9.years
## Min. : 101 Min. : 138
## 1st Qu.: 25269 1st Qu.: 29406
## Median : 334454 Median : 392220
## Mean : 11692213 Mean : 13598575
## 3rd Qu.: 1697851 3rd Qu.: 1947261
## Max. :550970400 Max. :683611800
## Population.aged.10.to.14.years Population.aged.15.to.19.years
## Min. : 73 Min. : 110
## 1st Qu.: 27880 1st Qu.: 26296
## Median : 363896 Median : 336970
## Mean : 12670942 Mean : 11782259
## 3rd Qu.: 1796754 3rd Qu.: 1626211
## Max. :659934300 Max. :623576060
## Population.aged.20.to.29.years Population.aged.30.to.39.years
## Min. :1.580e+02 Min. :1.370e+02
## 1st Qu.:4.505e+04 1st Qu.:3.661e+04
## Median :6.097e+05 Median :4.863e+05
## Mean :2.087e+07 Mean :1.716e+07
## 3rd Qu.:2.759e+06 3rd Qu.:2.113e+06
## Max. :1.210e+09 Max. :1.165e+09
## Population.aged.40.to.49.years Population.aged.50.to.59.years
## Min. : 119 Min. : 95
## 1st Qu.: 27440 1st Qu.: 19650
## Median : 364712 Median : 264782
## Mean : 13622139 Mean : 10177069
## 3rd Qu.: 1556334 3rd Qu.: 1203386
## Max. :976407200 Max. :851356900
## Population.aged.60.to.69.years Population.aged.70.to.79.years
## Min. : 64 Min. : 31
## 1st Qu.: 12603 1st Qu.: 6221
## Median : 168418 Median : 81824
## Mean : 6801757 Mean : 3618710
## 3rd Qu.: 845243 3rd Qu.: 436710
## Max. :598067140 Max. :330491170
## Population.aged.80.to.89.years Population.aged.90.to.99.years
## Min. : 6 Min. : 0
## 1st Qu.: 1819 1st Qu.: 155
## Median : 20270 Median : 1468
## Mean : 1195799 Mean : 142784
## 3rd Qu.: 133380 3rd Qu.: 12499
## Max. :131835590 Max. :22223974
## Population.older.than.100.years
## Min. : 0
## 1st Qu.: 0
## Median : 13
## Mean : 3108
## 3rd Qu.: 163
## Max. :593166
Là một tập dữ liệu mở rộng về dân số và nhân khẩu học được cung cấp bởi Ủy ban Dân số Liên Hợp Quốc (UNPD). Bộ dữ liệu này cung cấp thông tin về dân số của các quốc gia, vùng lãnh thổ và khu vực trên thế giới.
Bộ dữ liệu bao gồm 18288 quan sát và 24 biến. Được sử dụng để nghiên cứu về mật độ dân số của các nhóm tuổi trên các nước.
library(skimr)
skim(d)
| Name | d |
| Number of rows | 18288 |
| Number of columns | 24 |
| _______________________ | |
| Column type frequency: | |
| character | 1 |
| numeric | 23 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| Country.name | 0 | 1 | 4 | 59 | 0 | 254 | 0 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| Year | 0 | 1 | 1985.50 | 20.78 | 1950 | 1967.75 | 1985.5 | 2003.25 | 2021 | ▇▇▇▇▇ |
| Population | 0 | 1 | 126470436.62 | 588851230.77 | 1363 | 291591.50 | 3833997.5 | 16785463.50 | 7909295000 | ▇▁▁▁▁ |
| Population.of.children.under.the.age.of.1 | 0 | 1 | 3133496.86 | 14167006.03 | 25 | 6663.75 | 88352.0 | 463000.50 | 139783730 | ▇▁▁▁▁ |
| Population.of.children.under.the.age.of.5 | 0 | 1 | 14825709.57 | 67384368.62 | 136 | 31995.25 | 423784.5 | 2160046.50 | 690360700 | ▇▁▁▁▁ |
| Population.of.children.under.the.age.of.15 | 0 | 1 | 41095227.11 | 188416973.54 | 416 | 89541.50 | 1186121.5 | 5905944.75 | 2015023400 | ▇▁▁▁▁ |
| Population.under.the.age.of.25 | 0 | 1 | 63762600.31 | 294251869.66 | 623 | 139541.50 | 1843099.5 | 9025129.75 | 3239281000 | ▇▁▁▁▁ |
| Population.aged.15.to.64.years | 0 | 1 | 77429505.08 | 367651914.71 | 748 | 170263.50 | 2246772.0 | 9641250.00 | 5132999000 | ▇▁▁▁▁ |
| Population.older.than.15.years | 0 | 1 | 85372101.76 | 404866940.61 | 849 | 186716.00 | 2482104.0 | 10354345.50 | 5893678600 | ▇▁▁▁▁ |
| Population.older.than.18.years | 0 | 1 | 78196242.04 | 372017010.49 | 752 | 166417.50 | 2238130.5 | 9239904.00 | 5516283000 | ▇▁▁▁▁ |
| Population.at.age.1 | 0 | 1 | 3011212.81 | 13661998.41 | 26 | 6473.75 | 85824.0 | 440787.50 | 138478740 | ▇▁▁▁▁ |
| Population.aged.1.to.4.years | 0 | 1 | 11692212.72 | 53238243.89 | 101 | 25269.25 | 334454.0 | 1697850.75 | 550970400 | ▇▁▁▁▁ |
| Population.aged.5.to.9.years | 0 | 1 | 13598575.21 | 62534310.11 | 138 | 29406.25 | 392220.5 | 1947260.75 | 683611800 | ▇▁▁▁▁ |
| Population.aged.10.to.14.years | 0 | 1 | 12670942.28 | 58775457.46 | 73 | 27879.50 | 363895.5 | 1796754.00 | 659934300 | ▇▁▁▁▁ |
| Population.aged.15.to.19.years | 0 | 1 | 11782258.92 | 55126036.18 | 110 | 26296.50 | 336969.5 | 1626210.75 | 623576060 | ▇▁▁▁▁ |
| Population.aged.20.to.29.years | 0 | 1 | 20872880.04 | 98860990.50 | 158 | 45050.75 | 609723.5 | 2758738.50 | 1210493200 | ▇▁▁▁▁ |
| Population.aged.30.to.39.years | 0 | 1 | 17158704.11 | 82404600.95 | 137 | 36608.25 | 486290.5 | 2113149.00 | 1165207300 | ▇▁▁▁▁ |
| Population.aged.40.to.49.years | 0 | 1 | 13622138.99 | 66008221.21 | 119 | 27440.25 | 364712.5 | 1556334.00 | 976407200 | ▇▁▁▁▁ |
| Population.aged.50.to.59.years | 0 | 1 | 10177069.11 | 49288480.77 | 95 | 19649.75 | 264781.5 | 1203386.00 | 851356900 | ▇▁▁▁▁ |
| Population.aged.60.to.69.years | 0 | 1 | 6801756.84 | 32712918.99 | 64 | 12603.00 | 168417.5 | 845242.75 | 598067140 | ▇▁▁▁▁ |
| Population.aged.70.to.79.years | 0 | 1 | 3618710.03 | 17491538.61 | 31 | 6221.00 | 81824.0 | 436710.00 | 330491170 | ▇▁▁▁▁ |
| Population.aged.80.to.89.years | 0 | 1 | 1195799.30 | 6238308.33 | 6 | 1818.75 | 20269.5 | 133380.50 | 131835590 | ▇▁▁▁▁ |
| Population.aged.90.to.99.years | 0 | 1 | 142784.38 | 853350.39 | 0 | 154.75 | 1468.5 | 12499.00 | 22223974 | ▇▁▁▁▁ |
| Population.older.than.100.years | 0 | 1 | 3107.72 | 20951.57 | 0 | 0.00 | 13.0 | 163.00 | 593166 | ▇▁▁▁▁ |
Độ tuổi dao động từ:
Trước tiên sẽ đổi tên cho: tên đất nước, năm, dân số và các biến độ tuổi để thuận tiện cho việc thao tác trên dữ liệu.
Sau khi chạy câu lệnh, các biến sẽ được đổi tên như sau:
names(d) = c('C','Y','P','Pu1','Pu5','Pu15','Pu25','P15t64','Po15','Po18','P1','P1t4','P5t9','P10t14','P15t19','P20t29','P30t39','P40t49','P50t59','P60t69','P70t79','P80t89','P90t99','Po100')
names(d)
## [1] "C" "Y" "P" "Pu1" "Pu5" "Pu15" "Pu25" "P15t64"
## [9] "Po15" "Po18" "P1" "P1t4" "P5t9" "P10t14" "P15t19" "P20t29"
## [17] "P30t39" "P40t49" "P50t59" "P60t69" "P70t79" "P80t89" "P90t99" "Po100"
Việc rút trích dữ liệu giúp dễ dàng tìm thấy thông tin cần lấy trong tập dữ liệu lớn. Bằng cách sử dụng các hàm lọc, có thể lọc dữ liệu dựa trên các tiêu chí nhất định.
Sử dụng câu lệnh select để chọn ra 5 biến độ tuổi từ 1 đến 4 tuổi; 5 đến 9 tuổi; 10 đến 14 tuổi; 15 đến 19 tuổi; 20 đến 29 tuổi. Sau khi chạy câu lệnh sẽ có kết quả là 18288 dòng và 24 cột.
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(stringr)
d1 <- select(d,C,Y,P,P1t4,P5t9,P10t14,P15t19,P20t29) %>% filter(str_detect(C, "^C"))
str(d1)
## 'data.frame': 1440 obs. of 8 variables:
## $ C : chr "Cambodia" "Cambodia" "Cambodia" "Cambodia" ...
## $ Y : int 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 ...
## $ P : num 4380384 4485394 4592881 4702070 4814380 ...
## $ P1t4 : num 573898 599086 625225 650460 671159 ...
## $ P5t9 : int 590809 602167 614160 628642 649808 676005 703315 732083 760766 785547 ...
## $ P10t14: int 518138 527312 536028 544716 554024 564248 575270 586910 600917 621261 ...
## $ P15t19: int 452855 462426 472275 482065 491565 500769 509534 517881 526034 534909 ...
## $ P20t29: int 727143 743027 758952 774413 789733 805321 821178 837442 853172 869010 ...
Sử dụng hàm ifelse() để gán các giá trị mới cho các cột trong tập dữ liệu d1. Với câu lệnh 1 sẽ: * Kiểm tra xem giá trị của cột P bằng “5000000” hay không. * Nếu có, thì gán giá trị “Đông” cho cột P.Coded. * Nếu không, thì gán giá trị “Thưa thớt” cho cột P.Coded
Với câu lệnh 2 sẽ: * Kiểm tra xem giá trị của cột P20t29 lớn hơn hoặc bằng 1250000 hay không. * Nếu có, thì gán giá trị “Nhiều” cho cột P20t29.Coded. * Nếu không, thì gán giá trị “Ít” cho cột P20t29.Coded.
library(DT)
d1$P.Coded <- ifelse(d1$P == 5000000,'Đông','Thưa thớt')
d1$P20t29.Coded <- ifelse(d1$P20t29 >= 1250000,'Nhiều', 'Ít')
datatable(d1)
Bảng tần số d2 cho biết rằng tất cả 254 quốc gia/vùng lãnh thổ trong cột “C” của tập dữ liệu d1 đều xuất hiện với tần số bằng nhau, cụ thể là 72 lần. Điều này có thể gợi ý rằng dữ liệu trong cột “C” có thể được tạo ra một cách ngẫu nhiên hoặc có sự phân phối đều giữa các quốc gia/vùng lãnh thổ.
d2 <- table(d1$C)
str(d2)
## 'table' int [1:20(1d)] 72 72 72 72 72 72 72 72 72 72 ...
## - attr(*, "dimnames")=List of 1
## ..$ : chr [1:20] "Cambodia" "Cameroon" "Canada" "Cape Verde" ...
Bảng chéo d3 cho biết rằng giá trị “Thưa thớt” trong cột “P.Coded” xuất hiện 72 lần với mỗi quốc gia/vùng lãnh thổ trong cột “C”. Điều này có nghĩa là không có sự khác biệt về tần suất xuất hiện của giá trị “Thưa thớt” giữa các quốc gia/vùng lãnh thổ.
d3 <- table(d1$P,d1$C)
str(d3)
## 'table' int [1:1440, 1:20] 0 0 0 0 0 0 0 0 0 0 ...
## - attr(*, "dimnames")=List of 2
## ..$ : chr [1:1440] "6937" "7128" "7472" "7709" ...
## ..$ : chr [1:20] "Cambodia" "Cameroon" "Canada" "Cape Verde" ...
Câu lệnh dưới cung cấp tóm tắt các đặc điểm thống kê quan trọng của biến P trong tập dữ liệu d1. Dòng kết quả hiển thị các giá trị tương ứng với các thống kê sau: * Min. (Minimum): Giá trị nhỏ nhất trong cột P. Trong trường hợp này, giá trị nhỏ nhất là 1363. * 1st Qu. (First Quartile): Trung vị của nửa dưới dữ liệu. Ở đây, 25% các giá trị trong cột P nhỏ hơn 291605. * Median: Trung vị của toàn bộ dữ liệu. Giữa 50% các giá trị nằm dưới và 50% các giá trị nằm trên 3834060. * Mean: Giá trị trung bình. Trung bình, mỗi giá trị trong cột P có trị là 1265000000. * 3rd Qu. (Third Quartile): Trung vị của nửa trên dữ liệu. 75% các giá trị trong cột P nhỏ hơn 167907000. * Max. (Maximum): Giá trị lớn nhất trong cột P. Trong trường hợp này, giá trị lớn nhất là 7909000000.
summary(d1$P)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 6.937e+03 6.158e+05 4.611e+06 5.895e+07 1.143e+07 1.426e+09
Dòng kết quả hiển thị các giá trị tương ứng với các thống kê sau: * Min.: 1950 - Đây là giá trị nhỏ nhất trong cột Y. * 1st Qu.: 1968 - Đây là trung vị của nửa dưới dữ liệu. Nói cách khác, 25% các giá trị trong cột Y nhỏ hơn 1968. * Median: 1986 - Đây là trung vị của toàn bộ dữ liệu. Trên 50% và dưới 50% các giá trị nằm dưới 1986. * Mean: 1986 - Đây là giá trị trung bình. Tổng giá trị của tất cả các phần tử trong cột Y được chia cho số lượng phần tử để tính giá trị trung bình. * 3rd Qu.: 2003 - Đây là trung vị của nửa trên dữ liệu. 75% các giá trị trong cột Y nhỏ hơn 2003. * Max.: 2021 - Đây là giá trị lớn nhất trong cột Y.
summary(d1$Y)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1950 1968 1986 1986 2003 2021
Gán file dữ liệu vào biến car và đọc nó. Vì dữ liệu khá dài nên sử dụng câu lệnh summary để tạo bảng tóm tắt thống kê cho mật độ dân số ở các nhóm tuổi trên các nước.
Bảng tóm tắt này bao gồm các thông tin sau: giá trị nhỏ nhất; giá trị lớn nhất; giá trị trung bình; độ lệch chuẩn và phương sai.
car <- read.csv(file.choose(), header = T)
summary(car)
## Car_Name Year Selling_Price Present_Price
## Length:301 Min. :2003 Min. : 0.100 Min. : 0.320
## Class :character 1st Qu.:2012 1st Qu.: 0.900 1st Qu.: 1.200
## Mode :character Median :2014 Median : 3.600 Median : 6.400
## Mean :2014 Mean : 4.661 Mean : 7.628
## 3rd Qu.:2016 3rd Qu.: 6.000 3rd Qu.: 9.900
## Max. :2018 Max. :35.000 Max. :92.600
## Kms_Driven Fuel_Type Seller_Type Transmission
## Min. : 500 Length:301 Length:301 Length:301
## 1st Qu.: 15000 Class :character Class :character Class :character
## Median : 32000 Mode :character Mode :character Mode :character
## Mean : 36947
## 3rd Qu.: 48767
## Max. :500000
## Owner
## Min. :0.00000
## 1st Qu.:0.00000
## Median :0.00000
## Mean :0.04319
## 3rd Qu.:0.00000
## Max. :3.00000
names(car)
## [1] "Car_Name" "Year" "Selling_Price" "Present_Price"
## [5] "Kms_Driven" "Fuel_Type" "Seller_Type" "Transmission"
## [9] "Owner"
library(skimr)
skim(car)
| Name | car |
| Number of rows | 301 |
| Number of columns | 9 |
| _______________________ | |
| Column type frequency: | |
| character | 4 |
| numeric | 5 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| Car_Name | 0 | 1 | 3 | 25 | 0 | 98 | 0 |
| Fuel_Type | 0 | 1 | 3 | 6 | 0 | 3 | 0 |
| Seller_Type | 0 | 1 | 6 | 10 | 0 | 2 | 0 |
| Transmission | 0 | 1 | 6 | 9 | 0 | 2 | 0 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| Year | 0 | 1 | 2013.63 | 2.89 | 2003.00 | 2012.0 | 2014.0 | 2016.0 | 2018.0 | ▁▁▃▇▅ |
| Selling_Price | 0 | 1 | 4.66 | 5.08 | 0.10 | 0.9 | 3.6 | 6.0 | 35.0 | ▇▂▁▁▁ |
| Present_Price | 0 | 1 | 7.63 | 8.64 | 0.32 | 1.2 | 6.4 | 9.9 | 92.6 | ▇▁▁▁▁ |
| Kms_Driven | 0 | 1 | 36947.21 | 38886.88 | 500.00 | 15000.0 | 32000.0 | 48767.0 | 500000.0 | ▇▁▁▁▁ |
| Owner | 0 | 1 | 0.04 | 0.25 | 0.00 | 0.0 | 0.0 | 0.0 | 3.0 | ▇▁▁▁▁ |
Trước tiên sẽ đổi tên cho các biến để thuận tiện cho việc thao tác trên dữ liệu.
Sau khi chạy câu lệnh, các biến sẽ được đổi tên như sau:
names(car) = c('Ca','Y','SP','Pre','Km','Fu','ST','Tran','Ow')
names(car)
## [1] "Ca" "Y" "SP" "Pre" "Km" "Fu" "ST" "Tran" "Ow"
Việc rút trích dữ liệu giúp dễ dàng tìm thấy thông tin cần lấy trong tập dữ liệu lớn. Bằng cách sử dụng các hàm lọc, có thể lọc dữ liệu dựa trên các tiêu chí nhất định.
Sử dụng câu lệnh select để chọn ra 3 biến. Sau khi chạy câu lệnh sẽ có kết quả là 301 dòng và 3 cột bao gồm 3 cột ứng với 3 biến được chọn ra là tên xe, năm và số km.
library(stringr)
car1 <- select(car,Ca,Y,Km)
str(car1)
## 'data.frame': 301 obs. of 3 variables:
## $ Ca: chr "ritz" "sx4" "ciaz" "wagon r" ...
## $ Y : int 2014 2013 2017 2011 2014 2018 2015 2015 2016 2015 ...
## $ Km: int 27000 43000 6900 5200 42450 2071 18796 33429 20273 42367 ...
Sử dụng hàm ifelse() để gán các giá trị mới cho các cột trong tập dữ liệu car1.
Với câu lệnh 1 sẽ: Tạo ra một biến mới có tên là Km.Coded trong tập dữ liệu car1. Gán giá trị Nhanh cho các quan sát có giá trị Km bằng 20.000 và giá trị Chậm cho các quan sát có giá trị Km khác 20.000.
Với câu lệnh 2 sẽ: Tạo ra một biến mới có tên là Y.Coded trong tập dữ liệu car1. Gán giá trị Xe đời mới cho các quan sát có giá trị Y lớn hơn hoặc bằng 2017 và giá trị Xe đời cũ cho các quan sát có giá trị Y nhỏ hơn 2017.
car1$Km.Coded <- ifelse(car1$Km == '20000','Nhanh','Chậm')
car1$Y.Coded <- ifelse(car1$Y >= 2017,'Xe đời mới', 'Xe đời cũ')
datatable(car1)
Đoạn mã lệnh này tạo ra một bảng tần số car2 thể hiện số lượng xe tương ứng với từng năm sản xuất trong tập dữ liệu car1. Bảng tần số này cho thấy có 2 xe sản xuất năm 2003, 1 xe sản xuất năm 2004, 4 xe sản xuất năm 2005, … và 23 xe sản xuất năm 2018.
car2 <- table(car1$Y)
str(car2)
## 'table' int [1:16(1d)] 2 1 4 4 2 7 6 15 19 23 ...
## - attr(*, "dimnames")=List of 1
## ..$ : chr [1:16] "2003" "2004" "2005" "2006" ...
Đoạn mã lệnh này tạo ra một bảng tần số hai chiều car3 thể hiện mối quan hệ giữa tốc độ sử dụng xe và năm sản xuất trong tập dữ liệu car1. Bảng tần số này cho thấy, ví dụ, có 2 xe thuộc loại “Chậm” được sản xuất năm 2003, 0 xe thuộc loại “Nhanh” được sản xuất năm 2003, 1 xe thuộc loại “Chậm” được sản xuất năm 2004, 0 xe thuộc loại “Nhanh” được sản xuất năm 2004, và tương tự cho các năm khác.
car3 <- table(car1$Km.Coded,car1$Y)
str(car3)
## 'table' int [1:2, 1:16] 2 0 1 0 4 0 4 0 2 0 ...
## - attr(*, "dimnames")=List of 2
## ..$ : chr [1:2] "Chậm" "Nhanh"
## ..$ : chr [1:16] "2003" "2004" "2005" "2006" ...
Dòng lệnh summary(car1$Ca) cung cấp thông tin tóm tắt về biến Ca (tên xe) trong tập dữ liệu car1. Kết quả hiển thị ba thống kê quan trọng:
Length: 301 - Đây là số lượng quan sát trong biến Ca, tức là có 301 tên xe trong tập dữ liệu. Class: character - Kiểu dữ liệu của biến Ca là ký tự (text). Mode: character - Giá trị xuất hiện nhiều nhất trong biến Ca là một loại ký tự. Tuy nhiên, “Mode” chỉ hiển thị thông tin cơ bản và không cho biết giá trị đó cụ thể là gì.
summary(car1$Ca)
## Length Class Mode
## 301 character character
Kết quả hiển thị các thống kê sau: * Min.: 2003 - Đây là năm sản xuất sớm nhất của ô tô trong tập dữ liệu. * 1st Qu.: 2012 - Đây là giá trị phân vị thứ nhất, nghĩa là 25% ô tô trong tập dữ liệu có năm sản xuất nhỏ hơn hoặc bằng 2012. * Median: 2014 - Đây là giá trị trung vị, nghĩa là 50% ô tô trong tập dữ liệu có năm sản xuất nhỏ hơn hoặc bằng 2014 và 50% còn lại có năm sản xuất lớn hơn hoặc bằng 2014. * Mean: 2014 - Đây là giá trị trung bình của năm sản xuất. * 3rd Qu.: 2016 - Đây là giá trị phân vị thứ ba, nghĩa là 75% ô tô trong tập dữ liệu có năm sản xuất nhỏ hơn hoặc bằng 2016. * Max.: 2018 - Đây là năm sản xuất muộn nhất của ô tô trong tập dữ liệu.
summary(car1$Y)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2003 2012 2014 2014 2016 2018