I want to get the minimum of two columns and create a column in the same data.frame. How can I do that?
For example:
ID Parm1 Parm2
1 1 2
2 0 1
3 2 1
4 1 0
5 2 0
Desired output :
ID Parm1 Parm2 Min
1 1 2 1
2 0 1 0
3 2 1 1
4 1 0 0
5 2 0 0
You want the parallel minimum implemented in function pmin()
. For example using your data:
dat <- read.table(text = "ID Parm1 Parm2
1 1 2
2 0 1
3 2 1
4 1 0
5 2 0", header = TRUE)
you can use transform()
to add the min
column as the output of pmin(Parm1, Parm2)
and access the elements of dat
without indexing:
dat <- transform(dat, min = pmin(Parm1, Parm2))
This gives:
> dat
ID Parm1 Parm2 min
1 1 1 2 1
2 2 0 1 0
3 3 2 1 1
4 4 1 0 0
5 5 2 0 0