Biorąc pod uwagę macierz:R - pozycja powrotu elementu w macierzy?
[,1] [,2]
[1,] 0 0.0
[2,] -1 0.8
Jaki jest najszybszy sposób na badania iteracyjne nad matrycą i powrócić pozycję wszystkich niezerowych wpisów jako wskaźnik?
Biorąc pod uwagę macierz:R - pozycja powrotu elementu w macierzy?
[,1] [,2]
[1,] 0 0.0
[2,] -1 0.8
Jaki jest najszybszy sposób na badania iteracyjne nad matrycą i powrócić pozycję wszystkich niezerowych wpisów jako wskaźnik?
Oto jedno podejście
mat = matrix(rnorm(9), 3, 3)
which(mat !=0, arr.ind = T)
Cieszę się, że się zgadzasz! –
@Cotton: odpowiedź Ramnatha dodała bardzo użytą informację, że istnieje parametr dodawania, z którego powstaje wyjście zorientowane na matrycę. Więc nie widziałem go tak, jak zgadza się z tym, że lepiej wywiązuje się z tego, co chciał OP. –
@DWin Err, czy to nie to, co "TRUE" w kodzie R Ritchie's R po "a może" robi? Słaba forma w środowisku nauczania, aby nie nazwać argumentów, ale dwie odpowiedzi są takie same. –
m <- matrix(c(0, 1, 1, 0), nrow = 2)
which(m != 0)
czy może
which(m != 0, TRUE)
Twoje pytanie powinno być "który jest najszybszy sposób?" Wtedy też odpowiedziałaby sama;) – hadley
Przez dwa dni żartowałem z tego "który jest najszybszą drogą". Zrobiłem to w blogu, który tak bardzo mi się podoba. –