0

我是 R 新手,我的大部分经验都是在 Java 中。我正在尝试执行以下操作:

clusterWeeks <- function()
{
  kmV = list()               #a list of kmeans objects from each week
  for(i in 1:5)
  {
    windows()
    kmV.append(clusterData(i))     #clusterData(i) returns a kmeans object
  }
}

由于某种原因,这不起作用。我希望能够通过以下方式访问对象kmV[1], kmV[2], ... kmV[5]

  1. R 中适合此任务的数据结构是什么?
4

2 回答 2

3

您需要创建一个列表来保存每个单独的对象。否则,您只是覆盖并仅返回最后一个:

clusterWeeks <- function()
{
  kmV = vector("list", 5)         # a 5 element list of empty items
  for(i in 1:5)
  {
    windows()
    kmV[[i]] <- clusterData(i)    #clusterData(i) returns a kmeans object
  }
}

您显然来自一种object.function语法可接受的语言,但这在 R 中不起作用。

于 2013-04-15T21:35:42.847 回答
0

根据您的代码,这是我要做的:

clusterWeeks <- function(){
  kmV <- c()
  for(i in 1:5)
  {
    kmV <- c(kmV, i)
  }
  return(kmV)
}

小例子:

test <- clusterWeeks()
test[2]
2
于 2013-04-15T21:36:22.837 回答