From ?factor:

The interpretation of a factor depends on both the codes and the "levels" attribute. Be careful only to compare factors with the same set of levels (in the same order). In particular, as.numeric applied to a factor is meaningless, and may happen by implicit coercion. 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)).

Uwe Ligges



ojal john owino wrote:
Dear Users,
I have a variable in my dataset which is of type factor. But it actually
contains numeric entries which like 5.735  4.759 ..... This is because the
data was read from a CSV file into R and this variable contained other
charaters which were not numeric. I have now dropped the records with the
characters which are not numeric for this variable and want to change it to
numeric srotage type.

I have tried using as.numeric() function but it changes the values in the
variable to what I think are the ranks of the individual values of the
varible in the dataset. For example if 5.735 is the current content in the
field, then the new object created by as.numeric will contain a value like
680 if the 5.735 was the highest value for the varible and the dataset had
680 records.


How can I change the storage type without changing the contents of this
variable in this case?

Thanks for your consideration.




______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to