Skip to content
Prev 308976 / 398503 Next

problem in finding sizes of objects using a for loop

Hi,
?You can also use lapply() or sapply() without the get() function.

?list1<-list(x=x,y=y)
?sapply(list1,object.size)
#??? x???? y 
#80040?? 840 
?do.call(rbind,lapply(list1,object.size))
? # [,1]
#x 80040
#y?? 840

A.K.







----- Original Message -----
From: Jorge I Velez <jorgeivanvelez at gmail.com>
To: Purna chander <chanderbio at gmail.com>
Cc: r-help <r-help at r-project.org>
Sent: Thursday, October 25, 2012 2:40 AM
Subject: Re: [R] problem in finding sizes of objects using a for loop

Dear Purna,

You need the get() function around object[i] in order to accomplish the
same results:

# data
x<-rnorm(10000)
y<-runif(100,min=40,max=1000)

# sizes
objects<-ls()
for (i in seq_along(objects)){
?  print(c(objects[i],object.size(get(objects[i]))))? # get() is added here
}
[1] "x"? ?  "80040"
[1] "y"?  "840"

get() is needed because each element of "objects" is a character and the
object.size() function does not operates on characters, but on objects (not
your variable, the definition in R).? See ?get and ?object.size for more
information.

HTH,
Jorge.-
On Thu, Oct 25, 2012 at 5:24 PM, Purna chander <> wrote:

            
??? [[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.