使用《Bioinformatics and Molecular Evolution》Table 2.2 (page 24)中的数据:
> aa
VOL BULK POLARITY PI HYD1 HYD2 SURFACE_AREA FRACT_AREA
A 67 11.50 0.00 6.00 1.8 1.6 113 0.74
R 148 14.28 52.00 10.76 -4.5 -12.3 241 0.64
N 96 12.28 3.38 5.41 -3.5 -4.8 158 0.63
D 91 11.68 49.70 2.77 -3.5 -9.2 151 0.62
C 86 13.46 1.48 5.05 2.5 2.0 140 0.91
Q 114 14.45 3.53 5.65 -3.5 -4.1 189 0.62
E 109 13.57 49.90 3.22 -3.5 -8.2 183 0.62
G 48 3.40 0.00 5.97 -0.4 1.0 85 0.72
H 118 13.69 51.60 7.59 -3.2 -3.0 194 0.78
I 124 21.40 0.13 6.02 4.5 3.1 182 0.88
L 124 21.40 0.13 5.98 3.8 2.8 180 0.85
K 135 15.71 49.50 9.74 -3.9 -8.8 211 0.52
M 124 16.25 1.43 5.74 1.9 3.4 204 0.85
F 135 19.80 0.35 5.48 2.8 3.7 218 0.88
P 90 17.43 1.58 6.30 -1.6 -0.2 143 0.64
S 73 9.47 1.67 5.68 -0.8 0.6 122 0.66
T 93 15.77 1.66 5.66 -0.7 1.2 146 0.70
W 163 21.67 2.10 5.89 -0.9 1.9 259 0.85
Y 141 18.03 1.61 5.66 -1.3 -0.7 229 0.76
V 105 21.57 0.13 5.96 4.2 2.6 160 0.85
> aa.pc=prcomp(aa, center=TRUE, scale.=TRUE)
> aa.pc
Standard deviations:
[1] 1.88954924 1.67729608 0.88574923 0.65278312 0.53130822 0.27233782 0.21394709
[8] 0.05808934
Rotation:
PC1 PC2 PC3 PC4 PC5
VOL 0.05790316 -0.58494270 0.1057571970 -0.09311996 0.1684497
BULK -0.22089815 -0.48085679 0.1685873871 -0.15647005 -0.6842181
POLARITY 0.44390146 -0.10372198 0.1432388489 0.73088587 -0.1747201
PI 0.18580066 -0.25244261 -0.9417631776 0.02722752 -0.0522075
HYD1 -0.49279466 -0.03284274 -0.1281013177 0.35033569 -0.3534423
HYD2 -0.50821923 0.03312719 -0.1292531953 -0.12776013 0.1837842
SURFACE_AREA 0.10045084 -0.56587879 0.1408585179 -0.10640314 0.3652725
FRACT_AREA -0.45283231 -0.17244828 0.0009997326 0.53059489 0.4220135
PC6 PC7 PC8
VOL -0.11705506 0.21351836 -0.739571539
BULK 0.25124136 -0.35181704 0.109655303
POLARITY 0.39252691 0.22974777 0.009653888
PI 0.04562347 -0.09136074 0.030622127
HYD1 -0.50083501 0.48686655 0.064292387
HYD2 0.70974650 0.41191312 -0.019940539
SURFACE_AREA -0.11107422 0.24097250 0.659316956
FRACT_AREA -0.01018472 -0.55201871 -0.027363410
> summary(aa.pc)
Importance of components:
PC1 PC2 PC3 PC4 PC5 PC6 PC7
Standard deviation 1.8895 1.6773 0.88575 0.65278 0.53131 0.27234 0.21395
Proportion of Variance 0.4463 0.3517 0.09807 0.05327 0.03529 0.00927 0.00572
Cumulative Proportion 0.4463 0.7980 0.89603 0.94930 0.98459 0.99386 0.99958
PC8
Standard deviation 0.05809
Proportion of Variance 0.00042
Cumulative Proportion 1.00000
PC1和PC2能够解释79.8%的variation。
上个月写了《使用ggplot画图》一文,图片太多,一下子把博客的12G流量给用光了,月中博客就被停了,小伙伴们太给力了,blog不能访问,真是件不爽的事情。
言归正传,从2002年使用redhat 7.1开始,就没中止过使用linux,为什么要说again呢,因为在过去几年的工作时间里,使用的是OS X和win7做为桌面的,linux只在服务器端使用。自从用了OS X之后,就不想再用linux当桌面了,OS X绝对是节省生命的系统,本身是unix-like系统,对各种桌面软件支持又好,特别是中华大地,linux还是小众,用来当桌面实在是各种坑。
不过现在又回到学生时代了,所以还得继续学生屌丝的折腾,本科时从redhat,debian到gentoo,硕士时实验室的机器用ubuntu,而笔记本用NetBSD。这么多年的使用,该有的坑都填了,但是时代在发展,新坑还是不断有的,使用百度云来同步化文献库,就是最近的新坑,装上linux之后,发现度娘没有客户端,首先想到的当然是wine,wine出来的偶尔能行,时常崩溃,跟它死磕我也会崩溃,github上寻找开源实现,各种功能缺失和限制,那就只能虚拟机了,把home目录做为共享盘,挂到虚拟机中,但是度娘一直都是占100% CPU,然后数据无法同步,只有两个原因,不是硬盘就是网络,感觉好像我一个分区800G太大了,但在虚拟中对硬盘读写正常,网络因为使用NAT,虚拟成内网,有可能是这个原因,于是换成bridge,把虚拟机当成现实网络中的另一台主机,但度娘依然只占CPU,不干活。那只能还是硬盘问题,最后问题解决了,通过在linux中提供samba服务,然后在虚拟机中通过网上邻居把共享目录映射成网络驱动器,这时候度娘终于肯干活了。都不知道是virtualbox的驱动有问题,还是度娘太挑,这太TM坑了。
Why use ggplot2
ggplot2是我见过最human friendly的画图软件,这得益于Leland Wilkinson在他的著作《The Grammar of Graphics》中提出了一套图形语法,把图形元素抽象成可以自由组合的成分,Hadley Wickham把这套想法在R中实现。
为什么要学习ggplot2,可以参考ggplot2: 数据分析与图形艺术的序言(btw: 在序言的最后,我被致谢了)。
Hadley Wickham也给出一堆理由让我们说服自己,我想再补充一点,Hadley Wickham是学医出身的,做为学生物出身的人有什么理由不支持呢:)
从2007年写了第一篇文章之后,我发现管理文献真不是人干的,一直以来使用Zotero来管理文献,自从有了dropbox之后,就想把文献库放在dropbox上,一来有个云备份,不怕硬盘坏,二来嘛,实验室电脑和个人电脑可以实时同步化,无奈dropbox空间太小,而我的zotero早已超过10G,因为电子书也放在里面,只能做罢。
度娘出手还是很大方的,我现在的网盘已经有3T,包括之前在推广阶段用1元买的1T。
生物坑很多人画图只会直方图,统计只会T检验,在暨大见过太多的学生连T检验都不会,分不清SEM和SD的差别,也不清楚T检验那几个简单参数的含义。我写统计笔记也是因为不想重复性地跟学生讲解T检验。
Barplot和T test一样普遍而流行,barplot适合于表示计数数据和比例,显示比例也可以用pie plot,但直方图比饼图要好,因为人类的眼睛适合于比较高度,而不是弧度。
多半时候生物学数据并非简单的计数数据,对于测量数据,在展示数据分布时,很多人会使用他们熟悉的barplot,用高度来表示mean,然后再加上errorbar,这样展示数据,信息量是非常低的,使用boxplot能够提供更多的数据分布信息,能更好地展现数据,但可能很多人只会在excel里画barplot,Nature Methods 2013年的文章中有100个barplot图,而只有20个boxplot图,从这里就可以看出来,用boxplot的人远远没有barplot多,于是NPG怒了,写了两篇专栏文章Points of View: Bar charts and box plots和Points of Significance: Visualizing samples with box plots并且发表了一篇BoxPlotR: a web tool for generation of box plots方便大家画boxplot,如此简单的web tool能够发Nature Methods,实在是让人羡慕妒忌恨啊。