2011-10-27 14 views
10

Tôi có một data.frame trông giống nhưTôi có cần định hình lại dữ liệu rộng này để sử dụng ggplot2 hiệu quả không?

Year Crustaceans  Cod  Tuna Herring Scorpion.fishes 
1 1950 58578630 2716706 69690537 87161396  15250015 
2 1951 59194582 3861166 34829755 51215349  15454659 
3 1952 47562941 4396174 31061481 13962479  12541484 
4 1953 68432658 3901176 23225423 13229061   9524564 
5 1954 64395489 4412721 20798126 25285539   9890656 
6 1955 76111004 4774045 13992697 18910756   8446391 

Với nhiều loài hơn (cột), và năm chạy từ năm 1950 đến năm 2006. Tôi muốn khám phá nó với ggplot2 (mà tôi chỉ học tập). Tôi có cần biến đổi dữ liệu này để loài này có phải là nhân tố có hiệu quả sử dụng ggplot2 trên dữ liệu này không? Nếu không, làm thế nào để tránh phải tạo một lớp cho từng loài riêng lẻ? Nếu có, (hoặc thực sự trong cả hai trường hợp) một con trỏ nhanh chóng sử dụng reshape hoặc plyr để biến tên cột thành một yếu tố sẽ được nhiều đánh giá cao.

Trả lời

9

Việc chuyển đổi đơn giản bằng cách sử dụng melt (từ gói hình lại/2) sẽ đủ. Tôi sẽ làm

library(reshape2) 
qplot(Year, value, colour = variable, data = melt(df, 'Year'), geom = 'line') 
3

Tôi tìm thấy liên kết sau đây cực kỳ hữu ích trong việc định hình lại. Reshape và plyr rất dễ sử dụng các chức năng khi bạn có định dạng (không nhất thiết phải là nhanh nhất (gói data.table được viết bằng cách sử dụng một số C để nó nhanh hơn) về cách chúng hoạt động. . Ngoài ra tôi khuyên bạn nên sao chép các dòng từ ví dụ (diễn viên) vào một kịch bản và chạy chúng cùng một lúc để xem kết quả.

http://had.co.nz/stat405/lectures/19-tables.pdf

+0

Bất kỳ cách nào khác để truy cập vào một hướng dẫn tốt về điều này? các liên kết tại là bị hỏng :( – ae0709

+1

Tôi sẽ sử dụng gói ** tidyr ** hiện đã có sẵn họa tiết. –

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