【发布时间】:2014-08-24 10:35:38
【问题描述】:
我有这张桌子:
3702 GO:0009611 0.682
3711 GO:0009611 35.418
4081 GO:0009611 18.072
3702 GO:0033554 0.400
3702 GO:0006812 0.378
3702 GO:0006412 0.373
3702 GO:0009058 0.346
3702 GO:0051641 0.312
29760 GO:0009611 28.697
我不关心第一列。第 2 列重复了一些值。我想要得到的是data.frame,其中第一列是我的初始表的第 2 列的值,而我的输出的第二列将是我的初始表的第 3 列的相应平均值。
类似:
GO:0051179 1.7398
GO:0016311 2.1595
GO:0010467 1.45633
GO:0044093 15.483
GO:0006811 2.4175
GO:0044238 0.927667
GO:0006812 3.0138
GO:0006807 1.048
事实上,我已经使用 awk 得到了这个输出:
awk '{print $2"\t"$3}' BP.txt | awk '{hash1[$1]+=$2} ; {hash2[$1]+=1} END {for (x in hash1) {print x"\t"hash1[x]/hash2[x]}}'
但不知道如何在 R 中执行此操作。
【问题讨论】: