gpt4 book ai didi

R:partimat 函数无法识别我的类(class)

转载 作者:行者123 更新时间:2023-12-04 05:41:08 29 4
gpt4 key购买 nike

我是一个相对新手的 r 用户,正在尝试使用 klaR 包中的 partimat() 函数来绘制决策边界以进行线性判别分析,但我一直遇到同样的错误。我已经尝试根据手册以多种不同的方式输入参数,但不断收到以下错误:

partimat.default(x, grouping, ...) 中的错误:
至少需要两门课

这是我给出的输入示例:

partimat(sources1[,c(3:19)],grouping=sources1[,2],method="lda",prec=100)



我的数据表以名称“sources1”加载,第 3 到 19 列包含解释变量,第 2 列包含类。我也试过通过输入公式来做到这一点:

partimat(sources1$group~sources1$tio2+sources1$v+sources1$cr+sources1$co+sources1$ni+sources1$rb+sources1$sr+sources1$y+sources1$zr+sources1$nb+sources1$la+sources1$gd+sources1$yb+sources1$hf+sources1$ta+sources1$th+sources1$u,data=sources1)



这些是列标题。

我已经成功地在同一个数据集上运行了 LDA,没有问题,所以我不太确定出了什么问题。

最佳答案

来自partimat.default函数的源代码getAnywhere(partimat.default)它指出

if (nlevels(grouping) < 2) 
stop("at least two classes required")

因此,您可能尚未将分组列定义为因子变量。如果你尝试 summary(sources1[,2])你得到了什么?如果这不是一个因素,请尝试
sources1[,2] <- as.factor(sources1[,2])

或者在方法 2 中尝试删除 "sources1$"在公式中的每个变量名称上,当您在 data 中指定要在其中查找这些变量名称的数据框时争论。我认为您有效地指定了数据框两次,例如,它可能正在寻找
"sources1$sources1$groups"

而不是
"sources1$groups"

如果没有进一步的错误消息或可重现的示例(即在您的帖子中包含一些数据),真的很难说。

高温高压

关于R:partimat 函数无法识别我的类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11230953/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com