Những cách tốt để vẽ đồ thị phân phối theo thời gian sử dụng R là gì?


8

Tôi có ~ 400 cá nhân và> 10 nghìn đồng hồ mỗi (kết quả mô phỏng) tôi muốn có thể theo dõi khi chúng thay đổi theo thời gian. Vẽ sơ đồ tất cả các cá nhân là quá lộn xộn, âm mưu trung bình + -sd, min / max hoặc quantiles là quá ít thông tin cho sở thích của tôi. Tôi tự hỏi những gì người khác đã đưa ra để hình dung loại dữ liệu này. Nếu có ít điểm dữ liệu hơn, tôi sẽ sử dụng beanplots cho mỗi mốc thời gian, nhưng điều đó sẽ không hoạt động đối với rất nhiều điểm thời gian.


Bạn đang tìm cách kiểm tra các biện pháp lặp đi lặp lại (phân phối các giá trị trong cụm cấp độ người) hoặc kết quả của bảng điều khiển (chức năng của biến phản ứng trong người theo thời gian) hoặc bạn chỉ xem xét kết quả như một chức năng của thời gian? Các ô đậu (hoặc các ô vĩ cầm) bỏ qua việc phân cụm, nhưng có thể được sử dụng để hình dung các quan sát rời rạc theo thời gian. Bạn đã xem xét các chất làm mịn phổ biến như LOESS hoặc làm mịn splines chưa?
AdamO

@AdamO Tôi chỉ muốn thấy phân phối kết quả theo thời gian. Tôi quan tâm đến việc phân phối thống kê cấp độ cá nhân ("cấp độ hoạt động") thay đổi như thế nào khi xem mạng lưới các cá nhân. Mỗi cá nhân tương tác với một tập hợp con khác, điều này cũng thay đổi theo thời gian.
Sống

Máy làm mịn có khả năng làm điều đó. Đây không phải là một âm mưu spaghetti cho thấy các số liệu thống kê riêng lẻ, nhưng bạn có thể hình dung một xu hướng trung bình theo thời gian.
AdamO

@AdamO Tôi không hiểu đề xuất làm mịn vì tôi chỉ có thể vẽ biểu đồ trung bình ở mỗi dấu thời gian để thấy điều đó.
Sống

1
@Glen_b Tôi sẽ chỉ tính toán lượng tử ở mỗi mốc thời gian và tạo ra một khoảng thời gian trong số đó thay vì sử dụng các ô vuông, tôi hy vọng sẽ thấy các phân phối phức tạp.
Sống động

Câu trả lời:


1

Tôi sẽ sử dụng một cách mượt mà hơn, chẳng hạn như:

geom_smooth(method='loess')

hoặc tôi sẽ lấy mẫu dữ liệu của bạn và chỉ vẽ mỗi 5 cá nhân và cứ sau 10 bước (ví dụ).

library(ggplot2)    
# Data looks like:
#   Subject   Timestep  Y
#   1         1         0.5
#   1         2         0.6    
#   1         3         0.6
#   1         4         0.7
temp=subset(data, ((as.numeric(subject)%%5)==0) & ((as.numeric(Timestep)%%10)==0))
qplot(Timestep,Y,data=temp)

hoặc cả hai.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.