Чистыми данные бывают только в учебниках, а в реальных данных, помимо всего прочего, встречаются потерянные/отсутствующие значения (NA). C помощью R можно легко от них избавиться.
Итак, рассмотрим простой случай:
1 2 3 4 |
> x<-c(7,2,NA,8,NA,9,1) > bad<-is.na(x) > x[!bad] [1] 7 2 8 9 1 |
В случае с несколькими векторами:
1 2 3 4 5 6 7 8 9 |
> x<- c("a", "b", NA, "d", NA, "f","r",NA,"ya") > y<-c(1,2,NA,5,NA,7,NA,29,31) > good <- complete.cases(x, y) > good [1] TRUE TRUE FALSE TRUE FALSE TRUE FALSE FALSE TRUE > x[good] [1] "a" "b" "d" "f" "ya" > y[good] [1] 1 2 5 7 31 |
В случае с таблицей данных (на примере встроенного набора данных):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
> airquality[1:6, ] Ozone Solar.R Wind Temp Month Day 1 41 190 7.4 67 5 1 2 36 118 8.0 72 5 2 3 12 149 12.6 74 5 3 4 18 313 11.5 62 5 4 5 NA NA 14.3 56 5 5 6 28 NA 14.9 66 5 6 > good <- complete.cases(airquality) > airquality[good, ][1:6, ] Ozone Solar.R Wind Temp Month Day 1 41 190 7.4 67 5 1 2 36 118 8.0 72 5 2 3 12 149 12.6 74 5 3 4 18 313 11.5 62 5 4 7 23 299 8.6 65 5 7 8 19 99 13.8 59 5 8 |