홀-짝 일관성 지표는 응답자가 얼마나 일관되게 응답하는지를 측정하는 방법이다. 이를 계산하기 위해서는 먼저 특정 하위 척도 내 문항들을 짝수 문항과 홀수 문항으로 나누어야 한다. 역문항이 있다면 역코딩하여 다른 문항과 동일한 방향으로 만든다. 나뉜 하위 문항은 벡터화되며, 이 두 벡터의 상관관계를 구하여 홀짝 일관성을 계산한다. 이 기법은 기존의 확립된 척도의 문항들은 동일 개념을 측정하며 경험적 타당화 과정을 거치므로 문항 간 상관이 높을 것이며, 한 개인의 응답에서도 상당히 높은 상관을 보여야 한다는 가정에 기반한다. Jackson(1977)¹은 이러한 상관계수의 값이 .3보다 낮을 경우 비일관적인 응답으로 분류할 것을 권장하였다. 이 기법은 다른 응답자들의 결과에 영향을 받지 않기 때문에 대부분의 응답자가 성실히 응답할 것이라는 가정이 없더라도 사용될 수 있다.

한편, 전체 설문이 개별적인 독립된 문항들로 구성된 경우에는 이 기법이 적절하지 않다. 또한 홀 수 개수 문항의 하위 척도가 포함된 경우에는 마지막 문항이 홀-짝 일관성 지표 계산에 포함되지 않아 편향을 일으킬 수 있어 권장되지 않는다.

R manual

R에서 홀짝 일관성 지표 계산은 ‘careless’ 패키지에 포함된 ‘evenodd’ 코드를 이용해 진행할 수 있다. 해당 코드는 evenodd(x, factors, diag = FALSE)로 이루어져 있으며, x는 데이터 매트릭스를 나타낸다. factors는 데이터 셋의 하위 척도 수와 각 하위 척도 내 문항의 개수( = 길이라고도 함)를 지정하는 매개변수이며 필수로 작성해야 한다. diag는 선택적으로 사용 가능한 (즉, 누락되지 않은) 짝수/홀수 쌍의 수를 나타내는 열을 반환할 수 있도록 하는 매개변수이다. diag 매개변수가 활성화되면, 함수는 각 관측치(데이터의 한 행)에 대해 사용 가능한 짝수/홀수 쌍의 수를 계산하여 결과에 열을 추가함으로써 데이터의 유효성을 확인하게끔 돕는다

‘careless’ 패키지에 포함된 예시 데이터셋을 이용한 코드의 작성은 다음과 같이 이루어질 수 있지만, 코드 사용 전 데이터 행렬에 관하여 유의해야할 점이 있다.

위에서 설명하였듯이 factors는 요인을 설정하는 매개변수이며, 필수로 설정해야 하기에 데이터를 요인별로 정리하는 것이 분석에 용이하다. 예를 들어 5개 요인(A,B,C,D,E)과 각 요인당 10개 문항을 가진 척도를 사용하여 데이터를 수집하였다면, 각 요인 별로 문항을 순서대로(A요인 10 문항 ~ E요인 10문항) 전개함으로써 데이터를 정리하여 사용하는 과정이 필요하다.

또한 결과 지수가 .3보다 낮으면 부주의 응답으로 간주한다고 제안되어 있지만(Jackson, 1977), 반대로 해당 패키지 코드 실행 후 결과에 따르면 높을 수록 부주의 응답으로 나타난다고 나와있다. 해당 패키지 코드의 자세한 실행 과정에 따르면, 원래의 일관성 지표(eo_cor)를 0에서 빼는 계산을 통해 부호를 반전시키는 과정이 포함되어 있다. 이 과정을 통해, 높은 값을 가질수록 부주의함을 나타내도록 하는 것이다. 따라서 이 점을 고려하여 해석 시 유의할 필요가 있다.

careless_eo <- evenodd(careless_dataset, rep(10, 5)) 
#5개 요인과 각 요인 당 10개 문항이 있음을 나타냄

careless_eodiag <- evenodd(careless_dataset, rep(10, 5), diag = TRUE)
#5개 요인과 각 요인 당 10개 문항이 있음을 나타내며, 추가적으로 각 관측치에 대해 사용 가능한 짝수/홀수 쌍의 수를 나타냄. 즉 누락 여부를 확인 가능함

careless_eo2 <- evenodd(careless_dataset, c(10, 10, 10, 10, 20))
#요인 수는 따로 적지 않고, 요인 당 항목 수를 나열한 케이스로 총 60문항을 나타냄. 요인 당 항목 수가 동일하지 않을 때에 활용할 수 있음

Practice example

실제 데이터로 분석하는 과정과 결과를 예시를 통해 설명하였다. 직업 미결정을 측정하는 2번 데이터를 역코딩을 진행하여 사용했다. 또한 각 요인 별로 문항을 순서대로(1요인 6문항, 2요인~5요인 4문항, 경력 계획 4문항) 전개함으로써 데이터(=cds_oddeven)를 정리하여 사용하였다. 실제로 적용해본 코드와 그에 따른 결과는 다음과 같다.

CDS_evenodd <- evenodd(cds_oddeven, c(6,4,4,4,4,4), diag = FALSE)
ID evenodd
298 1
1336 1
2156 0.991418694
1119 0.957456569
703 0.938748902
584 0.936663367
1001 -0.298468
2251 -0.298468
2391 -0.299595
1966 -0.302437
1478 -0.305507
1217 -0.306414
562 -0.999853
983 -0.999995
1452 -1
696 -1

분석 결과 0.3의 반대인 -0.3보다 높은 값을 가져 불성실 응답으로 탐지된 응답자는 205명으로 전체 응답자의 약 8.10%였다.