Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何为大型数据集实现具有p值的分层聚类?_R_Cluster Analysis_Dendrogram_Statistics Bootstrap - Fatal编程技术网

R 如何为大型数据集实现具有p值的分层聚类?

R 如何为大型数据集实现具有p值的分层聚类?,r,cluster-analysis,dendrogram,statistics-bootstrap,R,Cluster Analysis,Dendrogram,Statistics Bootstrap,我试图在代表海洋捕食者多物种观测的大型数据集(数千条记录和13个变量)上进行层次聚类分析(基于Ward方法),以确定物种组成中可能存在的重要聚类。 每个记录都有每个物种的日期、时间等和存在/不存在数据(0/1) 我尝试使用函数pvclust进行分层聚类。我转置了数据(pvclust用于转置表),然后对数据运行pvclust,选择提花距离(“R中的二进制”)作为距离度量(适用于物种pres/abs数据)和Ward方法(“Ward.D2”)。我使用了“parallel=TRUE”来减少计算时间。然而

我试图在代表海洋捕食者多物种观测的大型数据集(数千条记录和13个变量)上进行层次聚类分析(基于Ward方法),以确定物种组成中可能存在的重要聚类。 每个记录都有每个物种的日期、时间等和存在/不存在数据(0/1)

我尝试使用函数
pvclust
进行分层聚类。我转置了数据(
pvclust
用于转置表),然后对数据运行
pvclust
,选择提花距离(“R中的二进制”)作为距离度量(适用于物种pres/abs数据)和Ward方法(“Ward.D2”)。我使用了
“parallel=TRUE”
来减少计算时间。然而,使用默认值
nboots=1000
,我的计算机无法在数小时内完成计算,最后我得到了ann错误,因此我尝试使用较低的nboots(100)

我不能在这里提供我的数据集,我认为提供一个小的测试数据集是没有意义的,因为这里的主要问题之一似乎是数据集本身的大小。但是,我提供了用于换位、聚类和绘图的代码行:

tdata <- t(data)
cluster <- pvclust(tdata, method.hclust="ward.D2", method.dist="binary", 
                   nboot=100, parallel=TRUE)
plot(cluster, labels=FALSE)

tdata如果看不到您的数据样本,除了猜测之外,不可能做更多的事情。您提到有“日期、时间等”信息,但这通常不包括在分析中。其次,package
pvclust
中函数
pvclust
的手册页面只提供了
method.dist
的三个选项,并且没有一个选项是“二进制”的,因此不清楚此方法是否适用于存在/不存在数据(请与软件包维护人员核实)。第三,首先在数据子集上测试代码,例如“数千条记录”中的100或200条。您好@dcarlson,感谢您的关注!因此,日期、时间等不在存在/不存在矩阵中,因此不会影响聚类。其次,如果您查看rdocumentation,它会说method.dist的选项是“相关”、“非中心”、“abscor”或dist函数中允许的方法参数之一”,其中包括“二进制”。我尝试了500条记录——对于nboots=100,显著性非常低。这里我得到了nboot=1000的输出,我将把这个图添加到我的帖子中。