2016-04-26 12 views
0

私はcentroid<-c(-0.0160560385542169, -0.0125691807228916, -0.000605079518072289, -0.00174781445783133, -0.0199511518072289)として与えられた5次元の空間の重心を持っています。私はまた、PCA1:PCA5がそれらのサンプルの点の5次元を表す5つのサンプルを有する行列を有する。これらのサンプルの重心からユークリッド距離をどのようにして計算できますか?ある点から別の点までの距離であれば、単純にdist(mymat[,-1])を実行することができましたが、重心からの距離をどのように得ることができるかわかりません。誰かがお勧めしますか?重心から多次元空間内の点の距離を計算するにはどうすればよいですか

mymat<- structure(c("10687:G41F", "10687:SKDP-225.3", "10687:2671", "10687:LPH-001-16_SCC", 
"10687:MC1R-694CB-T", "-0.0039950", "-0.0203415", "-0.0200395", 
"-0.0147320", "-0.0196970", "-0.0140180", "-0.0181240", "-0.0165090", 
"-0.0148700", "-0.0170765", "-0.0136615", "-0.0010915", "-0.0014500", 
" 0.0020240", "-0.0021095", "-0.0002395", "-0.0019710", "-0.0017595", 
" 0.0036180", "-0.0036255", "-0.0184015", "-0.0197400", "-0.0238185", 
"-0.0282375", "-0.0323130"), .Dim = 5:6, .Dimnames = list(c("1", 
"2", "3", "4", "5"), c("samples", "PCA1", "PCA2", "PCA3", 
"PCA4", "PCA5"))) 

答えて

2

distが、それはスペース(私が何をしたい何か)の重心からこれらの点の距離が異なるない

centroid <- c(-0.0160560385542169, -0.0125691807228916, -0.000605079518072289, 
-0.00174781445783133, -0.0199511518072289) 
rbind(c("centroid", centroid), mymat) -> k 
dist(k, "euclidean") -> dd 
as.matrix(dd) -> dd 
k[,1] -> rownames(dd) 
as.data.frame(dd) 
dd[2:6,1] -> dist_to_centroid 
View(as.data.frame(dist_to_centroid)) 
+0

です...あなたが欲しいしかし、多くの次元に一般化する必要がありますか? – MAPK

+0

あなたのコードは、ある点から別の点までの距離を示します。一方、私は重心からこれらの点の距離が必要です。申し訳ありません、私はあなたがしたことと混同しています。 – MAPK

+0

これらの点のそれぞれから重心までの距離を知りたいですか?その場合、私が与えたコードは正しいはずです。私はあなたが指している代替の質問を理解していない。 – Chris

関連する問題