Ошибка в суперсоме (list (X), ...): отсутствует аргумент "X", по умолчанию в функции som пакета kohonen нет значения - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь применить функцию som в пакете kohonen (вывести SOM) и получаю следующую ошибку:

Ошибка в суперсоме (list (X), ...): аргумент " X "отсутствует без значения по умолчанию.

Код, который я пытаюсь применить, выглядит следующим образом:

...

load("somInput.rdata")

...

aGrid <- somgrid(xdim = 160, ydim = 100, topo="hexagonal")
data <- as.matrix(scale(na.omit(usa.bg.som[,1:7])))
aSom <- som(data=data, grid=aGrid, rlen=1, alpha=c(0.05, 0.01), keep.data=FALSE)

После последней строки выше я получаю сообщение об ошибке.

Может кто-нибудь устранить ошибку? Помощь уважается.

Полный код:

##CODE FOR BRUNDSON AND SINGLETON BOOK CHAPTER.



##LIBRARIES

library(kohonen)



##Code for Plots

source("somComponentPlanePlottingFunction.R")

#source("Map_COUNTY_BMU.R")

source("plotUMatrix.R")





#Load Data

##DATA FOR ALL BLOCKGROUPS IN THE US

##SOURCE ACS 2006-2010 AND CENSUS 2010

load("somInput.rdata")



#Build SOM

aGrid <- somgrid(xdim = 160, ydim = 100, topo="hexagonal")



##NEXT LINE IS SLOW!!!

##Rlen is arbitrarily low

data <- as.matrix(scale(na.omit(usa.bg.som[,1:7])))

aSom <- som(data=data, grid=aGrid, rlen=1, alpha=c(0.05, 0.01), keep.data=FALSE)



##VISUALIZE RESULTS

##COMPONENT PLANES

dev.off()

par(mar = rep(1, 4))

cplanelay <- layout(matrix(1:8, nrow=4))

vars <- colnames(aSom$data[[1]])

for(p in vars) {

  plotCplane(som_obj=aSom, variable=p, legend=FALSE, type="Quantile")

}

plot(0, 0, type = "n", axes = FALSE, xlim=c(0, 1), 

     ylim=c(0, 1), xlab="", ylab= "")

par(mar = c(0, 0, 0, 6))

image.plot(legend.only=TRUE, col=rev(designer.colors(n=50, col=brewer.pal(9, "Spectral"))), zlim=c(-1.5,1.5))

##END PLOT



##PLOT U-MATRIX

dev.off()

plotUmat(aSom)

Полный код можно получить по адресу:

https://github.com/geoss/som_visualization_r/blob/master/Example.R

Другие необходимые файлы могут быть просмотрены и извлечены из:

https://github.com/geoss/som_visualization_r

Вопрос о том, как построить шестиугольник в SOM в R:

R пакет Кохонена - как построить шестиугольники вместо кругов, как в наборе инструментов Matlab SOM?

1 Ответ

0 голосов
/ 30 марта 2020

Изменение

som(data=data, ...)

на:

som(data, ...)

решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...