[R] convert list to numeric

dadrivr dadrivr at gmail.com
Mon Nov 2 02:04:02 CET 2009


I would like to preface this by saying that I am new to R, so I would ask
that you be patient and thorough, so that I'm not completely clueless.  I am
trying to convert a list to numeric so that I can perform computations on it 
(specifically mean-center the variable), but I am running into problems.  I
have imported the data set into "task" (data frame).  The data frame is made
of factors with variable names in the first row.  I am running a loop to set
a variable equal to a column in the data frame.  Here is an example of my
problem:

for (i in 1:dim(task)[2]){
predictor.loop <- c(task[i])
predictor.loop.mc <- predictor.loop - mean(predictor.loop, na.rm=T)
}

I get the following error: 
Error in predictor.loop - mean(predictor.loop, na.rm = T) : 
  non-numeric argument to binary operator
In addition: Warning message:
In mean.default(predictor.loop, na.rm = T) :
  argument is not numeric or logical: returning NA

The column is entirely made up of numerical data, except for the header,
which is a string.  My problem is that I receive an error because the
predictor.loop variable is not numerical, so I need to find a way to convert
it.  I tried using:
predictor.loop <- c(as.numeric(task[i]))
But I get the following error: "Error: (list) object cannot be coerced to
type 'double'"

If I call the variable, I can assign it to a numerical list (e.g., predictor
loop <- task$variablename), but since I am assigning the variable in a loop,
I have to find another way as the variable name would have to change in each
loop iteration.  Any help would be greatly appreciated.  Thanks!
-- 
View this message in context: http://old.nabble.com/convert-list-to-numeric-tp26155039p26155039.html
Sent from the R help mailing list archive at Nabble.com.




More information about the R-help mailing list