【发布时间】:2014-07-07 16:05:28
【问题描述】:
我无法在线性判别函数分析 (DFA) 中对新案例进行分类 - 特别是根据原始变量计算每个新测试案例的判别函数值,因此我可以绘制并覆盖训练数据中的点。
对于我的训练数据框ref,我使用z <-lda(ref$species ~ ref$v1 + ref$v2 + ref$v3 ...etc... + ref$v14) 对包含 895 行和 14 个测量变量的数据集执行了线性 DFA,我得到了 7 个 LD 函数。然后我使用predict通过z1 <-predict(z)$x获得判别函数轴上895个人中每一个人的判别函数分数
现在我想使用前两个判别函数对数千个新案例进行分类(假设它在一个简短的示例文件中有三行)。我将一个新文件 test 调用到 R 中,它具有与 ref 中的名称相同的向量(原始测量值)然后我调用 z2 <- predict(z, test) 但收到一条警告消息:
"警告消息:'newdata' 有 3 行,但找到的变量有 895 行"
我怎样才能简单地将具有这些分数的新向量附加到我的测试数据框test?或者至少生成这些分数的矩阵。
尽管阅读并尝试了这两个不错的网站:here 和 here,但我还是没有设法解决问题。对于第二个链接,滚动到“判别函数的载荷”。
当然这是我缺少的一些简单的东西......也许ref 和 test 数据帧不匹配......
【问题讨论】:
标签: r statistics classification