2016-03-30 12 views
0

ここに私の問題があります。より大きなデータフレームからは、クラスタ分析に必要な変数だけを含むサブセットデータフレームを作成しました。アイリスデータを使用した例については以下を参照してください。 各クラスタグループの平均Petal.Widthを計算したいとします。この変数をクラスタ分析に含めるのではなく、分析自体に影響しないようにするにはどうしたらいいですか?私は単純に2つのdfsをマージすることができますが、(1)この例で使用するID変数がなく、(2)ID変数を持っていても、クラスタ分析には含まれていませんそれは私のクラスターに影響を与えたからです。Rのクラスタ分析のために作成したデータフレームとは別のデータフレームをマージできますか?

data(iris) 
clust<-cbind(iris$Sepal.Length, 
      iris$Sepal.Width, 
      iris$Petal.Length) 
colnames(clust)<-c("sl","sw","pl") 
#Skipped some steps I took in between to omit NA values, scale using z-score, and determine optimum number of clusters 
fit<-kmeans(clust,3) 
aggregate(clust,by=list(fit$cluster),FUN=mean) 
clustdf<-data.frame(clust,fit$cluster) 

答えて

0

元のdfを分割することなく、カラムのサブセットでkmeansを実行することもできます。その後、Petal.Width列をマージすることについて心配する必要はありません。

data(iris) 
    fit <- kmeans(iris[,c("Sepal.Length","Sepal.Width","Petal.Length")],3) 
    aggregate(iris[,c("Sepal.Length","Sepal.Width","Petal.Length","Petal.Width")], 
    by=list(fit$cluster),FUN=mean) 
    clustdf <- data.frame(iris,fit$cluster) 
関連する問題