[R] problem in finding sizes of objects using a for loop
jim holtman
jholtman at gmail.com
Thu Oct 25 19:56:33 CEST 2012
Here is a function I use to get the size of objects:
Here is an example output:
> my.ls()
Size Mode
allStores 7,303,224 list
convertedStores 0 NULL
f.createCluster 40,508 function
x 41,672 list
**Total 7,385,404 -------
my.ls <- 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
}
On Thu, Oct 25, 2012 at 2:24 AM, Purna chander <chanderbio at gmail.com> wrote:
> Dear All,
>
> I wanted to extract the sizes of all created objects. For E.g when I
> created 2 objects(x and y), I got their sizes using the following
> code:
>
>> x<-rnorm(10000)
>> y<-runif(100,min=40,max=1000)
>> ls()
> [1] "x" "y"
>> object.size(x)
> 80024 bytes
>> object.size(y)
> 824 bytes
>
> However, I was unable to get their sizes when I used a for loop in the
> following way:
>
>> objects<-ls()
>> for (i in seq_along(objects)){
> + print(c(objects[i],object.size(objects[i])))
> +
> + }
> [1] "x" "64"
> [1] "y" "64"
>
>
> The result obtained by me is wrong in second case.
>
> I understood that variables x and y are treated as characters. But to
> rectify this problem.
>
> Regards,
> Purna
>
> ______________________________________________
> 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.
--
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.
More information about the R-help
mailing list