R 计算新测试数据中每行的线性判别分类函数分数

R 计算新测试数据中每行的线性判别分类函数分数,r,statistics,classification,R,Statistics,Classification,在线性判别函数分析(DFA)中,我很难对新案例进行分类——特别是从原始变量计算每个新测试案例的判别函数值,这样我就可以绘制并覆盖来自训练数据的点 对于我的训练数据帧ref,我对一个数据集执行了线性DFA,该数据集有895行,14个测量变量使用z,使用您列出的第二个网站的样本数据,我能够运行 wine <- read.table("http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data", sep=","

在线性判别函数分析(DFA)中,我很难对新案例进行分类——特别是从原始变量计算每个新测试案例的判别函数值,这样我就可以绘制并覆盖来自训练数据的点


对于我的训练数据帧
ref
,我对一个数据集执行了线性DFA,该数据集有895行,14个测量变量使用
z,使用您列出的第二个网站的样本数据,我能够运行

wine <- read.table("http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data", sep=",")
wine.lda <- lda(V1 ~ V2 + V3 + V4 + V5 + V6 + V7 +
    V8 + V9 + V10 + V11 + V12 + V13 + V14, wine)

#create "new" data                                
ss<-aggregate(.~V1, wine, mean)[-1]

#predict on new data
predict(wine.lda, ss)

而且很可能lda模型中的所有术语都有“ref$”部分,因此它们与新数据不匹配。我不知道为什么他们在指南上有这么糟糕的公式符号的例子。我建议像上面那样做。从每个术语中去掉data.frame名称,并提供data.frame作为第二个参数。这将使名称与新数据匹配成为可能。

非常感谢@MrFlick,使用
attr()
我能够找出发生了什么,并相应地进行了修复。谢谢你费心回复,现在就好好地哼唱吧。
attr(wine.lda$terms,"term.labels") == names(ss)