Question

Je manipulais une trame de données en utilisant le package Reshape. Lorsque vous utilisez la fonction fondue, il factorise ma colonne de valeur, ce qui est un problème parce qu'un sous-ensemble de ces valeurs sont des nombres entiers que je veux être en mesure d'effectuer des opérations sur.

Quelqu'un sait-il d'un moyen de contraindre un facteur dans un entier? L'utilisation as.character() convertira au caractère correct, mais je ne peux pas effectuer immédiatement une opération, et as.integer() ou as.numeric() convertiront au numéro que le système stocke ce facteur comme, ce qui est utile.

Merci!

Jeff

Était-ce utile?

La solution

Vous pouvez combiner les deux fonctions; coerce aux personnages de là à numerics:

> fac <- factor(c("1","2","1","2"))
> as.numeric(as.character(fac))
[1] 1 2 1 2

Autres conseils

Citant directement à partir de la page d'aide pour factor:

Pour transformer un facteur f à ses valeurs numériques d'origine, as.numeric(levels(f))[f] est recommandé et un peu plus efficace que as.numeric(as.character(f)).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top