[R] How to convert a factor column into a numeric one?

Robert A LaBudde ral at lcfltd.com
Sun Jun 5 07:22:20 CEST 2011


Thanks for your help.

As far as your question below is concerned, the data frame arose as a 
result of some data cleaning on an original data frame, which was 
changed into a table, modified, and changed back to a data frame:

ttcrmean<- as.table(by(ngbe[,'Log10'], 
list(Time=ngbe$Time,Temp=ngbe$Temp,Conc=ngbe$Conc,Repl=ngbe$Replicate),
   mean))
for (k in 1:3) {  #fix-up time zeroes
   for (l in 1:5) { #replicates
     t0val<- ttcrmean[1,3,k,l]
     for (j in 1:4) {  #temps
       ttcrmean[1,j,k,l]<- t0val
     } #j
   } #l
} #i
df<- na.omit(as.data.frame(ttcrmean))
colnames(df)[5]<- 'Log10'


At 12:51 AM 6/5/2011, Joshua Wiley wrote:
>Hi Robert,
><snip>
>I would also look into *why* those numeric columns are being stored as
>factors in the first place.  If you are reading the data in with
>read.table() or one of its wrapper functions (like read.csv), then it
>would be better to preempt the storage as a factor altogether rather
>than converting back to numeric.  For example, perhaps something is
>being used to indicate missing data that R does not recognize (e.g.,
>SAS uses ".").  Specifying na.strings = ".", would fix this.  See
>?read.table for some of the options available.
><snip>


================================================================
Robert A. LaBudde, PhD, PAS, Dpl. ACAFS  e-mail: ral at lcfltd.com
Least Cost Formulations, Ltd.            URL: http://lcfltd.com/
824 Timberlake Drive                     Tel: 757-467-0954
Virginia Beach, VA 23464-3239            Fax: 757-467-2947

"Vere scire est per causas scire"



More information about the R-help mailing list