fattore Converti numero intero [duplicato]
Domanda
Questa domanda ha già una risposta qui:
sto manipolando un frame di dati utilizzando il pacchetto rimodellare. Quando si utilizza la funzione di fusione, si factorizes mia colonna valore, che è un problema perché un sottoinsieme di quei valori sono numeri interi che voglio essere in grado di eseguire operazioni su.
Qualcuno sa di un modo per costringere un fattore in un intero? Utilizzando as.character()
convertirà al carattere corretto, ma poi non riesco a eseguire immediatamente un'operazione su di esso, e as.integer()
o as.numeric()
convertirà al numero che il sistema memorizza quel fattore come, che non è utile.
Grazie!
Jeff
Soluzione
È possibile combinare le due funzioni; coerce a personaggi di là a numerici:
> fac <- factor(c("1","2","1","2"))
> as.numeric(as.character(fac))
[1] 1 2 1 2
Altri suggerimenti
Quoting directly from the help page for factor
:
To transform a factor f to its original numeric values, as.numeric(levels(f))[f]
is recommended and slightly more efficient than as.numeric(as.character(f))
.