0
votes

remplacer 0 avec na sans changer la classe

Y a-t-il un moyen de remplacer 0 avec na où nous avons asd b == "B" code> sans modifier la classe d'ASD

> asd
  a   b
1 1   a
2 NA  b
3 0   c


1 commentaires

Retirez les citations autour de Na.


4 Réponses :


2
votes

base solution xxx

dplyr solution xxx

ou xxx


0 commentaires

2
votes

Si vous souhaitez utiliser une instruction ifelse code>, essayez cette solution xxx pré>

le problème est que vous avez inséré cité "na" code> Ce qui est juste une chaîne simple et donc variable A code> est contraint à caractère. Vous devriez plutôt utiliser na code> qui indique une valeur manquante. P>


Exemple p>

asd <- data.frame(a = c(1,0,0), b = c("a","b","c"))
str(asd)
# 'data.frame': 3 obs. of  2 variables:
#  $ a: num  1 0 0
#  $ b: chr  "a" "b" "c"

asd$a <- ifelse(asd$a == 0 & asd$b == "b", NA, asd$a)
str(asd)
# 'data.frame': 3 obs. of  2 variables:
#  $ a: num  1 NA 0
#  $ b: chr  "a" "b" "c"


0 commentaires

1
votes

Vous pouvez utiliser dplyr : xxx

qui vous donne xxx


0 commentaires

6
votes

cité "na" est différent de na .

"na" est un caractère et r va contraindre la colonne le caractère si vous affectez la valeur tandis que na / code> est un indicateur de valeur manquante.

Toutes les réponses précédentes sont correctes, j'essaie juste de donner une raison pourquoi le contrainement.


0 commentaires