前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据分析中的指鹿为马(一)

数据分析中的指鹿为马(一)

原创
作者头像
生信小博士
发布2024-03-22 00:14:00
610
发布2024-03-22 00:14:00
举报
文章被收录于专栏:单细胞单细胞

写在开头

数据分析中经常会有一些模棱两可的数据出现。如何让数据“为我所用”就很需要数据处理的技巧了。

问题来源

代码语言:javascript
复制
DotPlot(subset_data,features =           c( "Tmsb10",            'COL1A1','POSTN','CCN2',"FN1","TGFB1"          )%>% stringr::str_to_title() ,group.by ='group_by_split' )+RotatedAxis()​getwd()​DotPlot(subset_data,features =           c( "Tmsb10",             'COL1A1','POSTN','CCN2',"FN1","TGFB1"          )%>% stringr::str_to_title() ,group.by ='group_by_split' )+RotatedAxis()+  ggplot2::coord_flip()​

我研究的课题中Postn为关键分子,我想证明:在myofibroblast细胞中SIO2组别的Postn表达比NS高。

从上面的Dotplot图,根本看不出来孰高孰低,那怎么办?

解决办法

我知道,你可能也像我一样不止一次遇到过这种苦恼。理论上myofibroblast细胞中在SIO2刺激之后的Postn表达就会比NS高,但是目前的dotplot上来看升高并不明显。

我们可以调整scale  bar,说不定会有惊喜发现

代码语言:javascript
复制
p=DotPlot(subset_data ,col.max = 3,col.min = 2,          features =   c( "Tmsb10",                          'COL1A1','POSTN','CCN2',"FN1","TGFB1"          )%>% stringr::str_to_title(),group.by ='group_by_split')+RotatedAxis()p2 =    p+ggplot2::coord_flip()+ theme(axis.text.x = element_text(angle = 45,size = 9)) #,face = 'bold'print(p2)

这样的图不是我想要的,我需要在sio2组别高!换一张看看

代码语言:javascript
复制
p=DotPlot(subset_data ,col.max = 1.2,col.min = 1,          features =   c( "Tmsb10",                          'COL1A1','POSTN','CCN2',"FN1","TGFB1"          )%>% stringr::str_to_title(),group.by ='group_by_split')+RotatedAxis()p2 =    p+ggplot2::coord_flip()+ theme(axis.text.x = element_text(angle = 45,size = 9)) #,face = 'bold'print(p2)

上面这图其他基因的存在会影响我的判断,再换一张

代码语言:javascript
复制
p=DotPlot(subset_data ,col.max = 1.2,col.min = 1,          features =   c(  'POSTN'          )%>% stringr::str_to_title(),group.by ='group_by_split')+RotatedAxis()p2 =    p+ggplot2::coord_flip()+ theme(axis.text.x = element_text(angle = 45,size = 9)) #,face = 'bold'print(p2)

神奇吗?本来NS组别的postn是高表达,但是现在图上sio2组别显示的更高!

什么?你觉得这还不够明显?那我们再改!

代码语言:javascript
复制
p=DotPlot(subset_data ,col.max = 1.2,col.min = 1,dot.scale = 15,          features =   c(  'POSTN'          )%>% stringr::str_to_title(),group.by ='group_by_split')+RotatedAxis()p2 =    p+ggplot2::coord_flip()+ theme(axis.text.x = element_text(angle = 45,size = 9)) #,face = 'bold'print(p2)​

现在够明显了吧!

对比一下第三张图:

相同的数据,我们似乎可以得到截然相反的数据。是不是随心所欲了?你会这样玩弄单细胞可视化吗

思考

你认同这种夸张的处理方式吗?

数据分析究竟如何才是正确的?

你还相信数据可视化吗?

是不是我想用哪种就用哪种呢?

下期再见~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题来源
  • 解决办法
  • 思考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档