Thực tiễn tốt nhất để tạo 'Dữ liệu gọn gàng'


12

Hadley Wickham đã viết một bài báo xuất sắc có tên "Dữ liệu gọn gàng" ( liên kết ) trong JSS năm ngoái về thao tác dữ liệu và đưa dữ liệu vào điều kiện "tối ưu" để thực hiện phân tích. Tuy nhiên, tôi đã tự hỏi những thực tiễn tốt nhất về mặt trình bày dữ liệu dạng bảng trong một thiết lập công việc là gì? Giả sử đồng nghiệp của bạn yêu cầu bạn cung cấp cho anh ta một số dữ liệu. Một số quy tắc chung bạn sử dụng khi cấu trúc dữ liệu đó là gì? Các nguyên tắc trong "Dữ liệu gọn gàng" có giống như được áp dụng trong trường hợp bạn đang chia sẻ dữ liệu với các chuyên gia không phải là dữ liệu không? Rõ ràng, điều này rất cụ thể theo ngữ cảnh nhưng tôi đang hỏi về 'thực tiễn tốt nhất' ở cấp độ cao.


Bài viết này chưa được công bố (chưa) trên Tạp chí Phần mềm Thống kê.
Nick Cox

3
Thẻ R dường như không cần thiết ở đây. Câu hỏi vượt qua các lựa chọn phần mềm cụ thể.
Nick Cox

Câu trả lời:


10

Như Hadley có thể mong đợi, bài viết của anh ấy chứa một định nghĩa tốt về dữ liệu gọn gàng và tôi đồng ý với hầu hết mọi thứ trong bài viết của anh ấy và tin rằng nó không chỉ hợp lệ với "chuyên gia dữ liệu". Tuy nhiên, một số điểm anh ta đưa ra tương đối dễ khắc phục (ví dụ: với các gói anh ta đã tạo ra) nếu một số vấn đề cơ bản hơn được tránh. Hầu hết các vấn đề này là kết quả của việc sử dụng rộng rãi Excel. Excel là một công cụ có giá trị và có giá trị của nó, nhưng một số cơ sở của nó dẫn đến các vấn đề cho các nhà phân tích dữ liệu.

Một số điểm (từ kinh nghiệm của tôi):

  1. Một số người thích bảng tính đầy màu sắc và sử dụng phong phú các tùy chọn định dạng. Điều này là tốt, nếu nó giúp họ sắp xếp dữ liệu của họ và chuẩn bị các bảng để trình bày. Tuy nhiên, thật nguy hiểm nếu màu tế bào thực sự mã hóa dữ liệu. Thật dễ dàng để mất dữ liệu này và rất khó để có được dữ liệu đó được nhập vào phần mềm thống kê (ví dụ: xem câu hỏi này trên Stack Overflow).
  2. Đôi khi tôi nhận được một số dữ liệu được định dạng độc đáo (sau khi tôi nói với mọi người cách chuẩn bị), nhưng mặc dù yêu cầu họ sử dụng một cột chuyên dụng hoặc tệp riêng để nhận xét, họ quyết định đưa nhận xét vào cột giá trị. Tôi không chỉ cần xử lý cột này theo cách đặc biệt khi nhập dữ liệu, mà vấn đề chính là tôi sẽ cần phải cuộn qua tất cả các bảng để xem những bình luận như vậy (điều mà tôi thường không làm). Điều này thậm chí còn tồi tệ hơn nếu họ sử dụng các phương tiện bình luận của Excel.
  3. Bảng tính có nhiều bảng trong đó, nhiều dòng tiêu đề hoặc các ô được kết nối dẫn đến công việc thủ công để chuẩn bị chúng để nhập vào phần mềm thống kê. Các nhà phân tích dữ liệu tốt thường không thích loại công việc thủ công này.
  4. Không bao giờ, không bao giờ ẩn các cột trong Excel. Nếu chúng không cần thiết, hãy xóa chúng. Nếu họ cần thiết, cho họ thấy.
  5. xls và hậu duệ của nó không phải là định dạng tệp phù hợp để trao đổi dữ liệu với người khác hoặc lưu trữ nó. Các công thức được cập nhật khi tệp được mở và các phiên bản Excel khác nhau có thể xử lý các tệp khác nhau. Thay vào đó, tôi khuyên dùng một tệp CSV đơn giản, vì hầu như tất cả các phần mềm liên quan đến dữ liệu đều có thể nhập tệp đó (ngay cả Excel) và có thể dự kiến ​​rằng điều đó sẽ không thay đổi sớm. Tuy nhiên, lưu ý rằng Excel làm tròn thành các chữ số hiển thị khi lưu vào CSV (do đó loại bỏ độ chính xác).
  6. Nếu bạn muốn làm cho cuộc sống của người khác trở nên dễ dàng, hãy tuân thủ các nguyên tắc được đưa ra trong bài viết của Hadley. Có một cột giá trị cho mỗi cột biến và các yếu tố xác định tầng.

Có lẽ có một số điểm bổ sung mà tôi không nghĩ đến.


1
"Không bao giờ, không bao giờ ẩn các cột trong Excel. Nếu không cần thiết, hãy xóa chúng. Nếu cần, hãy hiển thị chúng." Tôi phải không đồng ý với điều này. Dữ liệu / trường ẩn là một vấn đề. Nhưng xóa các cột dữ liệu có thể trở thành một quá trình không thể đảo ngược với bảng tính. Trừ khi bộ nhớ ứng dụng là một mối quan tâm lớn, tôi khuyên bạn nên giữ các cột vì việc ẩn / lọc đối với chúng là cực kỳ dễ dàng. Đặc biệt là so với xóa đảo ngược.
Dân Nguyễn

7

Đầu tiên, tôi thường là người lấy dữ liệu. Vì vậy, điều này có thể đọc như danh sách mong muốn của tôi.

  • Do đó, điểm quan trọng nhất của tôi là: nói chuyện với người sẽ phân tích dữ liệu.

  • Tôi đã có một cái nhìn thoáng qua trên tờ giấy: rất nhiều những gì Hadley viết có thể được tóm tắt bằng cách 'bình thường hóa cơ sở dữ liệu quan hệ của bạn'.

  • Nhưng ông cũng đề cập rằng tùy thuộc vào những gì đang thực sự xảy ra, có thể có cùng một biến số ở dạng dài hoặc rộng.

    Đây là một ví dụ: Tôi đối phó với quang phổ. Từ một / điểm spectroscopical vật lý của xem, quang phổ được ví dụ như một cường độ như chức năng của các bước sóng : Tôi = f (λ). Vì lý do vật lý, chức năng này là liên tục (và liên tục khác biệt). Một sự rời rạc đối với các cụ thể xảy ra chỉ vì lý do thực tế (ví dụ: máy tính kỹ thuật số, dụng cụ đo lường). Điều này rõ ràng sẽ chỉ ra một hình thức dài. Tuy nhiên, công cụ của tôi đo khác nhau trong các kênh khác nhau (của một dòng hoặc bộ phát hiện CCD / mảng). Phân tích dữ liệu cũng coi mỗi là một phương sai. Đó sẽ là ủng hộ của hình thức rộng.Iλλiλiλi

  • Tuy nhiên, có một số lợi thế thực tế đối với việc hiển thị / phân phối dữ liệu không chuẩn hóa:

    • Có thể dễ dàng hơn nhiều để kiểm tra rằng dữ liệu đã hoàn tất .

    • Các bảng được kết nối như trong một cơ sở dữ liệu quan hệ được chuẩn hóa là OK nếu dữ liệu thực sự nằm trong một cơ sở dữ liệu (theo nghĩa phần mềm). Ở đó, bạn có thể đặt các ràng buộc đảm bảo tính đầy đủ. Nếu dữ liệu được trao đổi dưới dạng một số bảng, trong thực tế các liên kết sẽ là một mớ hỗn độn.

    • Chuẩn hóa cơ sở dữ liệu loại bỏ dư thừa. Trong cuộc sống phòng thí nghiệm thực tế, các khoản dự phòng được sử dụng để kiểm tra tính toàn vẹn.
      Do đó, thông tin dư thừa không nên được loại bỏ quá sớm.

    • Kích thước bộ nhớ / đĩa dường như ít gặp vấn đề hiện nay. Nhưng cũng số lượng dữ liệu công cụ của chúng tôi sản xuất tăng lên.

      Tôi đang làm việc với một công cụ có thể dễ dàng tạo ra 250 GB dữ liệu chất lượng cao trong vòng vài giờ. 250 GB đó ở định dạng mảng. Việc mở rộng dạng này thành dạng dài sẽ thổi nó lên theo hệ số ít nhất là 4: mỗi kích thước mảng (bên x và y và bước sóng λ) sẽ trở thành một cột, cộng với một cột cho cường độ). Ngoài ra, bước đầu tiên của tôi trong quá trình phân tích dữ liệu thường là chuyển dữ liệu dạng dài đã chuẩn hóa trở lại dạng phổ rộng.

    • Thông thường, phân tích dữ liệu sẽ cần một hình thức cụ thể. Đây là lý do tại sao tôi khuyên nên nói chuyện với người sẽ phân tích dữ liệu.
  • Công việc dọn dẹp được giải quyết bởi các điểm bình thường hóa này là tẻ nhạt và không phải là một công việc tốt. Tuy nhiên, trong thực tế, tôi thường dành nhiều thời gian hơn cho các khía cạnh khác của việc dọn dẹp

    • Đảm bảo tính toàn vẹn và đầy đủ của dữ liệu trong thực tế là một phần lớn trong công việc dữ liệu gọn gàng của tôi.

    • Dữ liệu không ở định dạng dễ đọc / chuyển đổi giữa các định dạng hơi khác nhau:

      Tôi nhận được nhiều dữ liệu dưới dạng nhiều tệp và thông thường một số thông tin được lưu trữ trong tên tệp và / hoặc đường dẫn: phần mềm công cụ và / hoặc các định dạng tệp được sản xuất không cho phép thêm thông tin theo cách nhất quán, vì vậy chúng tôi hoặc có một bảng bổ sung (như trong cơ sở dữ liệu quan hệ) liên kết thông tin meta với tên tệp hoặc tên tệp mã hóa thông tin quan trọng.

      Typose hoặc thay đổi nhỏ trong mẫu của tên tệp gây ra nhiều rắc rối ở đây.

    • Thu dọn từ quan điểm đo lường: loại bỏ các phép đo sai (thường được gây ra bởi các quá trình vật lý đã biết như ai đó vô tình bật đèn, tia vũ trụ chạm vào máy dò, dịch chuyển khung hình của máy ảnh, ...).

2
+1 cho điểm đầu tiên của bạn. Đó không chỉ là lời khuyên tốt cho việc ghi và truyền dữ liệu, mà lý tưởng nhất là dẫn đến phản hồi liên quan đến thiết kế hoặc giám sát thử nghiệm.
Roland
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.