Tôi đang cố vẽ đồ thị CDF phân phối bằng cách sử dụng R và ggplot2. Tuy nhiên, tôi thấy khó khăn trong việc vẽ sơ đồ hàm CDF sau khi tôi chuyển trục Y để có được một đường thẳng. Loại âm mưu này thường được sử dụng trong các ô giấy Gumbel, nhưng ở đây tôi sẽ sử dụng làm ví dụ phân phối chuẩn.chuyển đổi tỷ lệ ggplot hoạt động khác nhau về các điểm và chức năng
Tôi tạo dữ liệu và vẽ sơ đồ hàm mật độ tích lũy của dữ liệu cùng với hàm. Chúng vừa khít. Tuy nhiên, khi tôi áp dụng phép biến đổi trục Y, chúng không còn phù hợp nữa.
sim <- rnorm(100) #Simulate some data
sim <- sort(sim) #Sort it
cdf <- seq(0,1,length.out=length(sim)) #Compute data CDF
df <- data.frame(x=sim, y=cdf) #Build data.frame
library(scales)
library(ggplot2)
#Now plot!
gg <- ggplot(df, aes(x=x, y=y)) +
geom_point() +
stat_function(fun = pnorm, colour="red")
gg
Và sản lượng nên được một cái gì đó trên dòng: Tốt!
Bây giờ tôi cố gắng chuyển đổi trục Y theo phân phối được sử dụng.
#Apply transformation
gg + scale_y_continuous(trans=probability_trans("norm"))
Những điểm được chuyển một cách chính xác (họ nằm trên một đường thẳng), nhưng chức năng không phải là!
Tuy nhiên, mọi thứ dường như làm việc tốt nếu tôi làm như thế này, việc tính toán CDF với ggplot:
ggplot(data.frame(x=sim), aes(x=x)) +
stat_ecdf(geom = "point") +
stat_function(fun="pnorm", colour="red") +
scale_y_continuous(trans=probability_trans("norm"))
Tại sao điều này xảy ra? Tại sao không tính toán CDF bằng tay với các phép biến đổi tỷ lệ?
Cảm ơn bạn. Bạn có một giả thuyết về lý do tại sao sử dụng 'geom_ecdf()' hoạt động ngay cả khi không có 'inherit.aes'? – AF7
'stat_ecdf' không có cấu trúc thừa kế thẩm mỹ, tùy chọn duy nhất là ghi đè thẩm mỹ lớp bằng cách ghi đè lớp đó. 'stat_function' mặt khác _superimposes_ một hàm trên lớp cốt truyện và' inherit.aes = TRUE' (mặc định) chọn ánh xạ thẩm mỹ từ lớp trên cùng của ô. Điều gì đã cho đi vấn đề thực tế đối với tôi là _superimpose_ trong 'stat_function'.Dường như với tôi rằng 'stat_function' được thiết kế để theo dõi ánh xạ của âm mưu thực tế mà bạn xây dựng (lớp trên cùng) mà không bị ảnh hưởng từ tất cả các thay đổi lớp dưới đối với ánh xạ thẩm mỹ. – Divi