2012-10-23 18 views
5

Là cách để vẽ lại điều gì đó nhưng sử dụng tập dữ liệu được subsetted mà không cần viết lại toàn bộ mã?lặp lại ggplot bằng cách sử dụng dữ liệu khác nhau mà không cần gõ toàn bộ mã số

có thể giống như last_plot() nhưng cho phép một tệp dữ liệu cụ thể sử dụng?

+1

Xin cụ thể hơn với câu hỏi của bạn - Tôi không thể nói _exactly_ những gì bạn đang cố gắng để làm, hoặc tại sao. –

Trả lời

9

Bạn có thể sử dụng %+% điều hành:

##Two data sets: 
R> dd = data.frame(x = runif(10), y=runif(10)) 
R> dd_new = data.frame(x = runif(10), y=runif(10)) 

R> g = ggplot(dd, aes(x,y)) + geom_point() 
R> g 
R> g %+% dd_new 
+2

+1 Cảm ơn bạn đã giới thiệu video đó! –

+0

Có thể hiển nhiên, nhưng đáng chú ý là sau khi sử dụng toán tử '% +%' bạn có thể tiếp tục sử dụng toán tử '+': 'g% +% dd_new + labs (title =" Best Graph ")' – Nat

4

Mặc dù tôi cảm thấy rằng câu trả lời của Csgillespie hoàn tất. Tôi muốn thêm một phương pháp phụ mà cá nhân tôi sử dụng khá thường xuyên, nhưng hiếm khi thấy trong tự nhiên. Thật tuyệt vời khi áp dụng các chủ đề của công ty/cá nhân và tránh đánh lại công việc của một người.

Bạn có thể tiết kiệm các yếu tố ggplot2 như một danh sách, chỉ cần như thể bạn đang viết chúng với ... + ... +

default.point <- list(geom_point(), 
coord_flip(), 
theme(
axis.text.x=element_text(size=12 
))) 

ggplot(diamonds,aes(carat, price, colour=cut)) + default.point 
Các vấn đề liên quan