【发布时间】:2014-08-30 23:42:43
【问题描述】:
我有一组看起来像这样的数据
Gene U2803 U2823 U2840 U2841 U2862 U2872 U2897 U2982 U2991 U2994 U2998 U2999 U3001 U3007 U3012 U2980
A1BG-AS 7.3159 9.3802 10.77 8.701 13.6066 8.3253 9.0556 9.8801 9.0776 11.2029 7.61 10.8403 9.2378 12.1697 9.7482 5.5327
A1BG 7.4715 5.2955 10.2275 6.3606 10.1463 5.9968 6.2673 8.6119 6.153 6.7903 4.0843 13.0875 6.8167 8.3186 6.7643 5.14
A1CF 0 0 0 0 0.0026 0 0 0 0 0 0 0 0 0 0.0037 0
A2LD1 1.776 1.125 1.3508 1.2489 2.1252 2.1057 1.0177 1.6063 1.0053 0.9571 1.4972 1.3998 1.0935 2.4737 1.2063 1.7788
A2ML1 0.1024 0.092 0.0473 0.071 0.1227 0.2047 0.2481 0.1089 0.0499 0.1381 0.057 0.0953 0.0433 0.0651 0.0598 0.0434
A2M 5.4296 0.1688 2.4767 0.2507 0.5087 4.2835 2.2989 8.6027 3.1126 0.4565 0.167 2.9066 3.195 0.942 5.8904 6.7635
A4GALT 0.2918 11.5673 4.9554 0 1.6693 1.6301 0.4985 2.4444 0.6217 1.4638 3.2648 0.5773 3.1071 7.651 0.4068 5.133
A4GANLT 0 0 0 0 0.0575 0.1018 0 0.0422 0 0 0 0.0257 0.0276 0 0 0.0288
AAA1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
AAA1 18.789 24.8681 29.8037 33.3986 37.8269 24.4719 21.1101 26.9985 21.9897 25.3416 26.77 23.1337 20.5193 27.0328 23.9777 29.5313
正如您所注意到的,AAA1 和 A4GALt 在该数据集中出现了两次,这不是我想要进行的计算的理想场景。
如何通过删除具有相同名称的行来消除这种冗余,有哪些可能的方法,哪种方法最好?一种方法是保留具有最高均值或最大方差的行。
用 awk 或 perl 或 R 做这件事的小例子会很有帮助。
谢谢
【问题讨论】:
-
您需要决定要删除哪些重复记录 - 只有在做出选择后,我们才能帮助您删除它们。要“保留具有最大方差的行”,您必须指定应计算方差的总体。你想计算第一个之后所有字段的方差吗?