| 查看: 1128 | 回复: 10 | |||
junruiwang新虫 (小有名气)
|
[求助]
求各位大神,perl 对特定范围内的数据求平均值已有1人参与
|
||
|
文件为: Chr Pos Y 1 49820 -1.68855 1 54414 -1.55555 1 99585 -1.05338 1 103929 -0.523771 1 124119 -0.261121 1 200009 -0.1234 1 390189 2.2456 2 48625 0.0250024 2 88663 -0.659643 2 90128 -0.302134 2 122780 -0.366919 2 555583 -1.00859 想根据第一列和第二列的范围来求第三列的平均值,具体为:第二列的按照每100,000的长度来分组,把第三列求一个平均值,如果有些范围没有数值则写为0(如下)。想得到的结果是: 1 100,000 -1.432493333 1 200,000 -0.392446 1 300,000 -0.1234 1 400,000 2.2456 2 100,000 -0.3259234 2 200,000 0 2 300,000 0 2 400,000 0 2 500,000 0 2 600,000 -1.00859 其中100,000、200,000...代表0-100,000、100,000-200,000范围的意思。 求各位大神帮忙啦! |
» 收录本帖的淘帖专辑推荐
程序 |
» 猜你喜欢
导师想让我从独立一作变成了共一第一
已经有9人回复
博士读完未来一定会好吗
已经有23人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
申请2026年博士
已经有6人回复
FMStation
至尊木虫 (知名作家)
- 应助: 591 (博士)
- 贵宾: 0.03
- 金币: 18090.7
- 红花: 97
- 帖子: 8891
- 在线: 1485.3小时
- 虫号: 2400059
- 注册: 2013-04-04
- 专业: 计算机应用技术
【答案】应助回帖
|
[perl code] # Program in Perl use Data: umper;use POSIX; my @sumY, @numY; open my $fh, '<', "output.txt" or die "could not open file: $!"; $line = <$fh>; while (my $line = <$fh> { my($Chr, $Pos, $Y) = split /\s+/, $line; $cPos = floor($Pos / 100000) ; $sumY[$Chr][$cPos]+=$Y; $numY[$Chr][$cPos]++; } for (my $j= 1; $j <= 2; $j++) { for (my $i= 0; $i <= 5; $i++) { $range = ($i+1)*100000; if ( !defined $numY[$j][$i] ) { $avg = 0; } else { $avg = $sumY[$j][$i] / $numY[$j][$i]; } print "$j $range $avg\n"; } } close $fh; [output] 1 100000 -1.43249333333333 1 200000 -0.392446 1 300000 -0.1234 1 400000 2.2456 1 500000 0 1 600000 0 2 100000 -0.3122582 2 200000 -0.366919 2 300000 0 2 400000 0 2 500000 0 2 600000 -1.00859 |
8楼2016-08-18 06:01:25
FMStation
至尊木虫 (知名作家)
- 应助: 591 (博士)
- 贵宾: 0.03
- 金币: 18090.7
- 红花: 97
- 帖子: 8891
- 在线: 1485.3小时
- 虫号: 2400059
- 注册: 2013-04-04
- 专业: 计算机应用技术
2楼2016-08-17 17:52:51
FMStation
至尊木虫 (知名作家)
- 应助: 591 (博士)
- 贵宾: 0.03
- 金币: 18090.7
- 红花: 97
- 帖子: 8891
- 在线: 1485.3小时
- 虫号: 2400059
- 注册: 2013-04-04
- 专业: 计算机应用技术
【答案】应助回帖
感谢参与,应助指数 +1
|
#!/usr/bin/perl use warnings; use strict; my $sum = 0; my $n = 0; while (<> {$sum += $_; $n++; } print $sum/$n, "\n"; https://stackoverflow.com/questi ... averages-using-perl |
3楼2016-08-17 18:09:15
FMStation
至尊木虫 (知名作家)
- 应助: 591 (博士)
- 贵宾: 0.03
- 金币: 18090.7
- 红花: 97
- 帖子: 8891
- 在线: 1485.3小时
- 虫号: 2400059
- 注册: 2013-04-04
- 专业: 计算机应用技术
4楼2016-08-17 18:10:25
James_ever
金虫 (文坛精英)
- 应助: 7 (幼儿园)
- 金币: 805.1
- 散金: 910
- 红花: 62
- 沙发: 1
- 帖子: 11151
- 在线: 1117小时
- 虫号: 308106
- 注册: 2006-12-17
- 专业: 金融工程

5楼2016-08-17 19:07:00
junruiwang
新虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 153.2
- 散金: 30
- 红花: 1
- 帖子: 89
- 在线: 16.2小时
- 虫号: 3501565
- 注册: 2014-10-27
- 性别: MM
- 专业: 作物种质资源与遗传育种学
6楼2016-08-17 19:20:04
junruiwang
新虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 153.2
- 散金: 30
- 红花: 1
- 帖子: 89
- 在线: 16.2小时
- 虫号: 3501565
- 注册: 2014-10-27
- 性别: MM
- 专业: 作物种质资源与遗传育种学
7楼2016-08-17 19:23:01
FMStation
至尊木虫 (知名作家)
- 应助: 591 (博士)
- 贵宾: 0.03
- 金币: 18090.7
- 红花: 97
- 帖子: 8891
- 在线: 1485.3小时
- 虫号: 2400059
- 注册: 2013-04-04
- 专业: 计算机应用技术
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
junruiwang: 金币+100, ★★★★★最佳答案, 感谢~ 2016-08-20 14:33:13
junruiwang: 金币+100, ★★★★★最佳答案, 感谢~ 2016-08-20 14:33:13
|
|
» 本帖已获得的红花(最新10朵)
9楼2016-08-18 06:02:35
junruiwang
新虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 153.2
- 散金: 30
- 红花: 1
- 帖子: 89
- 在线: 16.2小时
- 虫号: 3501565
- 注册: 2014-10-27
- 性别: MM
- 专业: 作物种质资源与遗传育种学
10楼2016-08-18 11:48:41













回复此楼
umper;
{
junruiwang