2012-09-12 2 views
7

데이터 프레임 (just.samples.with.shoulder.values)에 NA 값이없는 샘플 만 포함하려고합니다. 되어특정 열의 완전한 사례가있는 데이터를 선택하는 방법은 무엇입니까?

data <- structure(list(Sample = 1:14, Head = c(1L, 0L, NA, 1L, 1L, 1L, 
0L, 0L, 1L, 1L, 1L, 1L, 0L, 1L), Shoulders = c(13L, 14L, NA, 
18L, 10L, 24L, 53L, NA, 86L, 9L, 65L, 87L, 54L, 36L), Knees = c(1L, 
1L, NA, 1L, 1L, 2L, 3L, 2L, 1L, NA, 2L, 3L, 4L, 3L), Toes = c(324L, 
5L, NA, NA, 5L, 67L, 785L, 42562L, 554L, 456L, 7L, NA, 54L, NA 
)), .Names = c("Sample", "Head", "Shoulders", "Knees", "Toes" 
), class = "data.frame", row.names = c(NA, -14L)) 

just.samples.with.shoulder.values <- data[complete.cases(data[,"Shoulders"])] 
print(just.samples.with.shoulder.values) 

나는 또한 다른 경로 여부 (subset()을 말 사용)을 알고 관심을 가질만한 :이이 complete.cases 기능을 사용하여 달성하기 위해 노력했습니다,하지만 난 구문 아래에 뭔가를 잘못하고 있어요 상상 더 현명한 생각. 도와 줘서 고마워!

+2

하여 데이터를 부분 집합 할 수 있도록 논리적 인 벡터를 반환 너무하는 complete.cases을 시도 할 수 있습니다 단일 인수와 쉼표가 없으면 원하는 행이 아닌 행을 선택할 것입니다. '... lders "]),]' –

답변

8

당신은 is.na를 사용하여 시도 할 수 :

data[!is.na(data["Shoulders"]),] 
    Sample Head Shoulders Knees Toes 
1  1 1  13  1 324 
2  2 0  14  1 5 
4  4 1  18  1 NA 
5  5 1  10  1 5 
6  6 1  24  2 67 
7  7 0  53  3 785 
9  9 1  86  1 554 
10  10 1   9 NA 456 
11  11 1  65  2 7 
12  12 1  87  3 NA 
13  13 0  54  4 54 
14  14 1  36  3 NA 
+0

줄 끝에있는 괄호와 왼쪽 대괄호 사이에 쉼표를 추가하십시오. – Atticus29

9

당신은 당신이와 "["사용하는 경우 Shoulders

data[complete.cases(data$Shoulders), ] 
# Sample Head Shoulders Knees Toes 
# 1  1 1  13  1 324 
# 2  2 0  14  1 5 
# 4  4 1  18  1 NA 
# 5  5 1  10  1 5 
# 6  6 1  24  2 67 
# 7  7 0  53  3 785 
# 9  9 1  86  1 554 
# 10  10 1   9 NA 456 
# 11  11 1  65  2 7 
# 12  12 1  87  3 NA 
# 13  13 0  54  4 54 
# 14  14 1  36  3 NA 
관련 문제