2013-08-24 52 views
18

Tôi có một data.frame như hình dưới đây:mức yếu tố Sắp xếp lại trong khung dữ liệu

task measure 
right m1 
left m2 
up  m3 
down m4 
front m5 
back m6 
. 
. 
. 

Cột nhiệm vụ chỉ mất sáu giá trị khác nhau, được coi là yếu tố, và được sắp xếp theo R là: "back", "down", "front", "left", "right", "up".

Bao giờ, tôi cần chúng được đặt hàng là: "lên", "xuống", "trái", "phải", "phía trước", "quay lại". Vì vậy, khi tôi sử dụng dữ liệu này trong ggplot, các tác vụ liên quan (chẳng hạn như "up" và "down") được vẽ bên cạnh nhau.

Làm cách nào để thay đổi thứ tự của các cấp "yếu tố"?

+0

Có là 'cấp (x) <- cú pháp giá trị' (xem' levels'?). Đó có phải là ý bạn không? – Frank

+1

Nếu bạn vừa gõ '? Factor', bạn sẽ tìm thấy một giải pháp cho điều này. – geotheory

Trả lời

49

Giả sử dataframe của bạn là mydf:

mydf$task <- factor(mydf$task, levels = c("up", "down", "left", "right", "front", "back")) 
+7

Cảm ơn bạn. Tôi cũng thấy rằng chỉ với mục đích thay đổi thứ tự cho cốt truyện bằng ggplot2, bạn có thể sử dụng hàm scale_x_discrete và đặt tham số giới hạn theo thứ tự thích hợp cần thiết cho hệ số trong trục x. – siva82kb

+1

cũng thử 'mydf $ task <- đặt hàng (mydf $ task levels = c (" up "," down "," left "," right "," front "," back ")' – user3357059

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