Also, BTW, dat.num() is matrix, but if you use lapply(), it is still a dataframe. Anyway, it depends on what the OP really wants as output. dat.num <- apply(dat, 2, FUN = function(x) as.numeric(as.character(x))) 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 str(dat.num) num [1:5, 1:4] 1 2 3 4 5 ... - attr(*, "dimnames")=List of 2 ..$ : NULL ..$ : chr [1:4] "a" "coef" "coef.l" "coef.h" as.data.frame(dat.num) A.K. On Thursday, October 10, 2013 9:41 AM, Charles Determan Jr <deter...@umn.edu> wrote: Firstly, please make sure to reply-all so the r-help list also receives these emails. Second, I have just run this sequence as it provides an exact copy with each as numeric. Use the apply function, it iterates over each column and converts each to numeric. 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)) dat.num <- apply(dat, 2, FUN = function(x) as.numeric(as.character(x))) Charles On Thu, Oct 10, 2013 at 8:37 AM, arun <smartpink...@yahoo.com> wrote: > >Looks like it is directly doing: >as.numeric() without the as.character() >For ex: > as.numeric(dat[,2]) >#[1] 3 4 1 2 5 > > > > > > >On Thursday, October 10, 2013 9:33 AM, Charles Determan Jr <deter...@umn.edu> >wrote: > >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 > -- Charles Determan Integrated Biosciences PhD Candidate University of Minnesota ______________________________________________ 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.