[R] Apply a function to columns of a matrix
arun
smartpink111 at yahoo.com
Sun Sep 9 01:05:50 CEST 2012
Hi,
You can also use sapply()
sapply(split(t(a),1:ncol(a)),function(x) sum(diff(b)*(x[-1]+x[-length(x)]))/2)
# 1 2 3 4 5 6 7 8 9 10
#99 279 459 639 819 999 1179 1359 1539 1719
A.K.
----- Original Message -----
From: Andras Farkas <motyocska at yahoo.com>
To: "r-help at r-project.org" <r-help at r-project.org>
Cc:
Sent: Saturday, September 8, 2012 3:45 PM
Subject: [R] Apply a function to columns of a matrix
Dear All,
as a follow up to my previous e-mail (I think I am getting closer...):
I am trying to apply the trapezoidal functions to a matric column by column. I have the following code:
a <-matrix(c(1:100),ncol=10)
b <-matrix(c(2,4,6,8,10,12,14,16,18,20))
apply(a,2,function(b,a) sum(diff(b)*(a[-1]+a[-length(a)]))/2)
for some reason i get an error message:
Error in FUN(newX[[, i], ...): argument "a" is missing with no default.
Any ideas of why that may be happening?
thanks,
Andras
[[alternative HTML version deleted]]
______________________________________________
R-help at 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.
More information about the R-help
mailing list