美文网首页
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