1
가정하자 나는 데이터 프레임을 구성 :선택 행
> name <- c("Bob", "Mary", "John", "Sue", "Paul", "Jane", "Steve")
> age <- c(32, NA, NA, 27, 40, 50, 10)
> sex <- c("M", "F", "M", "F", NA, "F", "M")
> city <- c("New York", "London", "Sao Paulo", "Mumbai", "Sydney", NA, "Beijing")
> census <- data.frame(name, age, sex, city)
> census
name age sex city
1 Bob 32 M New York
2 Mary NA F London
3 John NA M Sao Paulo
4 Sue 27 F Mumbai
5 Paul 40 <NA> Sydney
6 Jane 50 F <NA>
7 Steve 10 M Beijing
나는 "나이는"이상 30 AND하지 NA입니다 모든 행을 추출하고 싶습니다. 다른 열에 NA가 있으면 상관 없습니다. 내가
> na.omit(census[c(census$age>30),])
을하려고하면 나는 다음과 같은 얻을 :
name age sex city
1 Bob 32 M New York
그러나,이 또한 나는 또한 반환하려는 바울과 제인에 대한 행을 생략합니다. 이 작업을 수행하는 유일한 방법은 다음과 같습니다.
> foo <- complete.cases(census$age)
> bar <- census[foo, ]
> bar[c(bar$age > 30), ]
name age sex city
1 Bob 32 M New York
5 Paul 40 <NA> Sydney
6 Jane 50 F <NA>
더 좋은 해결책이 있습니까?
미리 감사드립니다.
브릴리언트을! 빠른 답변 감사합니다! – Samir