try this: mat <- matrix(1:9, 3, 3, TRUE) dat <- as.data.frame(mat) vec <- 1:3
result.mat <- mat - vec result.dat <- dat - vec result.mat result.dat I hope it helps. Best, Dimitris ---- Dimitris Rizopoulos Biostatistical Centre School of Public Health Catholic University of Leuven Address: Kapucijnenvoer 35, Leuven, Belgium Tel: +32/(0)16/336899 Fax: +32/(0)16/337015 Web: http://med.kuleuven.be/biostat/ http://www.student.kuleuven.be/~m0390867/dimitris.htm Quoting Bo Zhou <[EMAIL PROTECTED]>: > > How to do this in an elegant way formatrix/data frame/zoo? > > mat= > 1 2 3 > 4 5 6 > 7 8 9 > > vector= > 1 > 2 > 3 > > > result= > 0 1 2 > 2 3 4 > 4 5 6 > > ie > 1-1 2-1 3-1 > 4-2 5-2 6-2 > 7-3 8-3 9-3 > > Thanks in advance. > > _________________________________________________________________ > > > 08 > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > > Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.