Tôi đang cố gắng lấy một vài ô trên biểu đồ chia sẻ một chú giải chung bằng cách sử dụng facet_wrap(). Các ô chứa 4 ước tính mật độ được xây dựng bằng cách sử dụng geom_density(). Đây là một ví dụ tối thiểu về dữ liệu trông như thế nào. Một mật độ được ước tính cho mỗi mức của bộ ước lượng và một lô khác nhau được vẽ cho mỗi giá trị của xp.Nhiều ô có nhiều mật độ trong ggplot2
> esti
estimator value xp
1 OLS Oracle 0.35757317 N= 10 T= 100
2 OLS Oracle 0.50540655 N= 10 T= 100
3 OLS Full 0.02276872 N= 10 T= 100
4 OLS Full 0.53616020 N= 10 T= 100
5 Lasso 0.00000000 N= 10 T= 100
6 Lasso 0.30448578 N= 10 T= 100
7 Adaptive Lasso 0.00000000 N= 10 T= 100
8 Adaptive Lasso 0.49949267 N= 10 T= 100
9 OLS Oracle 0.48392914 N= 10 T= 500
10 OLS Oracle 0.53685915 N= 10 T= 500
11 OLS Full 0.50565482 N= 10 T= 500
12 OLS Full 0.61407003 N= 10 T= 500
13 Lasso 0.38342782 N= 10 T= 500
14 Lasso 0.52012928 N= 10 T= 500
15 Adaptive Lasso 0.47951875 N= 10 T= 500
16 Adaptive Lasso 0.53222172 N= 10 T= 500
tôi có thể xây dựng một cốt truyện với bốn mật độ:
library('ggplot2')
ggplot(data=esti,aes(x=value,colour=estimator)) + geom_density()
Hoặc hai tấm với một mật độ trong mỗi:
ggplot(data=esti,aes(x=value)) + geom_density() +facet_wrap(~xp,scales='free_y')
Tuy nhiên hai cùng không hoạt động và kết quả trong một lỗi:
> ggplot(data=esti,aes(x=value,colour=estimator)) + geom_density() +facet_wrap(~xp,scales='free_y')
Error in UseMethod("scale_dimension") :
no applicable method for 'scale_dimension' applied to an object of class "NULL"
Tôi đã thử các giá trị khác nhau cho quy mô, hoặc bỏ qua nó hoàn toàn, không có may mắn. Tôi đã cố gắng theo dõi đối tượng nào đang được áp dụng cho 'scale_dimension', cũng không có may mắn. Ai có thể khai sáng cho tôi không?
Chỉ cần một đoán, nhưng nó có thể có cái gì để làm với thực tế là bạn đang tính toán mật độ chỉ trên hai giá trị cho mỗi nhóm? Khi tôi tạo một cốt truyện tương tự bằng cách sử dụng một tập dữ liệu lớn hơn, tôi không nhận được lỗi đó. – joran
Cảm ơn bạn đã trả lời rằng đó là vấn đề khi sử dụng 'geom_density()'. Vấn đề vẫn giữ nguyên khi tôi cố gắng sử dụng 'geom_line (stat = 'density')' mặc dù ... –
Nhưng .... vấn đề là như nhau, phải không? Bạn vẫn đang tính toán mật độ chỉ trên hai giá trị. – joran