Plot kepadatan kernel 2D dari kerangka data: tetapkan jumlah posisi grid, bandwidth dan batasan

masukkan deskripsi gambar di siniSaya memiliki kerangka data dua kolom, yang masing-masing menampilkan koordinat "x" dan "y" saya . Saya ingin memplotnya dalam plot kepadatan kernel 2D. Saya memiliki 91 poin. Oleh karena itu saya telah menggunakan skrip ini:

x<-read.csv("X_Y.csv", sep=",")
d<-as.matrix(x)
Dgeo<-d[,1]
Dgen<-d[,2] 
dens <- kde2d(Dgeo,Dgen, n=?, lims=c(?,?,?,?))
myPal <- colorRampPalette(c("white","blue","gold", "orange", "red"))
plot(Dgeo, Dgen, pch=20,cex=.5)
image(dens, col=transp(myPal(300),.7), add=TRUE) 
abline(lm(Dgen~Dgeo)) 

Saya tidak mengerti bagaimana saya bisa memperkirakan nilai yang saya tunjukkan sebagai "?".

Apakah kamu punya ide?

Pada gambar ditunjukkan apa yang ingin saya peroleh dan di sebelah kanan apa yang sebenarnya saya peroleh dengan menggunakan n=91 dan lims=c(-.1, 1.5,-.5,4).


person CafféSospeso    schedule 17.06.2015    source sumber
comment
Mengapa Anda memperkirakan batasannya? Apakah ada yang salah dengan default rentang x dan y? Untuk jumlah titik grid tergantung pada kedalaman dan kepadatan data. Saya biasanya hanya mencoba beberapa nilai sampai saya mendapatkan nilai yang memberi saya gambaran yang baik tentang datanya.   -  person cr1msonB1ade    schedule 17.06.2015
comment
Sebenarnya ini adalah script yang saya temukan di tutorial 3 Pengenalan Adegenet, untuk bagian isolasi berdasarkan jarak. Saya akan memposting gambar apa yang akan saya peroleh.   -  person CafféSospeso    schedule 18.06.2015


Jawaban (1)


Anda bisa melakukannya

library(MASS)
set.seed(0)
dat <- data.frame(x=rnorm(100), y=rnorm(100, 2))
dens <- kde2d(dat$x, dat$y)
image(dens)
contour(dens, add=T)

masukkan deskripsi gambar di sini

Tidak yakin di mana fungsi transp untuk warna

person Rorschach    schedule 17.06.2015