-1
私はすべての項目がゼロである特異値分解10x10の単純な行列に取り組んでいます。私はこの行列にコインフリップを加えてSVDを実行したいと思います。コードは以下の通りです:getMatrixで 範囲外の添え字エラー
エラー[I、]:私はRでプログラムを実行すると
# Simple Example
set.seed(1234)
par(mar=rep(0.2,4))
dataMatrix = matrix(rnorm(100), nrow=10)
dataMatrix
getMatrix = dataMatrix*0
getMatrix
svd1 = svd(getMatrix)
svd1
par(mfrow=c(1,5))
image(t(getMatrix)[,nrow(getMatrix):1], col='blue')
plot(svd1$d,xlab='Column',ylab='Singular Values', pch=19, col='red')
## Add a pattern to the data set , flipping a coin
set.seed(78910)
for (i in 1:40){
coinFlip1 = rbinom(1,size=1, prob=0.5)
coinFlip2 = rbinom(1,size=1,prob=0.5)
if (coinFlip1){
getMatrix[i,]=getMatrix[i,]+rep(c(0,5),each=5)
}
if (coinFlip2){
getMatrix[i,]=getMatrix[i,]+rep(c(0,5),each=5)
}
}
hh = hclust(dist(getMatrix))
getMatrixOrdered= getMatrix[hh$order,]
、それは私に、以下のエラー与え範囲外の添字を
境界が乱れていることがわかりました。どうすれば修正できますか?
ありがとうございました!