какой тип объекта использовать для присвоения ему нескольких объектов класса s4? - PullRequest
1 голос
/ 27 марта 2012

Я хотел бы сделать это:

library(party)

# cts <- ??? 

n <- c(50, 100, 116)

for(i in 1:length(n)) {
  data <- airq[1:n[i], ]
  airct <- ctree(Ozone ~ ., data)
  cts[i] <- airct
  }

.. но не знаю, какой тип объекта я могу использовать для назначения результатов ctree.

Спасибо за любыеуказатели, кей

1 Ответ

3 голосов
/ 28 марта 2012

A list обычно является ответом.

library(party)
airq <- na.omit(airquality) # Prunes NA rows down to 111 rows...

n <- c(50, 100, 111) # 116 is outside 
cts <- vector('list', length(n))

for(i in 1:length(n)) {
  data <- airq[1:n[i], ]
  airct <- ctree(Ozone ~ ., data)
  cts[[i]] <- airct
}

Но лучше использовать здесь lapply (list-apply).Не требуется цикл for и возвращается список.

library(party)
airq <- na.omit(airquality) # Prunes NA rows down to 111 rows...
n <- c(50, 100, 111) # 116 is outside 
cts <- lapply(n, function(ni) ctree(Ozone ~ ., data=airq[1:ni,]))
...