as.vector(数据)中的APCluster错误:没有将此S4类强制为向量的方法

as.vector(数据)中的APCluster错误:没有将此S4类强制为向量的方法,r,s4,coerce,R,S4,Coerce,使用未聚集的输入数据帧(fci),将从apcluster()创建一个APResult,如下所示: > apclr2q02 <- apcluster(negDistMat(r=2), fci) > show(apclr2q02) APResult object Number of samples = 1045 Number of iterations = 826 Input preference = -22.6498 Sum of simila

使用未聚集的输入数据帧(fci),将从apcluster()创建一个APResult,如下所示:

> apclr2q02 <- apcluster(negDistMat(r=2), fci)
> show(apclr2q02)

APResult object

Number of samples     =  1045 
Number of iterations  =  826 
Input preference      =  -22.6498 
Sum of similarities   =  -1603.52 
Sum of preferences    =  -1336.338 
Net similarity        =  -2939.858 
Number of clusters    =  59 
apclr2q02显示(apclr2q02) 一个结果对象 样本数量=1045 迭代次数=826 输入首选项=-22.6498 相似性之和=-1603.52 偏好总和=-1336.338 净相似性=-2939.858 集群数量=59 在线声明aggExCluster()可以接受要聚集的数据作为输入,也可以接受以前的聚集结果(ExClust或APResult)。在未聚集的数据(fci)上运行aggExCluster,代码按预期工作:

> aglomr2 <- aggExCluster(negDistMat(r=2), fci)
> aglomr2

AggExResult object

Number of samples          =  1045 
Maximum number of clusters =  1045 
>aglomr2 aglomr2
AggExResult对象
样本数量=1045
最大群集数=1045
结果可以用dendogram格式绘制,一切都很好;但是,使用上面获得的APResult(apclr2q02)作为输入,返回以下错误:

> aglomr2 <- aggExCluster(negDistMat(r=2), apclr2q02)
Error in as.vector(data) : 
  no method for coercing this S4 class to a vector

>aglomr2如果要在先前作为“
ExClust
”或“
APResult
”对象给出的聚类结果之上使用
aggecluster()
,则需要将这些对象作为参数“
x
”传递,此外,还需要提供相似性矩阵。以下是基于您的示例的自包含代码片段(请注意,从
apcluster()
返回的对象“
apres
”包括相似性矩阵):

使用相似性函数和“
APResult
”对象调用
aggExCluster()
”将无法工作,因为“
APResult
”不包含原始数据,因此
aggExCluster()
无法计算聚类所需的相似性矩阵。相反,如果
aggeExcluster()

调用时,参数“
s
”是一个相似函数,它期望参数“
x
”包含原始数据,因此将尝试将其转换为子可附加对象。这就是您收到此错误消息的原因。

如果要在先前作为“
排除对象”或“
APResult
”对象给出的聚类结果之上使用
aggExCluster()
,则需要将这些对象作为参数“
x
”传递,此外,还需要提供相似性矩阵。以下是基于您的示例的自包含代码片段(请注意,从
apcluster()
返回的对象“
apres
”包括相似性矩阵):

使用相似性函数和“
APResult
”对象调用
aggExCluster()
”将无法工作,因为“
APResult
”不包含原始数据,因此
aggExCluster()
无法计算聚类所需的相似性矩阵。相反,如果
aggeExcluster()
调用时,参数“
s
”是一个相似函数,它期望参数“
x
”包含原始数据,因此将尝试将其转换为子可附加对象。这就是您收到此错误消息的原因。

Ausgezeichnet,vielen Dank!(非常好,非常感谢!)这也适用于我的数据。Ausgezeichnet,vielen Dank!(非常好,非常感谢!)这也适用于我的数据。
cl1 <- cbind(rnorm(50,0.2,0.05),rnorm(50,0.8,0.06))
cl2 <- cbind(rnorm(50,0.7,0.08),rnorm(50,0.3,0.05))
x <- rbind(cl1,cl2)

apres <- apcluster(negDistMat(r=2), x, q=0.7)
aggExCluster(x=apres)
sim <- negDistMat(r=2, x)
apres <- apcluster(sim, q=0.7, includeSim=TRUE)
aggExCluster(x=apres)
sim <- negDistMat(r=2, x)
apres <- apcluster(sim, q=0.7)
aggExCluster(x=apres, s=sim)