| 查看: 303 | 回复: 0 | ||
[求助]
解释一下下面perl程序每一行的意思
|
|
比如有这样一个矩阵: sox 7.2 3.8 6.8 9.2 5.6 sox 5.4 2.3 4.6 8.9 9.0 sox 6.7 NA 7.8 9.0 3.1 goo 2.4 6.7 NA 9.0 2.1 goo 2.1 5.6 7.8 9.7 1.2 pkk 2.5 4.3 6.5 4.9 0.2 pkk 2.1 3.4 3.2 NA 4.6 pkk 3.2 5.6 6.7 9.1 2.2 这个矩阵很简单,就是有一些同名的行,现在我要做的是,把这些同名的行的数据按每一列合并起来,按什么合并,按照每一列的平均值来合并 就是说,比如行名为sox的行,第一列数据为: 7.2, 5.4, 6.7 那么第一列的平均值就是(7.2+5.4+6.7)/3=6.4, 第二列数据为3.8, 2.3, NA, 那么平均值就是 (3.8+2.3)/2=3, 以此类推,得到每一列的平均值,作为最后的值,那么行名为sox的行最后就合并为: sox 6.4 3 .... 下列是程序: #!/usr/bin/perl use strict; use warnings; use Data: umper;my %hash; my %line; while(<> {my @a = split; for my $i (0..($#a-1)) { $hash{$a[0]}->[$i] += $a[($i+1)]; $line{$a[0],($i)}++ ; } } for my $k (keys %hash) { for my $i (0..(@{$hash{$k}}-1)) { $hash{$k}->[$i] /= $line{$k,($i)}; } } print Dumper(\%hash); |
» 猜你喜欢
导师想让我从独立一作变成了共一第一
已经有8人回复
博士读完未来一定会好吗
已经有23人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
申请2026年博士
已经有6人回复

找到一些相关的精华帖子,希望有用哦~
请帮忙编写一个perl程序处理文本
已经有26人回复
Perl 生物信息学编程求助,运行出现问题,烦请帮忙查找一下错误,谢谢!
已经有3人回复
VB解释
已经有3人回复
请问一下 中科院报名的“硕转博”是什么意思啊?
已经有5人回复
请教Windows系统下perl脚本的ARGV应用问题,谢谢
已经有5人回复
程序语言版拟开新子版“Shell&Perl&Python”
已经有10人回复
这个是什么意思?
已经有14人回复
大家帮我看看这个拒稿信是什么意思?
已经有10人回复
科研从小木虫开始,人人为我,我为人人













umper;
{
回复此楼
点击这里搜索更多相关资源