저는 R-bloggers에 대한이 블로그 게시물을 읽고 있었고 코드의 마지막 섹션에 혼란 스럽습니다. 알아낼 수 없습니다.R에서 Kohonen 맵을 플로팅하는 중 오류가 발생 했습니까?
http://www.r-bloggers.com/self-organising-maps-for-customer-segmentation-using-r/
난 내 자신의 데이터와이를 다시 시도했습니다. 2755 포인트의 지수 분포를 따르는 5 개의 변수가 있습니다.
나는 괜찮 오전이 생성하는지도 플롯 할 수 있습니다 :
var <- 1
var_unscaled <- aggregate(as.numeric(training[,var]),by=list(som_model$unit.classif),FUN = mean, simplify=TRUE)[,2]
plot(som_model, type = "property", property=var_unscaled, main = names(training)[var], palette.name=coolBlueHotRed)
로 :
plot(som_model, type="codes")
이해가 안 코드의 섹션이입니다 코드의이 섹션은지도의 변수 중 하나를 어떻게 보이는지 알아보기 위해 변수 중 하나를 플로팅하는 것으로 가정하고 있지만 문제가되는 부분입니다. 나는이 부분의 코드를 실행하면 내가 경고 얻을 :
Warning message:
In bgcolors[!is.na(showcolors)] <- bgcol[showcolors[!is.na(showcolors)]] :
number of items to replace is not a multiple of replacement length
을 그리고 플롯을 생성합니다 그냥 어떻게 제대로 보이지 않습니다
...
이제는 집계 함수가 데이터를 다시 정렬하는 방식에 대해 생각했습니다. var_unscaled의 길이는 789이고 som_model $ data, training [, var] 및 unit.classif의 길이는 모두 길이가 2755입니다. 집계 된 데이터를 플롯했는데 결과는 경고가 아니지만 이해할 수없는 그래프였습니다 (예상대로).
이제 unit.classif에 반복되는 숫자가 많아 크기가 줄어들었기 때문에이 작업이 완료된 것 같습니다.
질문에 대한 경고는 걱정합니까? 정확한 그래프를 생성합니까? plot 명령에서 찾고자하는 "Property"섹션은 정확히 무엇입니까? 데이터를 "집계"할 수있는 다른 방법이 있습니까?
을 플롯 정확하지가 다음 네, 경고에 대해 걱정하는 경우합니다. 실제로 경고를받는 이유는 항상 염려해야합니다. 나는 그것을 완전히 조사하지는 않았지만, 당신은'aggregate'의 끝 부분에 서브 세트가 있음을 발견했습니다. 그게 필요한가요? –
동일한 코드를 실행할 수 있도록 [reproducible example] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)을 제공해야합니다. 같은 오류. 그렇지 않으면 우리는 실제로 데이터가 각각의 객체에 어떻게 저장되는지 또는 plot 문에 어떻게 결합되어야 하는지를 알 수 없습니다. – MrFlick
팔레트'coolBlueHotRed'는 어디에서 왔으며 길이는 얼마입니까? 데이터가 아닌 예제 데이터와 일치하도록 구성 될 수 있습니다. –