데이터 무결성
데이터셋을 탐색하다 보면, 데이터가 어떤 방식으로 수집·정리되었는지 의문이 드는 부분을 발견할 때가 있습니다. 예를 들어, num_char 변수는 이메일의 문자 수(천 단위)로, 소수 값을 가질 수는 있지만 음수 값이 되면 안 됩니다.
이 변수가 기대한 대로 동작하는지 확인하는 간단한 테스트를 만들 수 있습니다:
email$num_char < 0
이 코드를 콘솔에서 실행하면 데이터셋의 각 케이스에 대해 해당 조건이 TRUE인지 나타내는 긴 논리값 벡터를 얻게 됩니다. 여기서는 처음 1000개의 값이 모두 FALSE로 보입니다. 모든 케이스의 num_char 값이 실제로 음수가 아닌지 확인하려면, 이 벡터의 합을 구하면 됩니다:
sum(email$num_char < 0)
이는 유용한 지름길입니다. 논리값에 산술 연산을 하면 R은 TRUE를 1, FALSE를 0으로 처리합니다. 전체 벡터의 합이 0이라면, 테스트에서 모든 케이스가 FALSE였다는 뜻입니다. 즉, num_char 열은 예상대로 동작하며 음수가 아닌 값만 갖습니다.
이 연습은 강의의 일부입니다
R로 하는 탐색적 데이터 분석
연습 안내
image와 attach 변수를 확인해 보세요. ?email로 도움말을 볼 수 있지만, 이 도움말만으로는 애매합니다. 이 데이터셋에서 첨부된 이미지는 첨부 파일로 집계될까요?
이미지가 첨부 파일로 계산되는지 판별하는 간단한 테스트를 설계해 보세요. 두 변수 값을 비교하는 논리 조건을 만든 다음, sum()을 사용해 데이터셋의 모든 케이스를 확인하면 됩니다. 논리 연산자는 <는 보다 작음, <=는 이하, >는 보다 큼, >=는 이상, ==는 같음임을 기억하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Test if images count as attachments