查看: 3891|回复: 4

[R语言] 根据某一列的数值,重复其他列的次数为这个值的数值数

[复制链接]

钵水母

Rank: 3Rank: 3

主题
3
注册时间
2019.12.4
在线时间
12 小时

发表于 2020.11.12 14:53:05 | 显示全部楼层 |阅读模式
100奥币
比如下面所述表格:chr     start     end    number
chr1   112      134     3
chr2   234      245     2

想要输出为:
chr     start     end
chr1   112      134
chr1   112      134
chr1   112      134
chr2   234      245
chr2   234      245

求大神帮忙写一段命令能执行这个操作   

最佳答案

查看完整内容

这个脚本试试 [mw_shl_code=perl,true]open A,"$ARGV[0]" ; ; my @all=; my (@num,@info); foreach my $k(@all){ chomp($k); my @line=(split /\s+/,$k); my $rep=pop @line; push @num,$rep; push @info,join("\t",@line); } print "chr\tstart\tend\n"; for(my $k=0; $k
葱葱葱!
回复

使用道具 举报

中华鲟

Rank: 5Rank: 5

主题
13
注册时间
2018.1.3
在线时间
298 小时

热心会员活跃会员


发表于 2020.11.12 14:53:06 | 显示全部楼层
这个脚本试试
[Perl] 纯文本查看 复制代码
open A,"$ARGV[0]" ;

<A>;
my @all=<A>;
my (@num,@info);
foreach my $k(@all){
	chomp($k);
	my @line=(split /\s+/,$k);
	my $rep=pop @line;
	push @num,$rep;
	push @info,join("\t",@line);
}

print "chr\tstart\tend\n";
for(my $k=0; $k<@num; $k++){
	for(my $i=0; $i<$num[$k]; $i++){
		print"$info[$k]\n";		
	}
}
close A;
新的一天加油!
回复

使用道具 举报

中华鲟

Rank: 5Rank: 5

主题
1
注册时间
2016.9.4
在线时间
144 小时

发表于 2020.11.16 10:29:39 | 显示全部楼层
大裤衩 发表于 2020.11.13 06:41
这个脚本试试
[mw_shl_code=perl,true]open A,"$ARGV[0]" ;

可能还需要写出怎么执行代码
jinriyiqiandao^_^
回复

使用道具 举报

钵水母

Rank: 3Rank: 3

主题
3
注册时间
2019.12.4
在线时间
12 小时

 楼主| 发表于 2020.11.16 16:34:18 | 显示全部楼层
大裤衩 发表于 2020.11.13 14:41
这个脚本试试
[mw_shl_code=perl,true]open A,"$ARGV[0]" ;

这个可以用 感谢!
葱葱葱!
回复

使用道具 举报

钵水母

Rank: 3Rank: 3

主题
3
注册时间
2019.12.4
在线时间
12 小时

 楼主| 发表于 2020.11.16 16:35:18 | 显示全部楼层
lierking 发表于 2020.11.16 10:29
可能还需要写出怎么执行代码

perl A.pl A > B
葱葱葱!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表