-2
km<-kmeans(iris,3)
scorekm<-
function(km, x,...)
{
    args<-list(x,...)
    result=NULL
    for(i in seq(from=1,to=nargs()-1,by=4))
        {
    data<-matrix(c(args[[i]],args[[i+1]],args[[i+2]],args[[i+3]]),nrow=1)
    k <- nrow(km$centers)
    d <- as.matrix(dist(rbind(km$centers, data)))[-(1:k),1:k]
    d <- matrix(d,nrow=1)
    category<- apply(d,1,which.min)
    result<-cbind(category,result)
}
    return(result)
}

现在,我的输出是这样的:

> scorekm(km,5.9,3.0,5.1,1.8,5.1,3.8,1.6,0.2)
 category category category
>[1,]        1        2

我怎样才能把它改成这样: >[1,] 1,2

输出用逗​​号分隔。

4

1 回答 1

0

正如 Roland 所问,为什么是相关的,因为我们不知道您希望如何使用您的输出。但这应该将“结果”作为带逗号的字符串返回。只需使用此result<-paste(category, ",", result, sep="")更改行result<-cbind(category, result ) 。希望这可以帮助。

问候,本

于 2013-07-25T10:36:46.350 回答