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)
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 ...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With