| 查看: 350 | 回复: 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); |
» 猜你喜欢
医学类期刊求推荐
已经有5人回复
生活琐事由它去
已经有4人回复
提交了我也来说说感想
已经有12人回复
青B发送上会通知了吗
已经有9人回复
西安交大新媒学院副院长用撤稿论文结题
已经有6人回复
论文撤稿了
已经有8人回复
化学专业申博
已经有4人回复
某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路!
已经有5人回复
26/27申博自荐
已经有9人回复
博士申请
已经有3人回复

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












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