R Max và Min
lớn nhất nhỏ nhất
Ở chương trước, chúng tôi đã giới thiệu bộ dữ liệu mtcars . Chúng tôi sẽ tiếp tục sử dụng bộ dữ liệu này trong các trang tiếp theo.
Bạn đã học được từ chương R Math rằng R có một số hàm toán học tích hợp sẵn. Ví dụ: có thể sử dụng hàm min()
và max()
để tìm giá trị thấp nhất hoặc cao nhất trong một tập hợp:
Ví dụ
Tìm giá trị lớn nhất và nhỏ nhất của biến hp
(mã lực).
Data_Cars <- mtcars
max(Data_Cars$hp)
min(Data_Cars$hp)
Kết quả:
[1] 335
[1] 52
Bây giờ chúng ta biết rằng giá trị mã lực lớn nhất trong bộ là 335 và thấp nhất là 52 .
Chúng ta có thể xem tập dữ liệu và cố gắng tìm ra hai giá trị này thuộc về chiếc xe nào:
Quan sát ô tô
mpg xi lanh phân phối hp drat wt qsec vs am gear carb Mazda RX4 21,0 6 160,0 110 3,90 2,620 16,46 0 1 4 4 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22,8 4 108,0 93 3,85 2,320 18,61 1 1 4 1 Hornet 4 Ổ 21,4 6 258,0 110 3,08 3,215 19,44 1 0 3 1 Hornet Sportabout 18,7 8 360,0 175 3,15 3,440 17,02 0 0 3 2 Dũng cảm 18,1 6 225,0 105 2,76 3,460 20,22 1 0 3 1 Khăn lau bụi 360 14,3 8 360,0 245 3,21 3,570 15,84 0 0 3 4 Merc 240D 24,4 4 146,7 62 3,69 3,190 20,00 1 0 4 2 Merc 230 22,8 4 140,8 95 3,92 3,150 22,90 1 0 4 2 Merc 280 19,2 6 167,6 123 3,92 3,440 18,30 1 0 4 4 Merc 280C 17,8 6 167,6 123 3,92 3,440 18,90 1 0 4 4 Merc 450SE 16,4 8 275,8 180 3,07 4,070 17,40 0 0 3 3 Merc 450SL 17,3 8 275,8 180 3,07 3,730 17,60 0 0 3 3 Merc 450SLC 15,2 8 275,8 180 3,07 3,780 18,00 0 0 3 3 Cadillac Fleetwood 10,4 8 472,0 205 2,93 5,250 17,98 0 0 3 4 Lincoln Continental 10,4 8 460,0 215 3,00 5,424 17,82 0 0 3 4 Chrysler Imperial 14,7 8 440,0 230 3,23 5,345 17,42 0 0 3 4 Tiền pháp định 128 32,4 4 78,7 66 4,08 2,200 19,47 1 1 4 1 Honda Civic 30,4 4 75,7 52 4,93 1,615 18,52 1 1 4 2 Toyota Corolla 33,9 4 71,1 65 4,22 1,835 19,90 1 1 4 1 Toyota Corona 21,5 4 120,1 97 3,70 2,465 20,01 1 0 3 1 Dodge Challenger 15,5 8 318,0 150 2,76 3,520 16,87 0 0 3 2 AMC Javelin 15,2 8 304,0 150 3,15 3,435 17,30 0 0 3 2 Camaro Z28 13,3 8 350,0 245 3,73 3,840 15,41 0 0 3 4 Pontiac Firebird 19,2 8 400,0 175 3,08 3,845 17,05 0 0 3 2 Fiat X1-9 27,3 4 79,0 66 4,08 1,935 18,90 1 1 4 1 Porsche 914-2 26,0 4 120,3 91 4,43 2,140 16,70 0 1 5 2 Lotus Europa 30,4 4 95,1 113 3,77 1,513 16,90 1 1 5 2 Ford Pantera L 15,8 8 351,0 264 4,22 3,170 14,50 0 1 5 4 Ferrari Dino 19,7 6 145,0 175 3,62 2,770 15,50 0 1 5 6 Maserati Bora 15,0 8 301,0 335 3,54 3,570 14,60 0 1 5 8 Volvo 142E 21,4 4 121,0 109 4,11 2,780 18,60 1 1 4 2
Qua quan sát bảng, có vẻ như giá trị mã lực lớn nhất thuộc về Maserati Bora và thấp nhất thuộc về Honda Civic.
Tuy nhiên, sẽ dễ dàng hơn (và an toàn hơn) nếu để R tìm ra điều này cho chúng ta.
Ví dụ: chúng ta có thể sử dụng which.max()
và which.min()
để tìm vị trí chỉ mục của giá trị max và min trong bảng:
Ví dụ
Data_Cars <- mtcars
which.max(Data_Cars$hp)
which.min(Data_Cars$hp)
Kết quả:
[1] 31
[1] 19
Hoặc tốt hơn nữa, hãy kết hợp which.max()
và which.min()
với rownames()
để lấy tên chiếc xe có mã lực lớn nhất và nhỏ nhất:
Ví dụ
Data_Cars <- mtcars
rownames(Data_Cars)[which.max(Data_Cars$hp)]
rownames(Data_Cars)[which.min(Data_Cars$hp)]
Kết quả:
[1] "Maserati Bora"
[1] "Honda Civic"
Bây giờ chúng tôi biết chắc chắn:
Maserati Bora là mẫu xe có mã lực cao nhất, còn Honda Civic là mẫu xe có mã lực thấp nhất.
Ngoại lệ
Max và min cũng có thể được sử dụng để phát hiện các giá trị ngoại lệ . Một ngoại lệ là một điểm dữ liệu khác với các quan sát còn lại.
Ví dụ về các điểm dữ liệu có thể là ngoại lệ trong tập dữ liệu mtcars :
- Nếu số tiến tối đa của ô tô là 11
- Nếu mã lực tối thiểu của ô tô là 0
- Nếu trọng lượng tối đa của ô tô là 50 000 lbs