I'm not honestly sure why data.matrix didn't work off hand. Perhaps another user can shed some light on this. An alternative is the following:
apply(dat, 2, FUN = function(x) as.numeric(as.character(x))) On Thu, Oct 10, 2013 at 8:26 AM, arun <smartpink...@yahoo.com> wrote: > Did you mean to apply it like this or is it something else? > data.matrix(dat) # > a coef coef.l coef.h > 1 1 3 4 2 > 2 2 4 5 4 > 3 3 1 1 1 > 4 4 2 2 3 > 5 5 5 3 5 > > > A.K. > > > > > > > On Thursday, October 10, 2013 9:09 AM, Charles Determan Jr < > deter...@umn.edu> wrote: > > data.matrix() should do the job for you > > Charles > > > > > On Thu, Oct 10, 2013 at 8:02 AM, arun <smartpink...@yahoo.com> wrote: > > Hi, > >It is not clear whether all the variables are factor or only a few are.. > > > >dat<- read.table(text="a coef > coef.l coef.h > >1 1 0.005657825001254 0.00300612956318132 0.00830952043932667 > >2 2 0.00634505314577229 0.00334102345418614 0.00934908283735844 > >3 3 0.00368668099805019 0.000289702228748421 0.00708365976735195 > >4 4 0.0056200291035751 0.00209123538827368 0.00914882281887651 > >5 5 0.00636609791030242 0.00269683889899591 > 0.0100353569216089",sep="",colClasses=rep("factor",4)) > >dat1<- dat > > > > > > dat[] <- lapply(dat,function(x) as.numeric(as.character(x))) > > > >str(dat) > >#'data.frame': 5 obs. of 4 variables: > ># $ a : num 1 2 3 4 5 > ># $ coef : num 0.00566 0.00635 0.00369 0.00562 0.00637 > ># $ coef.l: num 0.00301 0.00334 0.00029 0.00209 0.0027 > ># $ coef.h: num 0.00831 0.00935 0.00708 0.00915 0.01004 > > > > > ># With only a subset of variables in the dataset as factors > > dat1$a<- as.numeric(as.character(dat1$a)) > > > > > >dat1[sapply(dat1,is.factor)]<- > lapply(dat1[sapply(dat1,is.factor)],function(x) as.numeric(as.character(x))) > > str(dat1) > >#'data.frame': 5 obs. of 4 variables: > ># $ a : num 1 2 3 4 5 > ># $ coef : num 0.00566 0.00635 0.00369 0.00562 0.00637 > ># $ coef.l: num 0.00301 0.00334 0.00029 0.00209 0.0027 > ># $ coef.h: num 0.00831 0.00935 0.00708 0.00915 0.01004 > > > >A.K. > > > > > > > >I have a factor data frame which I want to convert to numeric without any > change in contents. How could I do that? > > > > > > a coef coef.l coef.h > >1 1 0.005657825001254 0.00300612956318132 0.00830952043932667 > >2 2 0.00634505314577229 0.00334102345418614 0.00934908283735844 > >3 3 0.00368668099805019 0.000289702228748421 0.00708365976735195 > >4 4 0.0056200291035751 0.00209123538827368 0.00914882281887651 > >5 5 0.00636609791030242 0.00269683889899591 0.0100353569216089 > > > >______________________________________________ > >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. > > > -- Charles Determan Integrated Biosciences PhD Candidate University of Minnesota [[alternative HTML version deleted]] ______________________________________________ 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.