我有数据集“data_file”,其中包含五列& 100万行:
ID的每个值对应于一组值“Signal_X”,“Signal_Y”和“Signal_Z”。
ID_Number :: Sample_Type :: Signal_X :: Signal_Y :: Signal_Z
2 Sample 337 1538 0.6314152
2 Sample 106 1840 0.9923422
…
2 Sample 94 1445 0.9967044
10 Sample 164 1777 0.9950826
10 Sample 183 1933 0.9931457
10 Sample 176 1590 0.9690951
…
10 Sample 139 1339 0.9820210
12 Sample 154 1397 0.9700886
12 Sample 144 1206 0.9457763
… etc
通过扫描ID我发现相关系数b / w“Signal_X” 和“Signal_Y”使用以下代码:
library(plyr)
dataAE<- ddply(data_file, " ID_Number ", summarise, CorrelationCoefficient=cor(SignalX, SignalY))
View(dataAE)
输出应该如下所示。
datasetID Correlation Coefficient
1 2 0.48083503
2 3 -0.81036062
3 10 -0.32098672
4 12 -0.20251427
5 24 -0.18004939
6 51 -0.45803370
7 54 -0.59001642
8 63 -0.53976850
etc …
通过类比,我试图找到 - 计算霍普金斯统计数据&amp;找到我的最佳簇数 数据集。
library(clustertend)
set.seed(123)
hopkins(data_file, n = nrow(data_file)-1)
我试图在
取代CorrelationCoefficient = cor (SignalX,SignalY)HopkinsStatistics=hopkins(SignalX, SignalY)
......没有结果。 手动和对于每个ID集没有问题我使用了以下代码
library(clustertend)
# Compute Hopkins statistic for dataset
set.seed(123)
subset$sampletype<- NULL
df<-scale(subset)
res <- get_clust_tendency(df, 40, graph = FALSE)
# Hopskin statistic
res$hopkins_stat
res
问题是如何自动化计算和使用循环。 请帮我。提前谢谢。