2013-02-25 55 views
5

Khi nào bạn thường sử dụng factor để biến đổi mã màu/kích thước trong ggplot2 trong R? Ví dụ:khi nào sử dụng hệ số() khi vẽ bằng ggplot trong R?

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=gear)) 

so:

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=factor(gear))) 

là quy tắc chung để sử dụng factor khi biến được sử dụng để xác định hình dạng/kích thước/màu sắc là rời rạc, và không liên tục? Hoặc có cách sử dụng khác là factor trong ngữ cảnh này không? Có vẻ như lệnh đầu tiên có thể được thực hiện giống như lệnh thứ hai với chú thích đúng, ngay cả khi không có factor. cảm ơn.

chỉnh sửa: Tôi có được điều này khi tôi sử dụng colour=gear: enter image description here

+4

Có, tùy thuộc vào nội dung bạn muốn hiển thị. Nếu bạn có khuynh hướng truyền đạt ý nghĩa về phân cấp, bạn sử dụng biến số liên tục, nhưng nếu bạn muốn hiển thị các nhóm, bạn đặt cược an toàn nhất là chuyển đổi thành yếu tố. –

+1

Sử dụng 'thừa số' khi bạn có các biến số được mã hóa thực tế đại diện cho các danh mục. – Andrie

Trả lời

6

Vấn đề không phải là truyền thuyết, đó là sự lựa chọn màu sắc. Khi nó không phải là một yếu tố, điểm là sắc thái khác nhau của màu sắc giống nhau:

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=gear)) 

enter image description here

này giao tiếp liên tục của các điểm, và nó như vậy không lý tưởng cho một tập hợp các khả năng riêng biệt. (Thật vậy, một khi bạn nhận được năm hoặc sáu khả năng màu sắc có thể khó phân biệt với nhau).

Khi gearsđược đối xử như một yếu tố, các màu sắc được lựa chọn để có sự phân biệt:

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=factor(gear))) 

enter image description here

Lưu ý rằng nếu bạn không nhận được một âm mưu dốc khi không sử dụng factor, bạn nên thử nâng cấp lên phiên bản mới hơn của ggplot2.

+0

Làm cách nào để bạn có được âm mưu đầu tiên? Tôi không nhận được một chú giải gradient khi tôi chỉ sử dụng 'color = gear'. – user248237dfsf

+0

@ user248237: Tôi đã đăng mã của mình lên trên mỗi hình - tôi tin nó giống y như của bạn. Có thể là trong khung dữ liệu của bạn (phiên bản của R?), 'Gear' đã là một yếu tố? Bạn nhận được gì từ 'class (mtcars $ gear)'? –

+0

Tôi nhận được 'lớp (mtcars $ gear) [1]" số "khi tôi nhập những gì bạn đã viết. Tôi đang sử dụng RStudio. – user248237dfsf

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