2013-04-02 35 views
8

Tôi đã tìm kiếm một câu trả lời cho vấn đề này một thời gian dài và tôi không thể tìm thấy câu trả lời.2 phân tích biểu đồ nhân tố

Đây là vấn đề: Tôi có một data frame với các biến sau: tốc độ dòng chảy 1 (CH_SONAR), tỷ lệ 2 (CH_SONAR_2T), mật độ (CH_DENSITY), và sự khác biệt phần trăm giữa hai tốc độ dòng chảy (per_diff) chảy. Tôi đã tạo ra một yếu tố mức 5 cho tốc độ dòng chảy 1 và một yếu tố mức 5 khác cho mật độ.

f.factor <- cut(p.pipeline$CH_SONAR_2T, 5, labels = c('Very Low','Low', 'Medium', 'High', 'Very High')) 

d.factor <- cut(p.pipeline$CH_DENSITY, 5, labels = c('Water', 'Very Sparce', 'Sparce', 'Dense', 'Very Dense')) 

Tôi đã vẽ cả hai sử dụng ggplot2 sử dụng từng yếu tố như biến fill:

qplot(per_diff, data = p.pipeline, geom = "histogram", binwidth = 1, xlim = c(-5, 15), fill = f.factor) 

qplot(per_diff, data = p.pipeline, geom = "histogram", binwidth = 1, xlim = c(-5, 15), fill = d.factor) 

Bây giờ tôi muốn tạo ra một biểu đồ với ggplot cho phép tôi nhìn thấy mối quan hệ giữa tốc độ dòng chảy và mật độ (Nước và Rất Thấp, Rất Nhịp và Thấp, Nhịp và Thấp, vv cho tất cả 25 kết hợp có thể). Tôi đã cố gắng tạo ra các yếu tố mới, ràng buộc d.factor và f.factor vào khung dữ liệu, ràng buộc hai yếu tố lại với nhau và không có kết quả, các bạn có ý tưởng nào về cách tiếp cận này không?

Tôi đã thử bao gồm các biểu đồ tôi đã tạo nhưng tôi không nghĩ mình có đủ danh tiếng để làm điều đó.

Cảm ơn sự giúp đỡ của bạn!

+0

Ngoài ra, liên kết hình ảnh của bạn ở đây, ai trong chúng ta có thể chỉnh sửa bài để có được những hình ảnh inline. – Arun

+0

@Arun Tôi sắp thêm yêu cầu tương tự, sau đó tôi nhận thấy OP được liên kết với dữ liệu của cô ấy. –

+0

@MatthewPlourde, oops! Bạn hoàn toàn đúng. đã xóa. – Arun

Trả lời

10

Bạn có thể sử dụng fill=interaction(f.factor, d.factor). Các kết hợp không xuất hiện trong chú giải, chẳng hạn như 'Low.Very Sparce' cho biết rằng không có quan sát thuộc về cả hai danh mục này.

enter image description here

Nếu bạn muốn màu sắc của mức độ tiếp giáp với nổi trổi hơn, có một điều bạn có thể làm là tạo ra các màu sắc với rainbow, sau đó trao đổi tất cả các màu sắc khác với nó là đối diện trên bánh xe.

col <- rainbow(length(levels(interaction(f.factor, d.factor))), v=.75, s=.5) 
col.index <- ifelse(seq(col) %% 2, 
        seq(col), 
        (seq(ceiling(length(col)/2), length.out=length(col)) %% length(col)) + 1) 
mixed <- col[col.index] 
qplot(per_diff, data = p.pipeline, 
     geom = "histogram", binwidth = 1, xlim = c(-5, 15), 
     fill = interaction(f.factor, d.factor)) + scale_fill_manual(values=mixed) 

enter image description here

+0

Hoàn hảo! Cảm ơn bạn rất nhiều, làm việc như một say mê. Cảm ơn bạn đã upvotes quá, tôi có thể gửi hình ảnh ngay bây giờ :) – amzu

+1

@ChelseaE, tại sao bạn không lên bầu chọn câu trả lời? :) – Arun

+0

@Không đủ đại diện cho điều đó ... :( – amzu

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