我是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]
答案 0 :(得分: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中不起作用。
答案 1 :(得分:0)
根据您的代码,我会这样做:
clusterWeeks <- function(){
kmV <- c()
for(i in 1:5)
{
kmV <- c(kmV, i)
}
return(kmV)
}
小例子:
test <- clusterWeeks()
test[2]
2