下面是一个需要计算相同基因的exon的长度的文件,即根据相同的基因,先计算基因的起点到终点的距离,再对相同的基因的的exon距离求和
文件格式:
aggregate这个函数的功能比较强大,它首先将数据进行分组(按行),然后对每一组数据进行函数统计,最后把结果组合成一个表格返回
data<-read.table("../../../test/test.txt",header = T,stringsAsFactors = F)
data$length<-data[,4]-data[,3]
data2<-aggregate(.~GENE,data[,c(5:6)],sum)
head(data2)
awk -F '\t' '{d[$5]+=$4-$3}END{for(c in d){print c, d[c]}}' test.txt | sort | head
其实这里awk与python中的字典类似,将第五列当做字典的key。