Bill, Thanks for the improvment. I had not been concerned in looking at the type; was primarily interested in the sizes. Will go back and update the function.
On Thu, Sep 8, 2011 at 11:53 AM, William Dunlap <wdun...@tibco.com> wrote: > In my.ls() you ought to convert the pos argument > to an environment and consistently use that environment > in the calls to eval, get, and ls in the function. > E.g., with the following modification > > my.ls1 <- function (pos = 1, sorted = FALSE, envir = as.environment(pos)) > { > .result <- sapply(ls(envir = envir, all.names = TRUE), function(..x) > object.size(eval(as.symbol(..x), > envir = envir))) > if (sorted) { > .result <- rev(sort(.result)) > } > .ls <- as.data.frame(rbind(as.matrix(.result), `**Total` = sum(.result))) > names(.ls) <- "Size" > .ls$Size <- formatC(.ls$Size, big.mark = ",", digits = 0, > format = "f") > .ls$Mode <- c(unlist(lapply(rownames(.ls)[-nrow(.ls)], function(x) > mode(eval(as.symbol(x), > envir = envir)))), "-------") > .ls > } > > we get: > >> sorted <- 10:1 # put a variable in .GlobalEnv that is also in my.ls* >> my.ls1() > Size Mode > my.ls 12,576 function > my.ls1 23,424 function > sorted 88 numeric > **Total 36,088 ------- >> my.ls() > Size Mode > my.ls 12,576 function > my.ls1 23,424 function > sorted 48 logical > **Total 36,048 ------- > > Bill Dunlap > Spotfire, TIBCO Software > wdunlap tibco.com > >> -----Original Message----- >> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On >> Behalf Of Nordlund, Dan >> (DSHS/RDA) >> Sent: Thursday, September 08, 2011 8:33 AM >> To: r-help@r-project.org >> Subject: Re: [R] Variable scoping question >> >> > -----Original Message----- >> > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- >> > project.org] On Behalf Of jim holtman >> > Sent: Thursday, September 08, 2011 6:52 AM >> > To: Bos, Roger >> > Cc: r-help@r-project.org >> > Subject: Re: [R] Variable scoping question >> > >> > Here is a function I use to look at the sizes of objects: >> > >> > my.ls <- >> > function (pos = 1, sorted = FALSE) >> > { >> > .result <- sapply(ls(pos = pos, all.names = TRUE), function(..x) >> > object.size(eval(as.symbol(..x)))) >> > if (sorted) { >> > .result <- rev(sort(.result)) >> > } >> > .ls <- as.data.frame(rbind(as.matrix(.result), `**Total` = >> > sum(.result))) >> > names(.ls) <- "Size" >> > .ls$Size <- formatC(.ls$Size, big.mark = ",", digits = 0, >> > format = "f") >> > .ls$Mode <- c(unlist(lapply(rownames(.ls)[-nrow(.ls)], function(x) >> > mode(eval(as.symbol(x))))), >> > "-------") >> > .ls >> > } >> > >> >> Jim, >> >> I thought I would try out your function above. I copy-and-pasted the >> function into a newly started, >> vanilla R session, then ran the following code. >> >> > x <- 1:1000 >> > my.ls() >> Size Mode >> my.ls 12,576 function >> x 4,040 character >> **Total 16,616 ------- >> > >> >> I don't understand the character mode for the vector x. Any thoughts? Here >> is my sessionInfo(). >> >> > sessionInfo() >> R version 2.13.1 (2011-07-08) >> Platform: x86_64-pc-mingw32/x64 (64-bit) >> >> locale: >> [1] LC_COLLATE=English_United States.1252 >> [2] LC_CTYPE=English_United States.1252 >> [3] LC_MONETARY=English_United States.1252 >> [4] LC_NUMERIC=C >> [5] LC_TIME=English_United States.1252 >> >> attached base packages: >> [1] stats graphics grDevices utils datasets methods base >> >> loaded via a namespace (and not attached): >> [1] tools_2.13.1 >> > >> >> >> Dan >> >> Daniel J. Nordlund >> Washington State Department of Social and Health Services >> Planning, Performance, and Accountability >> Research and Data Analysis Division >> Olympia, WA 98504-5204 >> >> >> ______________________________________________ >> 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. > > ______________________________________________ > 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. > -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? ______________________________________________ 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.