0
Я пытаюсь получить несколько участков с LDA классификатора я обученным по некоторым данным, но я получаю странное сообщение об ошибке:загадочный 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"
Между тем, использование разделителя пробелов разбивает поэтапный LDA из пакета 'klaR' ... –
Вы не хотите места в именах столбцов. Такие имена не являются синтаксически действительными и часто нуждаются в особом лечении. Если 'plot.lda()' действительно не нравится '.' (я бы подумал об ошибке), попробуйте использовать' _' или ничего. – Roland
Я понял, как много, поэтому я сбросил пробелы. Кажется странным, что 'paste' будет по умолчанию' sep = "" ', хотя в свете всего этого (я использую его для обозначения столбцов с последовательностями). –