Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I change all factor variables into numeric variables in a bulk [duplicate]

I have a data frame that contains about 100 factorial variables that I would like to change into numeric type. How can I do it to the whole data frame? I know that I can do it per each variable by using this code for example: dat$.Var2<-as.numeric(dat$.Var2) but I would like to do it for a lot of variables. Here is an example data frame.

   dat <- read.table(text = " TargetVar  Tar_Var1    Var2       Var3
     0        0        0         7
     0        0        1         1
     0        1        0         3
     0        1        1         7
     1        0        0         5
     1        0        1         1
     1        1        0         0
     1        1        1         6
     0        0        0         8
     0        0        1         5
     1        1        1         4
     0        0        1         2
     1        0        0         9
     1        1        1         2  ", header = TRUE)
like image 905
mql4beginner Avatar asked Dec 30 '25 23:12

mql4beginner


1 Answers

You can use lapply:

dat2 <- data.frame(lapply(dat, function(x) as.numeric(as.character(x))))

   TargetVar Tar_Var1 Var2 Var3
1          0        0    0    7
2          0        0    1    1
3          0        1    0    3
4          0        1    1    7
5          1        0    0    5
6          1        0    1    1
7          1        1    0    0
8          1        1    1    6
9          0        0    0    8
10         0        0    1    5
11         1        1    1    4
12         0        0    1    2
13         1        0    0    9
14         1        1    1    2


str(dat2)
'data.frame':   14 obs. of  4 variables:
 $ TargetVar: num  0 0 0 0 1 1 1 1 0 0 ...
 $ Tar_Var1 : num  0 0 1 1 0 0 1 1 0 0 ...
 $ Var2     : num  0 1 0 1 0 1 0 1 0 1 ...
 $ Var3     : num  7 1 3 7 5 1 0 6 8 5 ...
like image 73
Sven Hohenstein Avatar answered Jan 01 '26 13:01

Sven Hohenstein