พล็อตความหนาแน่นเคอร์เนล 2D จากดาต้าเฟรม: กำหนดจำนวนตำแหน่งกริด แบนด์วิธและลิม

enter image description hereฉันมี dataframe ของสอง columuns นำเสนอ rappresenting ตามลำดับพิกัด "x" และ "y" ของฉัน . ฉันต้องการพล็อตพวกมันในพล็อตความหนาแน่นของเคอร์เนล 2 มิติ ฉันมี 91 คะแนน ดังนั้นฉันจึงใช้สคริปต์นี้:

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)) 

ฉันไม่เข้าใจว่าจะประมาณค่าที่ฉันระบุเป็น "?" ได้อย่างไร

คุณมีความคิดบ้างไหม?

ในภาพคือสิ่งที่ผมอยากได้ และทางขวาคือสิ่งที่ผมได้จริงโดยใช้ n=91 และ lims=c(-.1, 1.5,-.5,4)


person CafféSospeso    schedule 17.06.2015    source แหล่งที่มา
comment
เหตุใดคุณจึงประมาณขีดจำกัด? มีอะไรผิดปกติกับค่าเริ่มต้นของช่วง x และ y หรือไม่? สำหรับจำนวนจุดกริดนั้นขึ้นอยู่กับความลึกและความหนาแน่นของข้อมูล ฉันมักจะลองใช้ค่าสองสามค่าจนกว่าฉันจะได้ค่าที่ทำให้ฉันเข้าใจข้อมูลได้ดี   -  person cr1msonB1ade    schedule 17.06.2015
comment
จริงๆ แล้ว นี่คือสคริปต์ที่ฉันพบในบทช่วยสอนที่ 3 ของ Introduction to adegenet สำหรับการแยกส่วนตามระยะทาง ฉันจะลงรูปสิ่งที่ฉันจะได้รับ   -  person CafféSospeso    schedule 18.06.2015


คำตอบ (1)


คุณก็สามารถทำได้

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)

ป้อนคำอธิบายรูปภาพที่นี่

ไม่แน่ใจว่าฟังก์ชัน transp ใช้สำหรับสีอยู่ที่ไหน

person Rorschach    schedule 17.06.2015