Questo un approccio flessibilità, può essere utilizzato in tutti i casi, in particolare:
- si vuole solo influenzare una colonna, o
- il
data.frame
ha portato dall'applicazione delle operazioni precedenti (ad esempio non aprire immediatamente un file o creare il frame di dati).
In primo luogo, non-factorize una stringa utilizzando la funzione as.character
, e, quindi, ri-factorize con la funzione as.factor
(o semplicemente factor
):
fixed <- data.frame("Type" = character(3), "Amount" = numeric(3))
# Un-factorize (as.numeric can be use for numeric values)
# (as.vector can be use for objects - not tested)
fixed$Type <- as.character(fixed$Type)
fixed[1, ] <- c("lunch", 100)
# Re-factorize with the as.factor function or simple factor(fixed$Type)
fixed$Type <- as.factor(fixed$Type)
fonte
2016-08-02 16:38:07
@David Perché R lo converte in fattore? – KannarKK
Perché questa è l'impostazione predefinita nella funzione 'data.frame()' (ed è predefinita perché è quella che la maggior parte degli utenti desidera la maggior parte delle volte). – David