Data :: mtcars
https://stat.ethz.ch/R-manual/R-devel/library/datasets/html/mtcars.html
http://visualize.tistory.com/90
http://knight76.tistory.com/
mtcars (Motor Trend US magazine, 1974) – 자동차 디자인과 성능에 관해 추출한 데이터
[, 1] | mpg | Miles/(US) gallon | 연비 |
[, 2] | cyl | Number of cylinders | 엔진의 기통수 |
[, 3] | disp | Displacement (cu.in.) | 배기량 (cc, 변위) |
[, 4] | hp | Gross horsepower | 마력 |
[, 5] | drat | Rear axle ratio | 뒤차축비 |
[, 6] | wt | Weight (1000 lbs) | 무게 |
[, 7] | qsec | 1/4 mile time | 1/4mile 도달시간 |
[, 8] | vs | V/S | V engine / Straight engine |
[, 9] | am | Transmission (0 = automatic, 1 = manual) | 변속기어 |
[,10] | gear | Number of forward gears | 전진기어 갯수 |
[,11] | carb | Number of carburetors | 기화기 갯수 |
# change dataset to data.table format data('mtcars') dd <- mtcars %>% as.data.table(keep.rownames=T)
mpg cyl disp 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 Drive 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 Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 Duster 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 Fiat 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
edit(mtcars) #------------------------- head(mtcars) tail(mtcars) #------------------------- str(mtcars) dim(mtcars) length(mtcars) attributes(mtcars) names(mtcars) row.names(mtcars) class(mtcars) dimnames(mtcars) sapply(mtcars, class) mode(mtcars) #------------------------- unclass(mtcars)
require(graphics) pairs(mtcars, main = "mtcars data") coplot(mpg ~ disp | as.factor(cyl), data = mtcars, panel = panel.smooth, rows = 1)
관찰하기
exists()
객체 존재 여부
> exists("mtcars") [1] TRUE
edit()
head()
상위 6개 레코드의 관측치 미리보기
tail()
하위 6개 레코드의 관측치 미리보기
둘러보기
str(객체)
데이터 구조, 변수 개수, 변수 명, 관찰치 개수, 관찰치의 미리보기
mtcars 가 ’32개의 관측치’, ’11개의 변수’로 되어있는 ‘데이터 프레임’이고, 각 변수명과 변수들의 유형, 그리고 상위 10개의 관측치가 미리보기 형식으로 제시됩니다. 데이터 셋 탐색을 위해 제일 처음 해보면 좋을 유용한 함수입니다.
> str(mtcars) 'data.frame': 32 obs. of 11 variables: $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ... $ cyl : num 6 6 4 6 8 6 8 4 4 6 ... $ disp: num 160 160 108 258 360 ... $ hp : num 110 110 93 110 175 105 245 62 95 123 ... $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ... $ wt : num 2.62 2.88 2.32 3.21 3.44 ... $ qsec: num 16.5 17 18.6 19.4 17 ... $ vs : num 0 0 1 1 0 1 0 1 1 1 ... $ am : num 1 1 1 0 0 0 0 0 0 0 ... $ gear: num 4 4 4 3 3 3 3 4 4 4 ... $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
dim()
데이터 객체의 차원
str()함수로 전부 파악가능한 정보이지만, 데이터 객체의 차원만 알고 싶거나 데이터 객체의 차원을 벡터로 해서 indexing해서 쓸 때 유용하다.
> dim(mtcars) [1] 32 11
length()
데이터 객체의 요소들의 개수
length(mtcars) ## [1] 11 데이터셋mtcars의 변수의 개수 length(mtcars$mpg) ## [1] 32 데이터셋mtcars의 mpg 변수의 관측값의 갯수 # length()를 벡터에 사용하면 관측치의 개수를 나타냄
속성파악
attributes()
> attributes(mtcars) $names [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" [9] "am" "gear" "carb" $row.names [1] "Mazda RX4" "Mazda RX4 Wag" [3] "Datsun 710" "Hornet 4 Drive" [5] "Hornet Sportabout" "Valiant" [7] "Duster 360" "Merc 240D" [9] "Merc 230" "Merc 280" [11] "Merc 280C" "Merc 450SE" [13] "Merc 450SL" "Merc 450SLC" [15] "Cadillac Fleetwood" "Lincoln Continental" [17] "Chrysler Imperial" "Fiat 128" [19] "Honda Civic" "Toyota Corolla" [21] "Toyota Corona" "Dodge Challenger" [23] "AMC Javelin" "Camaro Z28" [25] "Pontiac Firebird" "Fiat X1-9" [27] "Porsche 914-2" "Lotus Europa" [29] "Ford Pantera L" "Ferrari Dino" [31] "Maserati Bora" "Volvo 142E" $class [1] "data.frame"
names()
데이터 객체 구성요소명
데이터 객체의 변수명을 알고 싶고, indexing해서 사용할 때 유용
> names(mtcars) [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" "carb"
데이터 객체가 ‘데이터 프레임’이다
class()
> class(mtcars) [1] "data.frame"
11개의 변수
sapply()
데이터 프레임의 모든 변수에 class()라는 함수를 적용, 11개의 각 변수별로 속성 나타냄
> sapply(mtcars, class) mpg cyl disp hp drat wt qsec vs am "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" gear carb "numeric" "numeric"
mode()
객체의 저장 모드
> mode(mtcars) [1] "list"
탐색하기
unclass()
> mtcu <- unclass(mtcars) > mtcu $mpg [1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4 10.4 14.7 32.4 30.4 33.9 21.5 15.5 [23] 15.2 13.3 19.2 27.3 26.0 30.4 15.8 19.7 15.0 21.4 $cyl [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4 $disp [1] 160.0 160.0 108.0 258.0 360.0 225.0 360.0 146.7 140.8 167.6 167.6 275.8 275.8 275.8 472.0 460.0 440.0 78.7 75.7 [20] 71.1 120.1 318.0 304.0 350.0 400.0 79.0 120.3 95.1 351.0 145.0 301.0 121.0 $hp [1] 110 110 93 110 175 105 245 62 95 123 123 180 180 180 205 215 230 66 52 65 97 150 150 245 175 66 91 113 [29] 264 175 335 109 $drat [1] 3.90 3.90 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 3.92 3.07 3.07 3.07 2.93 3.00 3.23 4.08 4.93 4.22 3.70 2.76 [23] 3.15 3.73 3.08 4.08 4.43 3.77 4.22 3.62 3.54 4.11 $wt [1] 2.620 2.875 2.320 3.215 3.440 3.460 3.570 3.190 3.150 3.440 3.440 4.070 3.730 3.780 5.250 5.424 5.345 2.200 1.615 [20] 1.835 2.465 3.520 3.435 3.840 3.845 1.935 2.140 1.513 3.170 2.770 3.570 2.780 $qsec [1] 16.46 17.02 18.61 19.44 17.02 20.22 15.84 20.00 22.90 18.30 18.90 17.40 17.60 18.00 17.98 17.82 17.42 19.47 18.52 [20] 19.90 20.01 16.87 17.30 15.41 17.05 18.90 16.70 16.90 14.50 15.50 14.60 18.60 $vs [1] 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 1 $am [1] 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 $gear [1] 4 4 4 3 3 3 3 4 4 4 4 3 3 3 3 3 3 4 4 4 3 3 3 3 3 4 5 5 5 5 5 4 $carb [1] 4 4 1 1 2 1 4 2 2 4 4 3 3 3 4 4 4 1 2 1 1 2 2 4 2 1 2 2 4 6 8 2 attr(,"row.names") [1] "Mazda RX4" "Mazda RX4 Wag" "Datsun 710" "Hornet 4 Drive" "Hornet Sportabout" [6] "Valiant" "Duster 360" "Merc 240D" "Merc 230" "Merc 280" [11] "Merc 280C" "Merc 450SE" "Merc 450SL" "Merc 450SLC" "Cadillac Fleetwood" [16] "Lincoln Continental" "Chrysler Imperial" "Fiat 128" "Honda Civic" "Toyota Corolla" [21] "Toyota Corona" "Dodge Challenger" "AMC Javelin" "Camaro Z28" "Pontiac Firebird" [26] "Fiat X1-9" "Porsche 914-2" "Lotus Europa" "Ford Pantera L" "Ferrari Dino" [31] "Maserati Bora" "Volvo 142E" > class(mtcu) [1] "list"
mtcarsT <- mtcars #열 colnames(mtcarsT) names(mtcarsT) # 열명 변경 (특정열명, 전체 열명) names(mtcarsT)[names(mtcarsT) == "mpg"] <- c("연비") names(mtcarsT) < c<-(연비, --------) dimnames(mtcarsT)