2016-09-09 7 views
0

나는 Kohonen 패키지를 R에서 사용하여 SOM을 내가 가지고있는 유전체 데이터 세트에 적용했습니다. SOM에는 55 개의 변수가 있습니다. 이 변수에 대한 코드의 하위 집합을 팬 플로트로 표시하려고합니다. 예를 들어, 단지 R의 와인 세트의 타고난를 사용하여 :코드의 자기 조직화 네트워크 부분 집합

library(kohonen) 
data(wines) 
set.seed(7) 

training <- sample(nrow(wines), 120) 
Xtraining <- scale(wines[training, ]) 
Xtest <- scale(wines[-training, ], 
      center = attr(Xtraining, "scaled:center"), 
      scale = attr(Xtraining, "scaled:scale")) 

som.wines <- som(Xtraining, grid = somgrid(5, 5, "hexagonal")) 
plot(som.wines, type="codes") 

이것은 fanplot 각 노드에있는 모든 예측의 무게을 나타내는. 이 사례에서 내가하고 싶은 것은 음모입니다. 단지 마그네슘, 회분, 말산 및 플라보노이드가 팬 플로트에 있습니다.

plot(som.wines, type = "property", property = som.wines$codes[,'magnesium']) 

각 노드에 마그네슘의 무게를 플로팅합니다.

plot(som.wines, type = "property", property =som.wines$codes[,c('magnesium','ash')]) 

같은

이렇게 뭔가 그냥 각 노드에 대한 재 가중치 마그네슘 가중치를 무시합니다.

은 또한 뭔가 같은 :

plot(som.wines, type = "codes", property = som.wines$codes[,c('magnesium','ash')],) 

중 하나가 작동하지 않습니다.

도움이 될 것입니다.

+0

당신은 [재현 예] 어떤 형태의 (http://stackoverflow.com/questions/5963269/how-to-make-a-을 제공해야한다 생산 great-r-reproducible-example)을 실행하여 사용자가보고있는 것을 볼 수 있습니다. 예측 변수의 하위 집합을 선택하는 방법을 설명하십시오. 지금 당장은 어떤 종류의 대답을 찾고 있는지 잘 모르겠습니다. – MrFlick

+0

안녕하세요 MrFlick, 조언 해 주셔서 감사합니다. 더 자세한 설명이 필요한 제 질문을 업데이트했습니다. –

답변

0

글쎄, 우리는

class(som.wines) 
# [1] "kohonen" 

그래서 여기 트리거 년대 플로팅 방법은 kohonen:::plot.kohonen 알고있다. type = "codes"를 설정하면 명령이 kohonen:::plot.kohcodes으로 실행됩니다. 검사를 마치면 전달한 객체의 $codes$grid 속성 만 사용하는 것으로 나타납니다. 이러한 값을 직접 하위 집합으로 지정하려는 경우 안전합니다. 예를 들어

keep <- c("magnesium", "ash", "malic acid", "flavonoids") 
xx <- som.wines 
xx$codes<-xx$codes[,keep] 
plot(xx, type="codes") 

이것은

enter image description here

+0

정확하게 필요한 것. 대단히 감사합니다. –