Dear R users, Inspired by previous list discussion of the glob2rxc function, I am attempting to create a new vector called TOTAL by summing all vectors whose names begin with ABC: TOTAL = sum(list = ls(pattern = glob2rx("ABC*"))) I'm running R 2.2.1 on Windows XP. Can anyone say what I'm missing? Thank you, Mark
Your expression is trying to sum a character vector containing the names of the variables that begin with ABC. Try this and try executing each portion of it to understand it better: ABC1 <- ABC2 <- 1 do.call("sum", lapply(apropos(glob2rx("ABC*")), get)) # 2 On 2/20/06, mtb954 at gmail.com <mtb954 at gmail.com> wrote:> Dear R users, > > Inspired by previous list discussion of the glob2rxc function, I am > attempting to create a new vector called TOTAL by summing all vectors > whose names begin with ABC: > > TOTAL = sum(list = ls(pattern = glob2rx("ABC*"))) > > I'm running R 2.2.1 on Windows XP. Can anyone say what I'm missing? > > Thank you, Mark > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html >
mtb954 at gmail.com writes:> Dear R users, > > Inspired by previous list discussion of the glob2rxc function, I am > attempting to create a new vector called TOTAL by summing all vectors > whose names begin with ABC: > > TOTAL = sum(list = ls(pattern = glob2rx("ABC*"))) > > I'm running R 2.2.1 on Windows XP. Can anyone say what I'm missing?Probably, but I'll save the sarcasm... Consider this:> ls()[1] "as.alist.call" "f" "fire" [4] "Hgb" "perulung" "walk2" [7] "x" "y" "zelazo"> ls(pattern=glob2rx("f*"))[1] "f" "fire"> sum(list=ls(pattern=glob2rx("f*")))Error in sum(..., na.rm = na.rm) : invalid 'mode' of argument which is because> sum(c("f","fire"))Error in sum(..., na.rm = na.rm) : invalid 'mode' of argument and has nothing to do with glob2rx, which is working fine. You may be looking for constructions like do.call("sum",lapply(ls(pattern=glob2rx("ABC*")), get))) or sum(unlist(lapply(ls(pattern=glob2rx("ABC*")), get))) -- O__ ---- Peter Dalgaard ??ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907