R удивляет меня почти каждый день снова и снова:
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
Есть идеи, как легко исправить первоначальный пример, который близок к моей реальной проблеме? Кстати: этот цикл является узким местом моего алгоритма. Следовательно, эффективные решения приветствуются.
Большое спасибо!