2011-07-02 84 views
11

Tôi muốn vẽ biểu đồ với giá trị trung bình (trung bình) trên nó (đánh dấu nó bằng ví dụ bằng đường màu xanh, đậm). Tôi cố gắng làm điều đó bằng cách sử dụng lệnh cốt truyện, nhưng ngay cả khi tôi thêm tham số: "add = TRUE" nó không hoạt động.thêm giá trị trung bình vào biểu đồ trong R!

+1

Chào mừng bạn đến với cộng đồng. Nếu câu trả lời dưới đây giải quyết được vấn đề của bạn, bạn nên đánh dấu một trong số đó là giải pháp (nhấp vào hộp chọn nhỏ bên cạnh). Và đối với các vấn đề trong tương lai, vui lòng cung cấp tập dữ liệu minh họa sự cố để tránh những người cung cấp câu trả lời từ việc phải tạo lại dữ liệu thử nghiệm (vì bạn sẽ lưu ý hai giải pháp đầu tiên của giải pháp EDi). Cảm ơn! –

Trả lời

21

Bạn có thể sử dụng abline() để thêm dòng để một âm mưu:

x <- rnorm(100) 
mx <- mean(x) 
hist(x) 
abline(v = mx, col = "blue", lwd = 2) 

cũng có một cái nhìn tại mệnh cho các thông số đồ họa (như col và LWD)?.

chỉnh sửa:

Về câu hỏi của bạn trong các ý kiến:
Bạn cũng có thể vẽ đường sử dụng dây chuyền().
văn bản() được sử dụng cho văn bản.
Đối số cex mô tả "yếu tố mở rộng ký tự".

Cũng có một cái nhìn tại Quick-R cho một tổng quan về âm mưu cơ bản với R.

x <- rnorm(100, mean = 10) 
mx <- mean(x) 
hist(x) 
lines(c(mx,mx), c(0,15), col = "red", lwd = 2) 
lines(c(10, 11.5), c(0, 10), col = "steelblue", lwd = 3, lty = 22) 
text(mx, 18 , round(mx, 2)) 
text(mx, 12 , "big", cex = 5) 
+0

Có cách nào để tạo các đường ngắn hơn và thêm vào số đó không? Làm cách nào tôi có thể chỉ định kích thước phông chữ cho văn bản được thêm? –

+0

xem các chỉnh sửa của tôi ... – EDi

10
hist(data) 
abline(v=mean(data),col="blue") 
+2

giây nhanh hơn sau đó tôi ... – EDi

+0

Tôi đã bỏ lỡ v rõ ràng cho tham số "dọc" – espaciomore

5

Nếu bạn có khung dữ liệu với nhiều cột sử dụng của gói ggplot2 là lựa chọn ưa thích của tôi:

ggplot (data, aes (x = colname)) + geom_vline(xintercept=mean(data$colname), color="red") 

Colname là cột trong data.frame của bạn mà bạn muốn vẽ biểu đồ và trung bình.

1

Tôi gặp phải sự cố trong đó dòng trung bình không xuất hiện và tôi không nhận được bất kỳ lỗi nào để giúp tôi tìm ra lý do. Tôi nhận ra rằng không có gì xảy ra bởi vì tôi có một số dữ liệu còn thiếu, vì vậy giá trị trung bình được tính là NA. Thêm na.rm = T vào giá trị trung bình() arg cho tôi một số thực, và dòng trung bình xuất hiện. Đó là một sự giám sát nhỏ và một sửa chữa đơn giản hầu như không có giá trị bằng văn bản về, nhưng tôi đăng nó anyway trong trường hợp nó có thể tiết kiệm một số người đau buồn.

hist(data$Defect.rate, 
xlim = c(0, 1), 
col = "light blue") 

abline(v = mean(data$Defect.rate, na.rm = T), 
      col = "red", 
      lwd = 2) 
Các vấn đề liên quan