On 16/10/2008, at 12:28 AM, Henrique Dallazuanna wrote:
Try this:
lapply(1:n, rnorm)
That has nothing to do with what the inquirer *asked*.
On Wed, Oct 15, 2008 at 8:19 AM, Megh Dal <[EMAIL PROTECTED]>
wrote:
Can anyone please tell me how to define a "list". Suppose I want
to define
a list object "result" with length n then want to fill each place of
"result" with different objects. For e.g.
i=1
Why have you set i=1? You make no use at all of ``i''!!!
result[1] = rnorm(1)
i=2
result[2] = rnorm(2)
.......................
i=n
result[n] = rnorm(n)
What would be the best way to do that?
Simply start off with
result <- list()
Then you can do
result[[1]] <- rnorm(1)
result[[2]] <- rnorm(2)
result[[42]] <- "a load of dingos' kidneys"
Note 1: This will result in a list of length (at this stage) 42.
Entries 3 to 41 inclusive of this list will be NULL.
Note 2: Use the ***double*** brackets! The distinction is that
if result is a *list* then
result[1] is a ***list*** of length 1, the sole entry of that
list being the first entry of result
result[[1]] is the first entry of result, pure and simple.
If you tried
result[2] <- rnorm(2)
you'd get a warning message about the wrong number of items to replace
(you have tried to assign something of length 2 to something of
length 1)
and result[[2] would contain only the first entry of the vector rnorm
(2).
cheers,
Rolf Turner
######################################################################
Attention:\ This e-mail message is privileged and confid...{{dropped:9}}
______________________________________________
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.