On Jul 5, 2009, at 2:43 PM, Martin Morgan wrote:

Hi ZRL,

zrl wrote:
Dear list,

I have a question regarding how to allocate or initialize the proper type of
the arrays or lists.

I have a for loop, each iteration, I want it to assign a subset of a data
frame to an element of an array or list.
However, I am wondering how I should initialize or allocate the empty array or list so that it has the same number of the elements as the subsets I am going to assign and also make the data type is compatible to the subset I am
going to assign to it.
It should look like this:

#initialize or allocate.   ( I don't know how to)
{ some codes: initialize an array or list (which one is better?) with "n"
elements}

#"for" loop for assigning a subset of a large data frame to the elements of
the array or list (which on is better?)
for (i in 1: n){
array[i] <- df[df$V1==A[i],]
}

You could let the software figure it out for you

  result = sapply(1:n, function(i, df, A) {
      df[df$V1==A[i],]
  }, df=df, A=A)

or better (because you don't have to ensure that n is the length of A)
if A is a vector

  result = sapply(A, function(a, df) {
      df[df$V1 == a, ]
  }, df=df)

Or even:

result <- subset(df, V1 %in% A)

... possibly needing some ordering.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
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.

Reply via email to