Rほぼ毎日何度も何度も私をサプライズ:1×m行列の次元?
m <- matrix(1:6, ncol=2)
while(dim(m)[1] > 0){
print(m);
m <- m[-1,]
}
が与える:
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
[,1] [,2]
[1,] 2 5
[2,] 3 6
Error in while (dim(m)[1] > 0) { : argument is of length zero
は、Rは、1xNの行列に問題があるんや場所私のミスはありますか?
> nrow(m[-c(2,3), ])
NULL
> dim(m[-c(2,3), ])
NULL
> m[-c(2,3), ][,1]
Error in m[-c(2, 3), ][, 1] : incorrect number of dimensions
> str(m[-c(2,3), ])
int [1:2] 1 4
私の実際の問題に近い初期の例を簡単に修正する方法はありますか? BTW:このループは私のアルゴリズムのボトルネックです。したがって、効率的なソリューションが評価されます。
多くの感謝!
[Rインフェルノ](HTTP参照://www.burns-statを.com/pages/Tutor/R_inferno.pdf)は、この種の「驚き」の素晴らしいガイドです。これはセクション8.1.44にあります。 – Aaron
も参照してください:http://stackoverflow.com/q/7352254/210673 – Aaron