2010-09-24 36 views
10

Tôi có một bảng tần số được tạo trước cho một tập dữ liệu khá lớn. Đó là, một vectơ cột đơn của các thùng và một vectơ cột duy nhất về số lượng được kết hợp với các thùng đó. Tôi muốn R vẽ đồ thị biểu đồ của dữ liệu này bằng cách thực hiện thêm và tính tổng số lượng hiện có. Ví dụ: nếu trong dữ liệu được binned trước tôi có thứ gì đó như [(0,01, 5000), (0,02, 231), (0,03, 948)], trong đó số đầu tiên là thùng và số thứ hai là số và tôi chọn 0.04 như chiều rộng thùng mới, tôi mong đợi để có được [(0.04, 6179)]. Cách nhanh nhất và dễ nhất để làm điều này trong R là gì?Làm thế nào để Vẽ một Biểu đồ Trước khi Binned Trong R

Trả lời

6

Có vẻ như ggplot2 có câu trả lời.


library(ggplot2) 
qplot(bin, data=cbind(bins,counts), weight=counts, geom="histogram") 
+0

bạn đang nhanh;) Tôi đã chỉ tìm kiếm cách tôi đã làm điều này trong quá khứ. Tôi thấy hai cách tôi đã hack xung quanh này 1) ggplot2 và 2) lấy mẫu từ dữ liệu binned và sau đó rebinning. Tôi rất thích ggplot2 nhưng rebinning là một hack tôi đã nấu chín trước khi khám phá ra ggplot có thể làm được điều này. –

1

Gói HistogramTools mới trên CRAN có một số chức năng hữu ích để thực hiện chính xác việc này. Trong ví dụ của bạn, nếu bạn muốn hợp nhất ba nhóm liền nhau với nhau tại mỗi điểm trong biểu đồ để tạo biểu đồ mới với 1/3 số lượng nhóm, bạn có thể sử dụng hàm MergeBuckets.

install.packages("HistogramTools") 
library(HistogramTools) 
h <- hist(rexp(1000), breaks=60) 
plot(MergeBuckets(h, adj.buckets=3)) 

Ngoài ra, bạn cũng có thể chỉ định một danh sách các breakpoint mới mà bạn muốn một cách rõ ràng, chứ không phải là nói MergeBuckets() để luôn luôn kết hợp cùng một số xô liền kề. enter image description here

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