好端端的一篇文章,因为用了DAVID,在PubPeer上就被吐槽了:
RStudio太成功,以至于有些新手只知有RStudio,不知有R。在R kernel in Jupyter notebook 3和auto-complete in ESS两篇文章中,我介绍了在Jupyter和Emacs里使用R。
《按地理位置分面》这篇文章中,最后我故意把美国地图拖成心型,我知道你们没看懂,大家用一样的软件,有些人只会照着文档来,有些人却能够超越文档,做出作者都没想到的事情。像这个心型排版的美国各州,诚然是没有什么意义的,可以说是瞎扯蛋了,但这里我其实隐藏了一个我想表达但没说出来的信息,抛开地理信息,这个包可以很好玩,我想这一点,可能连作者也没想到,因为作者说了他的想法来自于statebins包,他一心想要做地理位置分面。
然而看到这个心型,难道你在感觉瞎搞的时候,心中没闪过一个念头?这玩意可以瞎搞!瞎搞!瞎搞啊!
还记得《ggtree hex sticker》一文吧?画了几个六角贴,纯代码生成。时隔半年,原来的ggtree已经分成了treeio
和ggtree
两个包,而我也做了这两个包的六角贴,终于我花了289美元印了一大波贴纸+磁贴。
CRAN刚上线的新包geofacet
,可以让ggplot2分面按指定的地理位置来,比如下面的数据,美国各州各项指标的排名:
head(state_ranks)
state name variable rank
1 AK Alaska education 28
2 AK Alaska employment 50
3 AK Alaska health 25
4 AK Alaska wealth 5
5 AK Alaska sleep 27
6 AK Alaska insured 50
我们正常画图是这样子的:
最近看一个画图的公众号,基本上通篇是代码,最后上个图,我觉得作者就只想表达「哇,我好牛逼」,读者看完可能也只是发出一句「好牛逼」,然后就没有然后了。且不说他读的数据是他电脑上的,你拿了代码也不好重复,最主要是代码死长,缺少解释!
我的写作风格则不一样,一篇文章我一般只会讲解一个点,力图讲清楚,让别人看明白。比如bootstrap分段标记这一篇,代码足够短且简单,但我还是分模块来讲,一行画树,一行做bootstrap分段标记,最后一行修图,虽然三行,但按功能分开,再加上文字解释,读懂是必须的。再比如纯代码生成banner也是分成加载中文字体、读图、图上嵌图三块。即使简单的代码,也要分模块配以文字解析。
我每次只讲解一个点,但有些知识点是关联的,所以有可能会有断片的情况出现,比如之前写phylomoji,就有同学表示没看懂,这个用到了ggtree和emojifont,两个包我都写过很多文介绍,所以在写phylomoji时都没有介绍,如果没看过以前文章的人,可能就不清楚了。所以呢,适当的时候,汇总一下,是很有必要的。
emojifont包我基本上都介绍完了,如果你能通读这几篇文章,那么你必然能够用emoji来作图装逼,能够用emoji来娱乐自己,就像我用emoji给自己快乐一样!
虽然我不喜欢DAVID,但很多用户喜欢,所以clusterProfiler也支持了,最近github上又有人要求支持自定义背景。
Dear Guangchuang,
I am using clusterProfiler in Kegg pathway enrichment analysis, it is useful and nice. I am looking for a function which accept background and has ability to deal with Ensembl gene ID.
In a function enrichDAVID it can takes ensembl gene id as an input format, but not allows to enter background.
enrichDAVID(gene = gene, idType="ENSEMBL_GENE_ID", annotation="KEGG_PATHWAY", species= "hsa")
Other command enrichKEGG has a background input but only takes entrez gene id,
enrichKEGG(gene, organism = "hsa", keyType = "kegg", universe)
I have tried to convert my ensembl gene IDs to entrez gene id, but some ensembl gene IDs represent more than one entrez gene ID. I downloaded KEGG pathway dataset to apply fisher exact test. however, genes are in entrez ID and i am still dont know how to convert.