C将构造函数的结果绑定到R中的数据帧
我执行聚类分析,必须使用apcluster库C将构造函数的结果绑定到R中的数据帧,r,dataframe,R,Dataframe,我执行聚类分析,必须使用apcluster库 library(apcluster) ## create four synthetic 2D clusters cl1 <- cbind(rnorm(30, 0.3, 0.05), rnorm(30, 0.7, 0.04)) cl2 <- cbind(rnorm(30, 0.7, 0.04), rnorm(30, 0.4, .05)) cl3 <- cbind(rnorm(20, 0.50, 0.03), rnorm(20, 0.
library(apcluster)
## create four synthetic 2D clusters
cl1 <- cbind(rnorm(30, 0.3, 0.05), rnorm(30, 0.7, 0.04))
cl2 <- cbind(rnorm(30, 0.7, 0.04), rnorm(30, 0.4, .05))
cl3 <- cbind(rnorm(20, 0.50, 0.03), rnorm(20, 0.72, 0.03))
cl4 <- cbind(rnorm(25, 0.50, 0.03), rnorm(25, 0.42, 0.04))
x <- rbind(cl1, cl2, cl3, cl4)
## run apcluster() (you may replace the Euclidean distance by a different
## distance, e.g. driving distance, driving time)
apres <- apcluster(negDistMat(r=2), x, q=0)
和错误
Error in apres$Clusters : $ operator not defined for this S4 class
我该怎么办
[,1] [,2] cluster
[1,] 0.3671142 0.6204475 2
第一个问题是,
apres
不是S3类对象,使用$
是行不通的。请参见apres
,您将看到@
以类似方式使用。特别是,为了得到结果集群,您需要
cls <- apres@clusters
那么我们可以做你尝试过的事
head(cbind(x, cluster = as.integer(names(clsNm))), 2)
# cluster
# [1,] 0.2526693 0.6764543 1
# [2,] 0.2781545 0.6774726 1
第一个问题是,
apres
不是S3类对象,使用$
是行不通的。请参见apres
,您将看到@
以类似方式使用。特别是,为了得到结果集群,您需要
cls <- apres@clusters
那么我们可以做你尝试过的事
head(cbind(x, cluster = as.integer(names(clsNm))), 2)
# cluster
# [1,] 0.2526693 0.6764543 1
# [2,] 0.2781545 0.6774726 1