R ifelse de remplacer des valeurs dans une colonne

J'ai une colonne dans mon dataframe comme suit:

Private
Private
Private
 ?
Private

Je veux remplacer ce " ?" avec le Privé. J'ai une solution comme suit:

# Only replacing ? with Private 
df$var <- ifelse(df$var == " ?", " Private", df$var)

Cependant quand j'imprime le df$var colonne après la ifelse déclaration, ces valeurs ne semblent pas correctes. C'est ce que j'ai:

3
3
3
Private
3

Je ne sais pas ce qui s'est passé ici.

  • Essayez df$var <- as.character(df$var); df$var <- ifelse(df$var == " ?", " Private", df$var). La variable est probablement un facteur.
  • Vous êtes de droite. Merci!!!!
  • Si vous ne souhaitez remplacer le " ?", il peut être plus efficace d'utiliser df$var[df$var==" ?"] <- "Private".
InformationsquelleAutor Zack | 2015-09-20