2012-04-17 3 views
1

나는 1000 번 무작위화한 후 내 데이터에 최종 트리가 생길 수 있도록 내 데이터 행렬을 1000 번 순열시키고 "R"에서 계층 적 클러스터링을 수행하려고합니다. 이것은 내가 잃어버린 곳입니다. 마지막 나무가 루프에서 계산 된 1000 randomizations하거나 마지막 트리 후 제품의 경우 나는 확실하지 않다이 루프무작위 화 및 계층 적 트리

for(i in 1:1000) 
    { 
    permuted <- test2_matrix[,sample(ncol(test2_matrix), 12, replace=TRUE)]; (this permutes my columns) 
    d = dist(permuted, method = "euclidean", diag = FALSE, upper = FALSE, p = 2); 
    clust = hclust(d, method = "complete", members=NULL); 
    } 
    png (filename="cluster_dendrogram_bootstrap.png", width=1024, height=1024, pointsize=10) 
    plot(clust) 

있습니다. 또한 트리에 부트 스트랩 값을 표시하려면 어떻게해야합니까?

많은 감사합니다.

답변

1

예제에서 clust의 값은 실제로 루프에서 계산 된 최종 트리입니다. 여기 만들고 귀하의 질문의 두 번째 부분은 here 대답해야

make.permuted.clust <- function(i){ # this argument is not used 
    permuted <- data.matrix[,sample(ncol(data.matrix), 12, replace=TRUE)] 
    d <- dist(permuted, method = "euclidean", diag = FALSE, upper = FALSE, p = 2) 
    clust <- hclust(d, method = "complete", members=NULL) 
    clust # return value 
} 

all.clust <- lapply(1:1000, make.permuted.clust) # 1000 hclust trees 

당신 행렬의 1000 순열을 저장하는 방법이있다.

+0

하는 그 날이 오류를주는 오류를 match.fun에 (FUN) : 'make.permuted.clust (test2_matrix는)'기능, 문자 또는 기호 아니다 – DianaHelen

+0

죄송합니다. lapply의 함수에 인수가 없어야합니다. 이제 해결되었습니다. –

+0

도움을 주셔서 대단히 감사드립니다! – DianaHelen