Hello, can anybody help me with this problem? I have a dataframe, which contains its values as factors though I have numbers but it was read as factors with "scan". Now I would like to convert these columns (multiple) to a numeric format. # this example creates a similar situation testdata <- as.factor(c("1.1",NA,"2.3","5.5")) testdata2 <- as.factor(c("1.7","4.3","8.5",10.0)) df <- data.frame(testdata, testdata2) what do I have to do to get the same datafram but with numeric values??? Antje
try this (also look at R-FAQ 7.10): sapply(df, function (x) as.numeric(levels(x))[as.integer(x)]) I hope it helps. Best, Dimitris ---- Dimitris Rizopoulos Ph.D. Student Biostatistical Centre School of Public Health Catholic University of Leuven Address: Kapucijnenvoer 35, Leuven, Belgium Tel: +32/(0)16/336899 Fax: +32/(0)16/337015 Web: http://med.kuleuven.be/biostat/ http://www.student.kuleuven.be/~m0390867/dimitris.htm ----- Original Message ----- From: "Antje" <niederlein-rstat at yahoo.de> To: <r-help at stat.math.ethz.ch> Sent: Tuesday, December 04, 2007 11:46 AM Subject: [R] Dataframe manipulation> Hello, > > can anybody help me with this problem? > I have a dataframe, which contains its values as factors though I > have numbers > but it was read as factors with "scan". Now I would like to convert > these > columns (multiple) to a numeric format. > > > # this example creates a similar situation > > testdata <- as.factor(c("1.1",NA,"2.3","5.5")) > testdata2 <- as.factor(c("1.7","4.3","8.5",10.0)) > > df <- data.frame(testdata, testdata2) > > what do I have to do to get the same datafram but with numeric > values??? > > Antje > > ______________________________________________ > R-help at 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. >Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
See R-FAQ # 7-11 for the solution. Have a look at http://finzi.psych.upenn.edu/R/Rhelp02a/archive/98227.html for a discussion of this type of problem and ways to get around the issue. --- Antje <niederlein-rstat at yahoo.de> wrote:> Hello, > > can anybody help me with this problem? > I have a dataframe, which contains its values as > factors though I have numbers > but it was read as factors with "scan". Now I would > like to convert these > columns (multiple) to a numeric format. > > > # this example creates a similar situation > > testdata <- as.factor(c("1.1",NA,"2.3","5.5")) > testdata2 <- as.factor(c("1.7","4.3","8.5",10.0)) > > df <- data.frame(testdata, testdata2) > > what do I have to do to get the same datafram but > with numeric values??? > > Antje > > ______________________________________________ > R-help at 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. >