Създайте многовариантна графика на подобие

Опитвам се да науча и внедря спектрално клъстериране върху многовариантен набор от данни в R. Имам 9 независими променливи и 1 зависима променлива, която е двоична.

Като първа стъпка към спектралното групиране, от мен се изисква да създам графика от дадения набор от данни (имам около 1000 наблюдения). Тъй като тепърва започвам, всъщност не ме интересува методът, използван за създаване на графиката, но ще бъде по-добре, ако използва k-най-близки съседи.

Попаднах на функция nng в пакета cccd, която създава графиката. Използвах следното:

knnGraph<-nng(as.matrix(data[2:10]),k=3)

Това работи добре, с изключение на това, че когато се опитам да визуализирам графиката с помощта на plot(knnGraph), получавам следната грешка:

Error in layout.norm(layout, -1, 1, -1, 1) : 
  `layout' should have 2 or three columns

Не съм сигурен как да продължа, всяка помощ ще бъде много оценена. Също така се опитах да намеря урок стъпка по стъпка за прилагане на спектрално клъстериране в R, но не можах да го намеря. Всички указатели към такъв ресурс също ще бъдат много оценени.


person Patthebug    schedule 07.05.2014    source източник


Отговори (1)


Изглежда, че nng иска поне двуизмерна матрица. Този пример изглеждаше изпълнен

library(cccd)
data<-runif(50)
knnGraph<-nng(matrix(data[2:10], ncol=2),k=3)
plot(knnGraph)

Обърнете внимание, че промених as.matrix на matrix и добавих nol=2, за да му дам второ измерение. Никога преди не съм използвал тази функция, нито този пакет, така че нямам представа какво наистина иска в този параметър, но изглежда, че матрицата 9x1, върната от as.matrix(data[2:10]), нямаше да го отреже.

person MrFlick    schedule 07.05.2014
comment
Благодаря за отговора ви, но изглежда не работи с моя набор от данни. Вашият data има 50 елемента (всички принадлежащи към 1 променлива), докато моят data е рамка с данни с 10 променливи. С други думи моят ncol вече е 9, което е причината за този проблем. Все още получавам същата грешка. - person Patthebug; 08.05.2014
comment
Е, данните със сигурност ми изглеждаха като вектор. Ето защо винаги е полезно да предоставите примерни данни, когато публикувате въпрос. Както и да е, изглежда, че функцията харесва само матрици с 2 или 3 колони. Така че може би предавате грешен тип данни. Документацията не е толкова описателна. Може би можете да се консултирате с препратката, която предоставят, за да видите дали методът работи с по-високи измерения: D.J. Marchette, Случайни графики за разпознаване на статистически модели, John Wiley & Sons, 2004. - person MrFlick; 08.05.2014