Saya perlu menghitung fungsi distribusi kumulatif dari sampel data.
Apakah ada sesuatu yang mirip dengan hist () dalam R yang mengukur fungsi kepadatan kumulatif?
Saya sudah mencoba ecdf () tetapi saya tidak dapat memahami logikanya.
r
distributions
cdf
emanuele
sumber
sumber
x
tulis sajaP(x)
. Catatan yangx
bisa menjadi vektor (lihat beberapa kalimat terakhir dari jawaban saya.)Apa yang Anda tampaknya perlu adalah ini untuk mendapatkan distribusi terakumulasi (probabilitas mendapatkan nilai <= daripada x pada sampel), ecdf mengembalikan Anda fungsi, tetapi tampaknya dibuat untuk memplot, dan argumen dari fungsi itu , jika itu adalah tangga, akan menjadi indeks tapak.
Anda bisa menggunakan ini:
Sayangnya penggunaan fungsi ini tidak terlalu cepat. Saya tidak tahu jika R memiliki fungsi yang mengembalikan fungsi Anda, itu akan lebih efisien.
sumber
R
memang, menghitung ECDF: argumennya adalah nilai potensial dari variabel acak dan mengembalikan nilai dalam interval . Ini sudah diperiksa. Misalnya, kembali . Kebalikan umum dari ECDF adalah fungsi kuantil, diimplementasikan oleh dalam .ecdf(c(-1,0,3,9))(8)
0.75
quantile
R
Saya selalu merasa
ecdf()
sedikit membingungkan. Ditambah lagi, saya pikir itu hanya berfungsi dalam kasus univariat. Akhirnya menggulung fungsi saya sendiri untuk ini sebagai gantinya.Pertama instal data.table . Kemudian instal paket saya, mltools (atau salin saja metode empirical_cdf () ke lingkungan R. Anda.)
Maka semudah itu
CDF suatu vektor
CDF kolom 'x' dari dt
CDF kolom 'x' dan 'y' dari dt
sumber
teman, Anda dapat membaca kode di blog ini.
lebih detail dapat ditemukan di tautan berikut:
r cdf dan histogram
sumber