如何在R中的两个连续变量之间找到有意义的边界

如何在R中的两个连续变量之间找到有意义的边界,r,knn,lda,kruskal-wallis,pairwise.wilcox.test,R,Knn,Lda,Kruskal Wallis,Pairwise.wilcox.test,为了找到iris数据集的两列之间的关系,我正在执行kruskal.test,p.value显示这两列之间有意义的关系 data(iris) kruskal.test(iris$Petal.Length, iris$Sepal.Width) 结果如下: Kruskal-Wallis rank sum test data: iris$Petal.Length and iris$Sepal.Width Kruskal-Wallis chi-squared = 41.827, df = 2

为了找到iris数据集的两列之间的关系,我正在执行kruskal.test,p.value显示这两列之间有意义的关系

data(iris)
kruskal.test(iris$Petal.Length, iris$Sepal.Width)
结果如下:

    Kruskal-Wallis rank sum test

data:  iris$Petal.Length and iris$Sepal.Width
Kruskal-Wallis chi-squared = 41.827, df = 22, p-value = 0.00656
散点图也显示了某种关系。
plot(iris$Petal.Length,iris$Petal.Width)

为了找到这两个变量的有意义的边界,我运行了
pairwise.wilcox.test
test,但是为了让这个测试起作用,其中一个变量需要是分类的。如果我将两个连续变量都传递给它,那么结果就不符合预期

pairwise.wilcox.test(x = iris$Petal.Length, g = iris$Petal.Width, p.adjust.method = "BH")
作为一个输出,我需要一个明确的切点,这两个变量在哪里有某种关系,这种关系在哪里结束(如上图中的红线所示)

我不确定是否有任何统计测试或其他编程技术可以找到这些边界

e、 g.我可以手动这样做来标记边界-

setDT(iris)[, relationship := ifelse(Petal.Length > 3 & Sepal.Width < 3.5, 1, 0)]
setDT(iris)[,关系:=ifelse(花瓣长度>3&萼片宽度<3.5,1,0)]
但是,在R中有没有一种编程技术或库可以找到这样的边界

需要注意的是,我的实际数据是有偏差的

谢谢,
索拉布

世上没有比最好的分裂更好的东西。在您指定的某些条件/标准下,它可能是最好的

我想你期待第二个情节,虽然我也在你有一行的地方加了第一个。采用线性判别分析。 然而,这是监督学习,因为我们有物种专栏。所以你可能对无监督的方法感兴趣,比如K-最近邻和它们的边界-然后检查这个

数据(iris)
图书馆(弥撒)
绘图(iris$Petal.Length,iris$Petal.Width,col=iris$Species)
#构建模型

mdl这似乎不是一个适用于堆栈溢出的特定编程问题。如果你寻求统计方法的建议,那么你应该在上问这样的问题。你更有可能在那里得到更好的答案。堆栈上的LDAAD示例添加此示例以供无监督使用,感谢您的回答。我的问题不是关于数据的视觉/图形分割,而是关于最好分割数据的最佳分割点。LDA模型确实提出了这些分割点,但对于倾斜数据来说,它并不完美。KNN可能是一个更好的解决方案或具有特定核的SVM。没有什么比这更好的了。在您指定的某些条件/标准下,它可能是最好的。