Comment remplir une matrice avec zéro (0)
J'ai besoin de remplir la matrice des distances à 0. Comment puis-je faire cela?
distances <- matrix(1:25, nrow=5, ncol=5)
apply(distances, c(1, 2), function(x) 0)
source d'informationauteur Klausos Klausos
Vous devez vous connecter pour publier un commentaire.
Je vais juste le mettre ici aussi il y a des tas de nice réponses dans les commentaires
Vous pouvez créer une toute nouvelle matrice en utilisant les dimensions de votre ancien matrice
Ou, de même, pour sauver quelques frappes (parce qu'un
matrix
est un cas particulier de deux dimensionsarray
)Ou vous pouvez préserver la structure de votre ancien matrice à l'aide de
[]
et de le remplir avec des zérosOu vous pouvez simplement multiplier toutes les valeurs par zéro
Ou plus général, la solution serait qui prendra en compte
NA
cas trop (parce que chaque nombre en puissance de zéro est toujours égal à 1)Ou certains de mes trucs:
Vous pouvez convertir votre matrice à une logique de la matrice de différentes façons, puis ajouter des zéros, par exemple:
Ou tout simplement
Si vous pourriez avoir zéro, un ou
NA
valeur dans la matrice,row(distances)
(oucol(distances)
) ne sera pas:Et on peut forcer l'ensemble de la matrice à
NA
valeurs, comme un moyen de produire une matrice de1
's, puis de soustraire1
:Ou juste pour le plaisir
Un autre (un peu délicat) de la méthode à l'aide de
dim<-
Il vous suffit d'entrer
Cela devrait fonctionner comme il le souhaite.
Edit: j'ai fait une petite erreur (voir le commentaire) et l'ai corrigé.
C'est le code que j'utilise pour le non au carré de la matrice!
Exemple pour un 4 X 6 matrice