Анализ k-средних: как преобразовать данные в цифры c? - PullRequest
0 голосов
/ 17 февраля 2020

Я хочу выполнить анализ k-средних в R. Для этого мне нужны цифры c. Я попробовал следующее

unlist(pca)
as.numeric(pca)

lapply(pca,as.numeric(pca))

pca - это просто "нормальные" данные анализа главных компонентов, показанные на графике (с функцией fviz_pca_ind ()).

Кстати, когда я пытаюсь запустить анализ k-средних, он дает мне «объект списка не может быть приведен к типу double». Вот почему я подумал превратить все в цифры c.

Как преобразовать данные pca в цифры c?

Спасибо;)

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

Большинство объектов pca должны возвращать вам список, и вы должны показать, какой пакет или функция используется для выполнения pca, чтобы мы могли видеть, что в списке

Например, если вы используете prcomp , он возвращает список собственных векторов / загрузок ($ вращение) и главных компонентов ($ x). Я полагаю, вы пытаетесь сделать k-средних на основных компонентах, и вы можете сделать это следующим образом:

# perform pca
pca = prcomp(USArrests,scale=TRUE)
# we call out the PCs using pca$x
# and kmeans
kmeans_clus = kmeans(pca$x,3)
## plot 
# define colors
COLS = c("#65587f","#f18867","#e85f99")
plot(pca$x[,1:2],col=COLS[kmeans_clus$cluster],pch=20)
legend("topright",fill=COLS,legend=1:3,horiz=TRUE)

enter image description here

0 голосов
/ 17 февраля 2020

Вы почти правы

lapply(pca,as.numeric)

as.numeric - это функция и, следовательно, объект. Вам нужно передать его в lapply() как объект и, следовательно, без кавычек.

...