[R] How to find the min and max of two variables in a data frame

Dimitris Rizopoulos d.rizopoulos at erasmusmc.nl
Fri Jul 24 08:29:55 CEST 2009


try this:

set.seed(123)
dat <- data.frame(x = round(rnorm(10)), y = round(rnorm(10)))

dat$Min <- pmin(dat$x, dat$y)
dat$Max <- pmax(dat$x, dat$y)
dat

ind <- dat$Min != dat$Max
dat[ind, ]


I hope it helps.

Best,
Dimitris


kxk wrote:
> I have two variables in a data frame, I want to generate two additional
> variables. For every observations (i.e. every row), I want the first new
> variable 'min' to carry the minimum of the two existing variables, and I
> want the second new variable 'max' to carry the maximum of the two existing
> variables.  I then want to sort the data frame by min and max, and delete
> duplicated rows if both rows has the same min and same max. 
> 
> I am new to R so not sure how to fix my code.  Here is my attempt and it is
> not working.  Thanks!
> 
> edge_dir$min=edge_dir[if (edge_dir$cid_dir1 < edeg_dir$cid_dir2)
> edge_dir$cid_dir1 else edge_dir$cid_dir2]
> edge_dir$max=edge_dir[if (edge_dir$cid_dir1 > edeg_dir$cid_dir2)
> edge_dir$cid_dir1 else edge_dir$cid_dir2]
> 

-- 
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center

Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014




More information about the R-help mailing list