2013-06-10 39 views
6

Đây là câu hỏi về cả các cách thực hành tốt nhất để trình bày trực quan dữ liệu và cách vẽ các ô trong R/ggplot2.Vẽ một ô để thể hiện sự phân tách liên tiếp thành các loại (R, ggplot2)

Tôi cố gắng để tìm thấy một cách để đồ họa đại diện cho những câu chuyện kể ở đây:

"Chúng tôi đã có 2.000 trường hợp thử nghiệm, trong đó 500 có lỗi Sau khi điều tra, chúng tôi thấy rằng 400 của các bài kiểm tra là Big. và 1600 là nhỏ, chỉ có 25 bài kiểm tra Big có lỗi, vì vậy chúng tôi đặt chúng sang một bên, để lại 1600 bài kiểm tra nhỏ, trong đó có 475 lỗi, sau đó chúng tôi nhận thấy 400 bài kiểm tra nhỏ là theo chiều kim đồng hồ và 1200 là ngược chiều kim đồng hồ; 20 trong số các thử nghiệm nhỏ theo chiều kim đồng hồ có lỗi, vì vậy chúng tôi đặt chúng sang một bên, để lại 1200 kiểm tra ngược chiều kim đồng hồ nhỏ, trong đó có 455 lỗi. "

Nói cách khác, tôi đang sử dụng danh mục để tách các trường hợp thử nghiệm của mình và tôi muốn trình bày cách phân số lỗi trong mỗi danh mục thay đổi theo tiến độ của tôi.

Dưới đây là một số R với dữ liệu:

tests <- data.frame(n.all=c(2000,400,1600,400,1200),n.err=c(500,25,475,20,455),sep.1=as.factor(c("all","Big","Small","Small","Small")),sep.2=as.factor(c("all","all","all","Clockwise","Counter-Clockwise"))) 

Với lượng nhỏ dữ liệu này, một bảng số đơn giản có thể là lựa chọn tốt nhất; chúng ta hãy giả định rằng câu chuyện tiếp tục, với ngày càng nhiều danh mục được phân tách đang được sử dụng, do đó chỉ cần liệt kê các con số không phải là lựa chọn tốt nhất.

Điều gì sẽ là cách tốt để thể hiện dữ liệu này? Tôi có thể nghĩ đến một vài khả năng:

Four possible plots: pie, bar, bar with path, horizontal bar with path

  1. bảng xếp hạng Pie, cho thấy lát của chiếc bánh được lấy đi, và sự phân hủy của các lỗi/không có lỗi trong những gì còn lại
  2. bảng xếp hạng Bar, tương tự như
  3. biểu đồ thanh với dải ruy băng cho thấy "dòng chảy" tách xa loại, như Minard's chart of Napoleon's march
  4. tương tự, nhưng với biểu đồ thanh hiển thị các phần phân đoạn theo chiều ngang chứ không phải theo chiều dọc

Tất cả bốn phương pháp đều cho thấy số lượng trường hợp thử nghiệm tuyệt đối giảm và phần lỗi trong danh mục được phân tách cũng như phần còn lại. Tôi nghĩ rằng tôi thích # 4 tốt nhất, nhưng tôi đã có một tâm trí cởi mở.

Loại dữ liệu này được thể hiện như thế nào và có thể sử dụng R/ggplot2 để làm như vậy không?

+0

Xem gói 'vcd'. Nhưng điều đó nói rằng tôi nghĩ đây không phải là một câu hỏi hay cho SO. –

+1

Tôi nghĩ rằng đây là một câu hỏi thú vị, nhưng tôi đồng ý rằng nó có thể hơi quá mở kết thúc cho StackOverflow. CrossValidated đôi khi cũng hoan nghênh các câu hỏi trực quan hóa dữ liệu có nhiều khái niệm hơn là lập trình liên quan. Tôi có lẽ sẽ hỏi ở đó trong trò chuyện hoặc một cái gì đó trước khi hỏi mặc dù, chỉ để chắc chắn. – joran

+0

Đúng, một khi bạn biết hình ảnh mình muốn, hãy mang nó trở lại nếu bạn gặp khó khăn với mã số – alexwhan

Trả lời

0

Hãy nhớ rằng 3 điều phải phù hợp khi vẽ đồ thị; thông báo bạn đang nói, thông báo dữ liệu đang cho bạn biết và thông báo mà biểu đồ đang cho bạn biết. Theo ý kiến ​​của tôi, tùy chọn 4 của bạn là lựa chọn tốt nhất để nhận thông điệp một cách nhất quán.

Tôi cũng đến ở vị trí thứ 4 bởi loại bỏ tuyệt đối:;)

Cột là không phù hợp vì bạn đang kết hợp đại diện thẳng đứng với một dòng chảy ngang, so sánh biểu đồ pie cũng không phải là dễ dàng để làm (thậm chí trong một biểu đồ pie nó đã được khó khăn để so sánh các phần khác nhau) vì vậy họ không phải là một lựa chọn. Để lại cho bạn tùy chọn 4 thực sự :)

Bạn cũng có thể thử Biểu đồ Sankey.Sankey Diagrams in R? có thể hữu ích

Các vấn đề liên quan