Столбец исходных данных возвращает длину как 0 в R - PullRequest
0 голосов
/ 11 апреля 2020

Я работаю в R studio и пытаюсь создать таблицу. Я получаю ошибку «Ошибка в таблице (игроки, классификация fitmod1 $): все аргументы должны иметь одинаковую длину». Когда я проверяю длину моих данных, fitmod1 $ классификация возвращает значение; но игроки возвращают 0. Я понятия не имею, как это исправить.

Player's - качественный столбец данных Hitters в пакете R ISLR. fitmod1 - это модель mclust. Я прилагаю свой код ниже, надеюсь, это поможет! Спасибо ![enter image description here] 1

enter image description here

enter image description here

1 Ответ

0 голосов
/ 11 апреля 2020

Ваша проблема в том, что игроками являются имена строк, а не фактический столбец данных. Поэтому, когда вы задаете для фрейма данных Hitter значение:

players <- Hitters[,0]

, вы в конечном итоге получаете пустой фрейм данных (хотя строки по-прежнему имеют имена, которые вы видите при просмотре в RStudio).

Вместо этого вы хотите получить имена строк и сохранить их как вектор:

players <- row.names(Hitters)

Теперь вы сможете создавать таблицы.

Вот весь код (кстати, нам, сообществу, гораздо проще ответить на ваши вопросы, если вы используете функцию кода в переполнении стека, а не присоединяете png. Таким образом, мы можем копировать и вставьте свой код вместо того, чтобы вводить его вручную):

library(ISLR)
library(mclust)

data(Hitters)
Hitters=Hitters[,c(1:7)]
Hitters<-na.omit(Hitters)

players <- row.names(Hitters)
fitmod1<-Mclust(Hitters, G=3, modelNames=c("VEE"))
table(players, fitmod1$classification)
...