我用Mfuzz在[R进行聚类时程微阵列数据集。Mfuzz使用“软集群”。基本上,个人可以出现在多个组中。
正如@Andy在评论中指出的那样,原始论文使用的是CTN数据。但是,我怀疑对于离散数据它应该可以正常工作。特别是因为您只是在探索数据集。这是R中的一个简单示例:
##It's a bioconductor package
library(Mfuzz)
library(Biobase)
## Simulate some data
## 6 time points and 90 individuals
tps = 6;cases = 90
d = rpois(tps*cases, 1) ##Poisson distribution with mean 1
m = matrix(d, ncol=tps, nrow=cases)
##First 30 individuals have increasing trends
m[1:30,] = t(apply(m[1:30,], 1, cumsum))
##Next 30 have decreasing trends
##A bit hacky, sorry
m[31:60,] = t(apply(t(apply(m[31:60,], 1, cumsum)), 1, rev))
##Last 30 individuals have random numbers from a Po(1)
##Create an expressionSet object
tmp_expr = new('ExpressionSet', exprs=m)
##Specify c=3 clusters
cl = mfuzz(tmp_expr, c=3, m=1.25)
mfuzz.plot(tmp_expr,cl=cl, mfrow=c(2, 2))
给出以下图: