R 自學指引 資料處理命令簡介與操作
排除變數
我們可排除指定的變數。
> myvars <- names(mydata) %in% c(“mpg”, “cyl”, “wt”) (ENTER)
> newdata <- mydata[!myvars] (ENTER)
> head(newdata,4) (ENTER)
disp hp drat qsec vs am gear carb
Mazda RX4 160 110 3.90 16.46 0 1 4 4
Mazda RX4 Wag 160 110 3.90 17.02 0 1 4 4
Datsun 710 108 93 3.85 18.61 1 1 4 1
Hornet 4 Drive 258 110 3.08 19.44 1 0 3 1
例如要排除第3個和第5個變數,可用以下命令。
> head(mydata,4) (ENTER)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
> newdata <- mydata[c(-1,-2,-6)] (ENTER)
> head(newdata,4) (ENTER)
disp hp drat qsec vs am gear carb
Mazda RX4 160 110 3.90 16.46 0 1 4 4
Mazda RX4 Wag 160 110 3.90 17.02 0 1 4 4
Datsun 710 108 93 3.85 18.61 1 1 4 1
Hornet 4 Drive 258 110 3.08 19.44 1 0 3 1
>newdata <- mydata[c(-3,-5)]
選擇觀察值
用以下命令找回前 2 筆觀察值。
> mtcars[1:2,] (ENTER)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21 6 160 110 3.9 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21 6 160 110 3.9 2.875 17.02 0 1 4 4
使用 subset
> head(mtcars,4) (ENTER)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
> subset(mtcars, cyl==4 , select = c(mpg,cyl,wt,)) (ENTER)
留意這裡只會出現 cyl=4 mpg cyl wt 的資料。
mpg cyl wt
Datsun 710 22.8 4 2.320
Merc 240D 24.4 4 3.190
Merc 230 22.8 4 3.150
Fiat 128 32.4 4 2.200
<中間省略>
Volvo 142E 21.4 4 2.780
Porsche 914-2 26.0 4 2.140
Lotus Europa 30.4 4 1.513
Volvo 142E 21.4 4 2.780
這裡只會出現 cyl=4 的資料(除了mpg wt hp外),負號代表不要出現的欄位。
> subset(mtcars, cyl==4 , select = c(-mpg,-wt,-hp)) (ENTER)
cyl disp drat qsec vs am gear carb
Datsun 710 4 108.0 3.85 18.61 1 1 4 1
Merc 240D 4 146.7 3.69 20.00 1 0 4 2
Merc 230 4 140.8 3.92 22.90 1 0 4 2
Fiat 128 4 78.7 4.08 19.47 1 1 4 1
Honda Civic 4 75.7 4.93 18.52 1 1 4 2
<以下省略>