[R] accessing info in object slots from listed objects using loops

torgrims torgrims at stud.ntnu.no
Wed Mar 17 11:11:40 CET 2010


Hey,

I have stacked a couple of garchFit objects in a list with names $fit1,
$fit2, ..., $fiti assigning objects names using a loop, i.e. after running
the loop modelStack = list($fit1, $fit2,...,$fiti).

Thus the following apply;
a = modelStack$fit2, then a is the second garchFit object of formal class
'fGarch' with 11 slots, @call, @formula... etc.

I then want to extract information in the 11 slots using another for loop,
say i want to access the slot a at fit$coef. In order for this to happen I need
to combine modelStack$fit2, where the $fit2 object name must be constructed
in the loop, with the slot name @fit$coef.

In order to construct the proper list names one could use the following in
the for loop;
name = paste("modelStack$fit",i,"@fit$coef",sep="")  #
"modelStack$fit2 at fit$coef" for i = 2, 

and then use something like 
get(name) 

But this returns; Error in get(name) : object 'modelStack$fit2 at fit$coef' not
found

If I just type modelStack$fit2 at fit$coef in the command window it returns the
proper info from the object list. I figure this is because R somehow
interpret "$" and "@" in get() differently than $ and @ as "list
separators".

Does anyone know how to extract information in slots of listed objects using
a loop and on the run generated variable/object names?

JT

sample code
	nAssets = length(modelStack)

	for(i in 1:nAssets){
		name = paste("modelStack[",i,"]@name$series$h",sep="")            
		a = get(name)
                      t = length(a)
	} # end for loop

-- 
View this message in context: http://n4.nabble.com/accessing-info-in-object-slots-from-listed-objects-using-loops-tp1596135p1596135.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list