我正在尝试获取一些我在某些数据上训练过的LDA分类器的图表,但是却遇到了一个奇怪的错误:
> plot(CSP.reduced.LDA)
Error in terms.formula(formula, data = data) :
duplicated name 'CSP.1' in data frame using '.'
我不确定这将是一个最小的工作示例,但是我可以总结一下数据是什么样的:
> summary(CSP.by.trial[[subject.ind]])
CSP.1 CSP.2 CSP.3 CSP.4 targets
Min. :1.206 Min. :1.780 Min. :0.0864 Min. :2.714 0:140
1st Qu.:1.407 1st Qu.:3.398 1st Qu.:0.2300 1st Qu.:3.205 1:140
Median :1.470 Median :3.784 Median :0.3044 Median :3.428
Mean :1.477 Mean :3.804 Mean :0.3247 Mean :3.500
3rd Qu.:1.546 3rd Qu.:4.218 3rd Qu.:0.3986 3rd Qu.:3.723
Max. :1.762 Max. :5.454 Max. :0.9466 Max. :5.142
> CSP.reduced.LDA$terms
CSP.by.trial$targets ~ CSP.1 + CSP.2 + CSP.3 + CSP.4
attr(,"variables")
list(CSP.by.trial$targets, CSP.1, CSP.2, CSP.3, CSP.4)
attr(,"factors")
CSP.1 CSP.2 CSP.3 CSP.4
CSP.by.trial$targets 0 0 0 0
CSP.1 1 0 0 0
CSP.2 0 1 0 0
CSP.3 0 0 1 0
CSP.4 0 0 0 1
attr(,"term.labels")
[1] "CSP.1" "CSP.2" "CSP.3" "CSP.4"
attr(,"order")
[1] 1 1 1 1
attr(,"intercept")
[1] 1
attr(,"response")
[1] 1
attr(,".Environment")
<environment: R_GlobalEnv>
attr(,"predvars")
list(CSP.by.trial$targets, CSP.1, CSP.2, CSP.3, CSP.4)
attr(,"dataClasses")
CSP.by.trial$targets CSP.1 CSP.2
"factor" "numeric" "numeric"
CSP.3 CSP.4
"numeric" "numeric"
等一下,我知道了。plot.lda()
从MASS软件包看来.
,列名称中的s是令人窒息的。用空格字符代替它们可以修复该问题。不过,不知道为什么它不会中断lda()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句