iOS 건강 앱에서 내보낸 데이터를 이해하는 방법

iOS 건강 앱은 사용자의 다양한 건강 데이터를 수집합니다. 이 데이터는 앱 자체 또는 타사 앱을 통해 수집되며, Apple Watch를 사용하는 경우 더욱 풍부한 데이터를 얻을 수 있습니다. 수집된 데이터는 iOS 기기 간에 전송하거나 내보낼 수 있습니다.

건강 앱에서 데이터를 내보내면 두 개의 XML 파일 형태로 저장됩니다. 이 파일들은 압축된 형태로 제공되며, 사용자는 원하는 방식으로 저장할 수 있습니다. 여기까지는 간단하지만, 압축을 해제한 후 XML 파일을 보면 그 내용을 이해하기 어려울 수 있습니다. 어떤 앱으로 XML 파일을 읽고 데이터를 해석해야 할지 막막할 때가 많습니다. 여기서는 건강 앱에서 내보낸 데이터를 분석하는 방법을 자세히 알아보겠습니다.

건강 앱 데이터 내보내는 방법

건강 앱을 실행하고, 오른쪽 상단에 있는 프로필 아이콘을 탭하세요. 프로필 화면에서 아래로 스크롤하여 ‘건강 데이터 내보내기’ 버튼을 찾아서 누르세요. 앱은 압축 파일을 생성하고 저장 방법을 묻는 메시지를 표시합니다. 이메일로 자신에게 보내거나 클라우드 드라이브에 저장할 수 있습니다.

내보낸 건강 앱 데이터 읽는 방법

압축 파일을 다운로드하여 바탕 화면에 저장했다고 가정하고 압축을 풀어보세요. 압축을 해제한 폴더에는 ‘export.xml’과 ‘export_cda.xml’ 두 개의 파일이 있습니다.

실제 데이터는 ‘export.xml’ 파일에 들어 있습니다. 이 파일을 열려면 XML 형식을 읽고 올바르게 표시할 수 있는 앱이 필요합니다. 여기서는 Microsoft Excel을 사용해서 데이터를 분석하는 방법을 설명하겠습니다.

Excel을 실행하고 ‘열기’ 메뉴를 통해 ‘export.xml’ 파일을 선택합니다. 파일을 열 때 Excel은 ‘읽기 전용 통합 문서로’ 여는 옵션을 선택하도록 안내합니다.

파일을 편집하고 싶다면, 전체 데이터를 복사하여 새 파일에 붙여넣으면 됩니다. Excel에서 데이터를 열면 다음과 같은 화면을 볼 수 있습니다.

건강 앱 데이터 분석하기

XML 파일의 많은 셀에서 동일한 값이 반복되는 것을 볼 수 있습니다. 이는 처음 몇 개의 열에서 특히 두드러집니다. 오른쪽으로 스크롤하면서 열과 행을 따라가면 데이터가 달라지기 시작합니다. 각 셀이 나타내는 데이터의 의미를 자세히 살펴보겠습니다.

  • /@locale: 앱 스토어 국가 설정에 따라 데이터가 저장된 지역을 보여줍니다. 이 값은 모든 행에서 동일하게 반복됩니다.
  • /ExportDate/@value: 데이터를 내보낸 날짜와 시간을 나타냅니다. 이 값 또한 모든 행에서 반복됩니다.
  • /Me/@HKCharacteristicTypeIdentifierBiologicalSex: 건강 앱에 입력한 생물학적 성별입니다. 모든 행에서 동일한 값을 가집니다.
  • /Me/@HKCharacteristicTypeIdentifierBloodType: 사용자의 혈액형입니다. ‘HKBloodType’ 뒤에 오는 값을 확인하여 저장된 혈액형을 알 수 있습니다 (예: HKBloodTypeBPositive).
  • /Me/@HKCharacteristicTypeIdentifierDateOfBirth: 사용자의 생년월일입니다.
  • /Me/@HKCharacteristicTypeIdentifierFitzpatrickSkinType: 피부 민감도를 측정하는 Fitzpatrick 피부 유형입니다. 사용자가 수동으로 입력하며, 선택하지 않은 경우 ‘HKFitzpatrickSkinTypeNotSet’ 값이 표시됩니다.
  • /Record/#id: 각 데이터 항목의 일련 번호입니다. 데이터가 기록된 순서대로 증가합니다.
  • /Record/@creationDate: 데이터가 기록된 날짜입니다. 특정 날짜의 활동 데이터를 검색할 때 유용합니다.
  • /Record/@device: 데이터를 수집한 기기를 식별합니다. iPhone과 Apple Watch에서 수집한 데이터를 구분할 때 유용합니다. 여기에는 기기 모델과 iOS 버전 정보가 포함됩니다.
  • /Record/@endDate: 데이터 기록이 종료된 날짜와 시간입니다.
  • /Record/@sourceName: 데이터 출처를 나타냅니다. 건강 앱에 수동으로 추가한 데이터는 ‘Health’로 표시됩니다. iPhone, 앱 또는 시계에서 수집한 데이터는 해당 이름이 표시됩니다.
  • /Record/@sourceVersion: 데이터가 기록될 당시 기기의 iOS 버전입니다.
  • /Record/@startDate: 활동이 시작된 날짜와 시간입니다. 데이터 생성 시간과 다를 수 있습니다.
  • /Record/@type: 기록된 활동의 유형을 나타내는 매우 중요한 열입니다. 수동으로 추가한 데이터 외에 걸음 수, 이동 거리 등의 활동 유형이 표시됩니다.
    • HKQuantityTypeIdentifierStepCount – 걸음 수
    • HKQuantityTypeIdentifierDistanceWalkingRunning – 걷거나 달린 거리
  • /Record/@unit: 데이터가 측정된 단위를 나타냅니다. 걸음 수는 ‘카운트’, 이동 거리는 ‘km’ 등으로 표시됩니다.
  • /Record/@value: 수집된 실제 데이터 값입니다. 예를 들어 특정 날짜에 걸은 걸음 수를 합산할 수 있습니다.
  • /Record/MetadataEntry/@key: 건강 앱에 수동으로 입력하거나 다른 앱을 통해 수집한 데이터를 나타냅니다. 생식기 건강, 혈압 데이터 등이 포함될 수 있습니다.
  • /Record/MetadataEntry/@value: 수동으로 입력한 데이터의 실제 값입니다.

데이터 정렬 및 필터링

이제 각 열의 데이터를 이해했으므로, 데이터를 정렬하고 분석할 차례입니다. Excel에서 열 머리글을 선택하고 ‘데이터’ 탭에서 ‘필터’를 클릭합니다.

각 열에 필터가 추가됩니다.

예를 들어, 2016년 10월에 걸은 걸음 수를 확인해 보겠습니다. 필터링해야 할 열은 /Record/@type, /Record/@value 및 /Record/@startDate입니다.

먼저, /Record/@type 열의 필터 드롭다운 화살표를 클릭하여 다양한 활동 유형을 확인합니다. 모든 활동 유형을 선택 해제하고 ‘HKQuantityTypeIdentifierStepCount’만 선택합니다. 이렇게 하면 /Record/@value 열에서 걸음 수와 관련된 데이터만 남습니다.

다음으로 /Record/@startDate 열로 이동하여 날짜 범위를 좁힙니다. 필터 드롭다운 화살표를 클릭하고 검색 창에 포함할 날짜를 지정합니다. 예를 들어 2016년 10월 데이터를 찾으려면 검색창에 ‘2016-10’을 입력합니다. 자동으로 해당 월의 모든 날짜가 선택됩니다. “필터에 현재 선택 항목 추가” 옵션은 선택하지 않고 확인을 클릭하면 데이터가 필터링됩니다.

데이터 시각화 (그래프 만들기)

이제 Excel에서 2016년 10월의 걸음 수 데이터를 볼 수 있습니다. 이 데이터를 기반으로 그래프를 만들어 시각화할 수 있습니다. 데이터 시각화 전에 하루 동안의 모든 걸음 수를 합산하여 하나의 값으로 표시하는 것이 유용할 수 있습니다. 예를 들어, 2016년 10월 1일, 2일 등의 걸음수를 합산하면 10월 한 달의 걸음수를 날짜별로 쉽게 볼 수 있습니다.

‘합계’ 공식을 사용하여 날짜별 걸음 수를 계산한 다음, 원하는 차트 유형을 선택하여 데이터를 시각적으로 표현할 수 있습니다. 다음은 2016년 10월 첫 7일 동안의 데이터를 기반으로 만든 그래프의 예입니다.