Another option could be: doit <- function(x)c(sum(x[x > 0]), sum(x[x < 0])) apply(transform(myDF, row.names = id, id = NULL), 1, doit)
On Mon, Jul 19, 2010 at 4:36 PM, jd6688 <jdsignat...@gmail.com> wrote: > > >myDF = > > data.frame(id=c("A10","A20"),d1=c(.3,.3),d2=c(.4,.4),d3=c(-.2,.5),d4=c(-.3,.6),d5=c(.5,-.2),d6=c(.6,-.4),d7=c(-.9,-.5),d8=c(-.8,-.6)) > > > >doit=function(x)c(x[1],sum_LK_positive=sum(x[-1][x[-1]>0]),sum_LK_negative=sum(x[-1][x[-1]<0])) > > > myDF > id d1 d2 d3 d4 d5 d6 d7 d8 > 1 A10 0.3 0.4 -0.2 -0.3 0.5 0.6 -0.9 -0.8 > 2 A20 0.3 0.4 0.5 0.6 -0.2 -0.4 -0.5 -0.6 > > t(apply(myDF,1,doit)) > > > Error in sum(x[-1][x[-1] > 0]) : invalid 'type' (character) of argument: > > I changed the id=c(100,101) in myDF, it worked. are there any way to have > this working if the id=c("a10","a20")? > > Thanks, > > -- > View this message in context: > http://r.789695.n4.nabble.com/invalid-type-error-tp2294491p2294491.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. > -- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O [[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.