Skip to content

joining matrices, vectors, scalars in one object

3 messages · Gonçalo Ferraz, Gábor Csárdi, Dimitris Rizopoulos

#
You want to do 

thing <- list()    # empty thing
for ( i in 1:100 ) { 
  thing[[i]] <- ?????
}

But where is ????? coming from? If you can index it with an integer
then it is exactly coming from the kind of object you want to create. 
Chicken-egg problem. No?

G.
On Thu, Mar 13, 2008 at 09:04:11AM -0400, Gon?alo Ferraz wrote:

        

  
    
#
I think you need:

thing <- vector("list", 4)
for (i in seq_along(thing)) {
    thing[[i]] <- # what you want to put here
}


Best,
Dimitris

----
Dimitris Rizopoulos
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
     http://www.student.kuleuven.be/~m0390867/dimitris.htm


----- Original Message ----- 
From: "Gon?alo Ferraz" <gferraz29 at gmail.com>
To: <r-help at stat.math.ethz.ch>
Sent: Thursday, March 13, 2008 2:04 PM
Subject: [R] joining matrices, vectors, scalars in one object


Hi,

I have:

a <- matrix(c(0,1,0,1),nrow=2)
b <- matrix(c(1,1,1,0,0,0),nrow=3)
c <- 1
d <- c(1,0,1)

And I would like to join them in an object 'thing' so that I can
access a, b, c, or d through an index in a for loop.

For example:
thing[4]
would return
[1]  1  0  1

Note however, that I have many of these 'thing' components. So many
that  a command like

thing <- list(a = matrix(c(0,1,0,1),nrow=2), b = matrix(c
(1,1,1,0,0,0),nrow=3), c = 1, d = c(1,0,1))

would become long and awkward.

Is there a way of declaring an empty 'thing' of a given length and
then assigning its elements from a for loop? I need to allow elements
a, b, c... that can be scalars, vectors or matrices with varying
dimensions.

Thanks!

Gon?alo






--------------------------------------------------------------------------------
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm