[R] matrix column division by vector
David L Carlson
dcarlson at tamu.edu
Wed May 14 16:59:36 CEST 2014
You don't need do.call:
> t(t(m)/v)
[,1] [,2] [,3]
[1,] 2 2 2
[2,] 1 1 1
> t(apply(m, 1, function(x) x/v))
[,1] [,2] [,3]
[1,] 2 2 2
[2,] 1 1 1
-------------------------------------
David L Carlson
Department of Anthropology
Texas A&M University
College Station, TX 77840-4352
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of carol white
Sent: Wednesday, May 14, 2014 9:52 AM
To: r-help at stat.math.ethz.ch
Subject: [R] matrix column division by vector
Hi,
What is the elegant script to divide the columns of a matrix by the respective position of a vector elements?
m=rbind(c(6,4,2),c(3,2,1))
v= c(3,2,1)
res= 6/3 4/2 2/1
3/3 2/2 1/1
this is correct
mat2 = NULL
for (i in 1: ncol(m))
mat2 = cbind(mat2, m[,i]/ v[i])
but how to do more compact and elegant with for ex do.call?
Many thanks
Carol
[[alternative HTML version deleted]]
More information about the R-help
mailing list