Est-ce que quelqu'un connaît un moyen propre/efficace de remplacer les éléments diagonaux dans le tableau, similaire à l'utilisation de diag(x) <- value
pour une matrice? Autrement dit quelque chose comme ceci:Remplacer les éléments diagonaux dans un tableau
> m<-array(1:27,c(3,3,3))
> for(k in 1:3){
+ diag(m[,,k])<-5
+ }
> m
, , 1
[,1] [,2] [,3]
[1,] 5 4 7
[2,] 2 5 8
[3,] 3 6 5
, , 2
[,1] [,2] [,3]
[1,] 5 13 16
[2,] 11 5 17
[3,] 12 15 5
, , 3
[,1] [,2] [,3]
[1,] 5 22 25
[2,] 20 5 26
[3,] 21 24 5
mais sans l'utilisation d'une boucle for (mes tableaux sont assez grandes et cette manipulation seront déjà dans une boucle).
Merci beaucoup.
+1 très agréable. C'est plus rapide que mon code de fonction. –
beau travail, bravo! – gjabel