'Tidy 데이터'작성을위한 우수 사례


12

Hadley Wickham은 작년 JSS에서 데이터 조작 및 분석을 수행하기 위해 데이터를 "최적의"조건으로 만드는 방법에 대한 "Tidy Data"( link ) 라는 훌륭한 기사를 작성했습니다 . 그러나 작업 환경에서 표 형식 데이터를 표시하는 데있어 모범 사례가 무엇인지 궁금했습니다. 동료가 데이터를 제공하도록 요청한다고 가정 해 보겠습니다. 해당 데이터를 구성 할 때 사용하는 일반적인 규칙은 무엇입니까? 데이터가 아닌 전문가와 데이터를 공유하는 경우에도 "Tidy Data"의 지침이 적용됩니까? 분명히 이것은 상황에 따라 다르지만 높은 수준의 '모범 사례'에 대해 묻고 있습니다.


이 문서는 Journal of Statistical Software에 아직 게시되지 않았습니다.
Nick Cox

3
여기서는 R 태그가 불필요한 것 같습니다. 이 질문은 특정 소프트웨어 선택을 초월합니다.
Nick Cox

답변:


10

Hadley에서 예상 할 수 있듯이 그의 기사에는 깔끔한 데이터에 대한 올바른 정의가 포함되어 있으며 필자는 그의 기사의 거의 모든 내용에 동의하며 "데이터 전문가"에게만 해당되는 것은 아니라고 생각합니다. 그러나 더 근본적인 문제를 피할 경우 그가하는 일부 요점은 비교적 쉽게 고칠 수 있습니다 (예 : 그가 작성한 패키지로). 이러한 문제의 대부분은 Excel이 널리 사용 된 결과입니다. Excel은 유용한 도구이며 장점이 있지만 일부 기능은 데이터 분석가에게 문제를 일으 킵니다.

내 경험에 비추어 볼 때 몇 가지 사항은 다음과 같습니다.

  1. 다채로운 스프레드 시트를 좋아하고 서식 옵션을 많이 사용하는 사람들이 있습니다. 데이터를 정리하고 프리젠 테이션을위한 테이블을 준비하는 데 도움이된다면이 모든 것이 좋습니다. 그러나 셀 색상이 실제로 데이터를 인코딩하는 경우 위험합니다. 이 데이터를 잃기 쉽고 통계 데이터로 이러한 데이터를 가져 오기가 매우 어렵습니다 (예 : Stack Overflow 에서이 질문 참조 ).
  2. 때로는 사람들에게 데이터를 준비하는 방법을 알려주고 나면 멋진 형식의 데이터를 얻지 만 주석에 전용 열이나 별도의 파일을 사용하도록 요청하더라도 값 열에 주석을 넣기로 결정합니다. 데이터를 가져올 때이 열을 특별한 방식으로 처리해야 할뿐만 아니라 주된 문제는 모든 테이블을 스크롤하여 이러한 주석 (보통하지 않는)을 확인해야한다는 것입니다. Excel의 주석 기능을 사용하면 상황이 더욱 악화됩니다.
  3. 여러 표가있는 스프레드 시트, 여러 헤더 행 또는 연결된 셀을 사용하면 통계 소프트웨어로 가져올 수 있도록 수동 작업을 수행 할 수 있습니다. 훌륭한 데이터 분석가는 보통 이런 종류의 수동 작업을 즐기지 않습니다.
  4. 절대로 Excel에서 열을 숨기지 마십시오. 필요하지 않으면 삭제하십시오. 필요한 경우 보여주십시오.
  5. xls 및 해당 하위 항목은 다른 사용자와 데이터를 교환하거나 보관하기에 적합한 파일 형식이 아닙니다. 파일을 열면 수식이 업데이트되고 다른 Excel 버전에서는 파일을 다르게 처리 할 수 ​​있습니다. 대신 거의 모든 데이터 관련 소프트웨어가 Excel을 가져 와서 곧 변경되지 않을 것으로 예상되므로 간단한 CSV 파일을 사용하는 것이 좋습니다. 그러나 Excel은 CSV로 저장할 때 보이는 숫자로 반올림하므로 정밀도는 무시됩니다.
  6. 다른 사람을 위해 인생을 편하게하려면 Hadley의 기사에 나와있는 원칙을 따르십시오. 각 변수에 대한 값 열과 계층을 정의하는 요인 열이 있습니다.

내 마음에 들지 않은 몇 가지 추가 사항이있을 수 있습니다.


1
"Excel에서 열을 숨기지 마십시오. 열이 필요하지 않으면 삭제하십시오. 열이 필요하면 표시하십시오." 나는 이것에 동의하지 않는다. 숨겨진 데이터 / 필드는 문제입니다. 그러나 데이터 열을 삭제하면 스프레드 시트에서 되돌릴 수없는 프로세스가 될 수 있습니다. 응용 프로그램 메모리가 큰 문제가 아닌 한 열을 숨기거나 필터링하는 것이 매우 쉽기 때문에 열을 유지하는 것이 좋습니다. 특히 삭제를 취소하는 것과 비교됩니다.
Dan Nguyen

7

첫째, 나는 보통 데이터를 얻는 사람입니다. 그래서 이것은 내 위시리스트로 읽힐 수 있습니다.

  • 따라서 가장 중요한 점은 데이터를 분석 할 사람과 대화하는 것입니다.

  • Hadley가 작성한 많은 내용은 '관계형 데이터베이스를 정규화'하여 요약 할 수 있습니다.

  • 그러나 그는 또한 실제로 일어나고있는 것에 따라, 길거나 넓은 형태로 같은 변수를 갖는 것이 현명 할 수 있다고 언급했다.

    예를 들면 다음과 같습니다. 스펙트럼을 다룹니다. 물리적 / 분 광학적 관점에서, 스펙트럼은 예를 들어 파장 : I = f (λ)의 함수로서 강도 이다. 물리적 인 이유로이 기능은 연속적이며 지속적으로 차별화됩니다. 특정 대한 이산화 는 실제적인 이유로 만 발생합니다 (예 : 디지털 컴퓨터, 측정 기기). 이것은 분명히 긴 형식을 가리킬 것입니다. 그러나 계측기 는 다른 채널 (CCD / 검출기 라인 또는 어레이)에서 다른 를 측정합니다 . 데이터 분석은 또한 각 를 변수로 취급합니다 . 그것은 넓은 형태를 선호합니다.Iλλiλiλi

  • 그러나 비정규 화 된 데이터 표시 / 배포에는 몇 가지 실용적인 이점이 있습니다.

    • 데이터가 완전한지 확인하는 것이 훨씬 쉬울 수 있습니다 .

    • 데이터가 실제로 데이터베이스에있는 경우 (소프트웨어 의미로) 정규화 된 관계형 데이터베이스에서와 같이 연결된 테이블은 정상입니다. 여기서 완전성을 보장하는 제한 조건을 둘 수 있습니다. 데이터가 여러 테이블 형식으로 교환되면 실제로 링크가 엉망이됩니다.

    • 데이터베이스 정규화는 중복성을 제거합니다. 실제 실험실에서는 중복성을 사용하여 무결성을 두 번 확인합니다.
      따라서 중복 정보를 너무 일찍 제거해서는 안됩니다.

    • 현재 메모리 / 디스크 크기는 문제가되지 않는 것 같습니다. 또한 계측기에서 생성하는 데이터의 양도 증가합니다.

      몇 시간 내에 250GB의 고품질 데이터를 쉽게 생성 할 수있는 계측기를 사용하고 있습니다. 이 250GB는 배열 형식입니다. 이것을 긴 형태로 확장하면 적어도 4 배가됩니다. 각 배열 치수 (측면 x 및 y, 파장 λ)는 열이되고 강도는 열이됩니다. 또한 데이터 분석 중 첫 번째 단계는 일반적으로 정규화 된 긴 형식의 데이터를 스펙트럼 전체 형식으로 다시 캐스팅하는 것입니다.

    • 일반적으로 데이터 분석에는 특정 형식이 필요합니다. 그렇기 때문에 데이터를 분석 할 사람과 상담하는 것이 좋습니다.
  • 이러한 정규화 지점으로 해결되는 정리 작업은 지루하고 좋은 일이 아닙니다. 그러나 실제로는 일반적으로 정리의 다른 측면에 더 많은 시간을 보냅니다.

    • 실제로 데이터의 무결성과 완전성을 보장하는 것은 정리 데이터 작업의 큰 부분입니다.

    • 쉽게 읽을 수있는 형식이 아닌 데이터 / 약간 다른 형식 간 전환 :

      많은 파일 형태로 많은 데이터를 얻습니다. 일반적으로 일부 정보는 파일 이름 및 / 또는 경로에 저장됩니다. 계측기 소프트웨어 및 / 또는 생성 된 파일 형식은 일관된 방식으로 정보를 추가 할 수 없으므로 메타 정보를 파일 이름에 연결하는 추가 테이블 (관계형 데이터베이스와 같은)이 있거나 파일 이름이 중요한 정보를 인코딩합니다.

      오타 나 파일 이름의 패턴이 약간 변경되면 여기에서 많은 문제가 발생합니다.

    • 측정 관점에서 정리 : 잘못된 측정 제거 (보통 실수로 빛을 켠 사람, 검출기를 치는 우주 광선, 카메라의 프레임 이동 등의 알려진 물리적 프로세스로 인해 발생 함)

2
첫 포인트 +1 이는 데이터 기록 및 전송에 대한 좋은 조언 일뿐만 아니라 실험 설계 또는 모니터링과 관련된 피드백을 제공하는 것이 이상적입니다.
Roland
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.