1
ahxxm 2013-06-02 19:50:20 +08:00
科研应该也算是实际应用吧,我这正好有个问题不知道怎么解决,贴出来给lz看看……
图1 : pig_sus.blast是用blat处理原始数据后得到的输出文件,C090_1.blast(以及其他blast文件)是用于对比的数据。 pig_sus.blast中,第一列是query,有重复项,取evalue最小的、identity最大的(格式见http://edwards.sdsu.edu/labsite/index.php/ramys/238-blast-output-8),已经处理完了,R代码如下: /* x = read.csv("pig_sus.blast", sep = "", header = FALSE) x = subset(x, subset = !duplicated(x[c("V1")])) */ 然后合并两组数据发现没对齐,图2: 合并代码如下: /* x = x[1:239,] c = c("XV2", "XV9", "XV10", "YV2", "YV9", "YV10") comp = data.frame(x[,2], x[,9], x[,10], y[,2], y[,9], y[,10]) colnames(comp) = c */ line 125时,x的V2出现了新项chr11,原本与y[125, ]对应的chr1变成了126。 图3: 所以想根据V1来进行合并,把类似POR_C090_I10_I10的新项单列成之后,剩余项对齐合并,再进行对比。 对比原则是:两组数据的V2 V9 V10都一致则判定为一致,最后需要得到 一致项/总项数 这个比例。 -------- ps1:看id我们好像在twitter上互fo了哟~ ps2:为了处理数据还重新编译了一遍blat... |
2
ahxxm 2013-06-02 20:07:19 +08:00
我好像自己搞定了 = = V1一样,V2就都一样的,所以:
merge = merge(x,y, by = "V1") merge = subset(merge, V9.x = V9.y) 再把行数相除就行了…… 其实我都不知道自己在做什么,帮人做作业,抽象成这个过程。这些大概就是实际中需要的技能吧…… 求大牛指导 |
4
likuku 2013-06-03 04:10:31 +08:00
多年前也作一个半个人的项目,只是统计画图什么,本来也想搞R,后来看麻烦,最终就Python+Gnuplot了事。
|
5
quake0day 2013-06-03 06:24:43 +08:00
新成立的IDL百度研究院专门招你们这个方向的。
|
6
haooyi 2013-06-03 10:31:38 +08:00
数据挖掘不太了解,转给你一条豆瓣工程师的微博。
了解豆瓣技术团队必看 http://www.douban.com/note/65095757/ Data Scientist的需求 http://www.douban.com/note/247983915/ |
8
busyluo 2016-11-29 11:47:48 +08:00
不知道楼主有没有坚持下去。
|