咱们生信技能树马拉松课程七月份学习班正在火热进行中,统计可视化知识点授课结束后照例给大家布置一些作业!精选部分优秀作业供大家学习: 题目:
绘图:
load("for_tSNE.pos.Rdata") dim(dat)## [1] 619 4head(dat)## tSNE_1 tSNE_2 cell cluster ## 6A-11 -1.910859 -26.09210 6A-11 2 ## 6A-13 -3.498666 -27.66961 6A-13 2 ## 6A-14 -7.646899 -12.26195 6A-14 2 ## 6A-15 -2.986069 -27.00602 6A-15 2 ## 6A-16 -7.633320 -12.21226 6A-16 2 ## 6A-17 -4.207616 -25.12467 6A-17 2str(dat)## 'data.frame':619 obs. of 4 variables: ## $ tSNE_1 : num -1.91 -3.5 -7.65 -2.99 -7.63 ... ## $ tSNE_2 : num -26.1 -27.7 -12.3 -27 -12.2 ... ## $ cell : chr "6A-11" "6A-13" "6A-14" "6A-15" ... ## $ cluster: Factor w/ 5 levels "0","1","2","3",..: 3 3 3 3 3 3 3 3 3 3 ...
首先,可以看出这张图是张点图,而x轴、y轴和点的颜色分别对应数据中的tSNE_1、tSNE_2和cluster,所以用映射来实现。 library(ggplot2)ggplot(dat,mapping = aes(x=tSNE_1, y=tSNE_2, col=cluster))+ geom_point() 因为一直对因子这个概念比较模糊,试一试如果cluster不是因子会怎么样。先看看如果是数值: dat$cluster=as.numeric(dat$cluster)ggplot(dat,mapping = aes(x=tSNE_1, y=tSNE_2, col=cluster))+ geom_point() 如果是字符: dat$cluster=as.character(dat$cluster)ggplot(dat,mapping = aes(x=tSNE_1, y=tSNE_2, col=cluster))+ geom_point() 这里可以看出,如果cluster是数值型,那么不转为因子的情况下用来分组就会出现大问题:R会把每一个数值都看成是一个分组,用深浅来代表不同分组。 如果cluster是一个字符串,就不会出现这个问题,得到的结果和因子是一样的。
load("for_tSNE.pos.Rdata") ggplot(dat,mapping = aes(x=tSNE_1, y=tSNE_2, col=cluster))+ geom_point()+ stat_ellipse()
y=tSNE_2, col=cluster))+ geom_point()+ stat_ellipse(aes(fill=cluster), geom = "polygon")
y=tSNE_2, col=cluster))+ geom_point()+ stat_ellipse(aes(fill=cluster), geom = "polygon", alpha=1/5)
y=tSNE_2, col=cluster))+ geom_point(size=2)+ stat_ellipse(aes(fill=cluster), geom = "polygon", linetype = 2, ###圆圈线的类型 size=1, ###圆圈线的粗细 alpha=1/5)+ theme_classic()+ theme(axis.line = element_line(size=1.2, colour = "black")) ###坐标轴的粗细 对比一下: 这次练习所get到的几个新的知识点:
|
|