You can try this:
ones <- matrix(1,4,3)
B <- t(t(ones) * c(2,4,3))
A-B
should give you the desired result, where A is your original matrix.
-Christos
-----Original Message-----
From: s-news-owner@lists.biostat.wustl.edu
[mailto:s-news-owner@lists.biostat.wustl.edu] On Behalf Of Chen,Sichong
Sent: Thursday, October 26, 2006 4:04 PM
To: s-news@lists.biostat.wustl.edu
Subject: [S] Matrix minus A Vector
Dear Users
I have a matrix (4x3)
4 5 6
2 4 5
2 4 6
6 5 5
3 8 9
And a vector (1x3)
2 4 3
I would like to use the first column of the matrix minus the first number of
the vector "2", then the second column of the matrix minus the second number
of the vector "4" and so on.
The final result of a matrix is supposed to be:
2 1 3
0 0 2
0 0 3
4 1 2
1 4 6
I know the stupid way is to calculate one column by one column, but I think
there must be some quicker and smarter way to do it.
Many thanks,
Regards,
Sichong
SPlus 7.0 & FinMetrics 2.0 User
Windows XP
--------------------------------------------------------------------
This message was distributed by s-news@lists.biostat.wustl.edu. To
unsubscribe send e-mail to s-news-request@lists.biostat.wustl.edu with the
BODY of the message: unsubscribe s-news
|