美文网首页
kmeans_tsne

kmeans_tsne

作者: 裁尘的人儿 | 来源:发表于2019-07-31 16:57 被阅读0次
data=data.table::fread("/mnt/data/txw/scpipe/new-mix/output/gene_count.csv",header=T)   
#data.table::fread读数据只能选定列名,不能选定行名,要经过as.matrix()函数转化成矩阵的同时,指定行名
y=as.matrix(data,rownames=1)
y1=y  
#数据进行转置,使数据变成行是样本,列是基因
y1=t(y1)  

#k-means聚类
kc=kmeans(y1,centers=15,iter.max=1000) 
kc$cluster=as.factor(kc$cluster)  #查看聚类结果

#有多少个类,生成多少个颜色(rainbow(n)随机生成n种不同的颜色)
colors=rainbow(length(unique(kc$cluster)))
#给每种颜色分配代表的类别(即给每种颜色起名)
names(colors)=unique(kc$cluster) 

#tsne
library(Rtsne)
tsne=Rtsne(y1,dim=2,perplexity=30,verbose=TRUE,max_iter=500,check_duplicates=FALSE)  
#dim表示降成2维
#pca=FALSE,表示不进行PCA   
#训练数据:行为样本;列为特征

#画图并保存
png(file="myplot.png")`
plot(tsne$Y,col=colors[kc$cluster],main="tsne",pch=19)
#col表示给原数据添加一列,颜色列,为每个样本指定一个颜色
#pch=19,表示指定实心圆点,不加该参数默认是空心圆点
dev.off()   

相关文章

网友评论

      本文标题:kmeans_tsne

      本文链接:https://www.haomeiwen.com/subject/kaptdctx.html