2016-08-23 1 views
0

특정 참가자 그룹에 대해 설문지마다 누락 된 누락 개수를 확인하려고합니다. 즉 특정 그룹에 대한 설문지 당 누락 된 데이터

나는이 작업을 수행 할 수있는 방법,
id Result QA1 QA2 QA3 QA4 QA5 QA6 QB1 QB2 QB3 QB4 QB5 QB6 
1 1  1 3 2 2 3 3 3 NA 1 1 2 1 
2 1  2 NA 2 2 2 1 1 3 2 1 2 3 
3 2  3 2 3 1 1 1 2 1 1 NA 3 NA 
4 1  2 1 NA 3 2 NA 1 3 3 1 2 1 
5 6  1 1 3 2 1 3 2 1 1 1 1 NA 

내가 1 코딩하는 모든 결과에 대한 설문 (A)에 얼마나 많은 실종 알고 싶은 말, 즉 dataframe이? 어떤 제안?

+0

재현 예를 제공하십시오. 'dput()'을 사용하여 그것을 얻을 수있다 – Sotos

+0

''sum (is.na (yourdataframeorcolumn))''과 같은 것이 도움이된다. –

+0

예, 그러나 이것은 해당 컬럼에 대한 누락만을 제공합니다. 내가 원하는 것은 특정 결과 (결과 또한 열이기 때문에)가있는 28 개의 다른 열이 없다는 것입니다. 그래서 나는 열 29 = 1에 주어진 열 1:28에 대해 놓치기를 원합니다. –

답변

1

당신은 인수로 dataframe, 설문 및 코드를받는 함수를 만들 수 있습니다, 즉

fun1 <- function(df, questionnaire, code){ 
    d <- sum(is.na(df[df$Result == code,grepl(questionnaire, names(df))])) 
    return(d) 
} 
fun1(df, 'A', 1) 
#[1] 3 

fun1(df, 'B', 1) 
#[1] 1 

fun1(df, 'A', 2) 
#[1] 0