我很难绘制kde.local.test
函数(来自R的ks
包)的结果,以二维核密度估计法测试两个样本之间的核密度局部差异。
我准备了两个例子。示例1有效,示例2无效。为什么?
示例1:不起作用
data("iris")
dat <- iris[order(iris$Sepal.Width, iris$Sepal.Length),]
x1 <- iris[1:75,c("Sepal.Length", "Sepal.Width")]
x2 <- iris[76:150,c("Sepal.Length", "Sepal.Width")]
H1samse <- Hpi(x1, pre = "scale", nstage = 2, pilot = "samse")
H2samse <- Hpi(x2, pre = "scale", nstage = 2, pilot = "samse")
loct <- kde.local.test(x1,x2, H1 = H1samse, H2 = H2samse)
plot(loct)
导致以下错误:
Error in .filled.contour(fhat$eval.points[[1]], fhat$eval.points[[2]], :
invalid contour values: have to increase strictly monotonously
示例2:工作正常
data("crabs")
x1 <- crabs[crabs$sex=="M", c("FL", "RW")]
x2 <- crabs[crabs$sex=="F", c("FL", "RW")]
H1samse <- Hpi(x1, pre = "sphere", nstage = 2, pilot = "samse")
H2samse <- Hpi(x2, pre = "sphere", nstage = 2, pilot = "samse")
loct <- kde.local.test(x1,x2, H1 = H1samse, H2 = H2samse)
plot(loct)
H1scv<- Hscv(x1)
H2scv <- Hscv(x2)
loct <- kde.local.test(x1,x2, H1 = H1scv, H2 = H2scv)
plot(loct)