Поэтому я работал над точечной диаграммой для некоторых данных, которые у меня есть. Раньше я мог заставить работать точечную диаграмму, но теперь я не могу и не понимаю, в чем моя ошибка. Мои данные выглядят как 5 значений и столбец, который присваивает каждому кластеру (в этом конкретном случае я использовал k-means).
closedmi uncertin certknow sourknow justknow fit3.cluster
1 3.166667 6.125 2.571429 4.500 3.375 1
2 3.666667 4.250 3.428571 4.000 4.750 2
3 1.833333 5.750 1.428571 3.375 2.125 2
4 3.500000 4.500 1.857143 4.250 3.125 3
Я пытаюсь построить свои данные в трех измерениях, используя первые три основных компонента, и увидеть кластеры. Вот мой код для поиска основных компонентов, а затем присоединения столбца кластера к основным компонентам в новый фрейм данных.
#Find the 5 principal components of the data matrix
pcdf <- princomp(pre2, cor=T, score=T)
pre4 <- data.frame(pcdf$scores, cluster=fit3$cluster)
#Making a 3D plot of the Solution
scatter3d(pre4$Comp.1, pre4$Comp.2, pre4$Comp.3, groups=pre4$cluster,
surface=FALSE, grid=FALSE, ellipsoid=TRUE)
Затем попробуйте использовать scatter3d для построения графика отдельных лиц, используя столбец кластера в качестве фактора группировки, и я получаю ошибку. Я использовал этот источник для кода, чтобы получить правильный синтаксис, но я все равно получаю ошибку.
Ошибка в scatter3d.default(pre4$Comp.1, pre4$Comp.2, pre4$Comp.3, groups = pre4$cluster: переменная groups должна быть фактором
но это. Это во фрейме данных, я могу вызвать столбец, используя pre4$cluster. Есть ли какая-то ошибка форматирования или синтаксиса, которую я не вижу? Я просто схожу с ума?
Я смог заставить это работать только на прошлой неделе, и теперь я не могу. Я знаю, что могу использовать plot3d для получения визуализации, но мне больше нравится визуализация с использованием scatter3d, и я хотел бы иметь возможность ее использовать.
pre4$cluster <- as.factor(pre4$cluster)
? Каков результатclass(pre4$cluster)
? - person RHertel   schedule 18.05.2016as.factor(pre4$cluster)
это то, что мне было нужно. Выводclass(pre4$cluster)
является символом, поэтому понятно, почему функция не работала. - person Katherine Ehlert   schedule 23.05.2016