我有一个向量列表:
l1 <- list(2:3, 4:5, 6:7, 8:9, 16:19, 15:19, 18:20, 20:21, 21:22,
23:24, 23:25, 26:27, 30:31, 31:32, 33:34, 35:36, 38:39, 42:43,
44:45, 46:47, 50:51, 54:55, 55:56, 57:58, 59:60, 64:65, 66:67,
68:69, 69:70, 73:74, 77:78, 80:81, 82:83, 84:85, 88:89, 90:91,
92:93, 94:95, 96:97, 100:101, 103:104, 105:106, 107:108)
Run Code Online (Sandbox Code Playgroud)
如果向量与彼此重叠(包括),我需要将它们合并(因此减少列表的长度),以便覆盖可能的最宽范围.
例如,取第7个元素l1,
l1 <- list(2:3, 4:5, 6:7, 8:9, 16:19, 15:19, 18:20,...
我希望这变成:
l2 <- list(2:3, 4:5, 6:7, 8:9, 15:20,...
我怎样才能有效地做到这一点?
我有以下标签分隔的输入文件.我想删除行尾的尾随选项卡并执行"在文件中",这样我就不必将修改后的数据输出到新文件.原因是存在大量数据,因此我不希望效率低下并读入数据然后再将其写出来.
Hybridization REF Gene_Symbol Chromosome Genomic_Coordinate TCGA-13-A5FT-01A-11D-A409-05 TCGA-13-A5FU-01A-11D-A409-05 TCGA-29-A5NZ-01A-11D-A409-05 TCGA-3P-A9WA-01A-11D-A409-05 TCGA-59-A5PD-01A-11D-A409-05 TCGA-5X-AA5U-01A-11D-A409-05 TCGA-OY-A56P-01A-12D-A409-05 TCGA-OY-A56Q-01A-11D-A409-05 TCGA-VG-A8LO-01A-11D-A409-05 TCGA-WR-A838-01A-12D-A409-05
cg00000029 RBL2 16 53468112 0.162232896986279 0.191627667901702 0.0712181967886229 0.0797617926225958 0.134907151266991 0.0541415985613948 0.0898579298345672 0.037865566345129 0.0681542463965581 0.101053013486289
cg00000108 C3orf35 3 37459206 NA NA NA NA NA NA NA NA NA NA
cg00000109 FNDC3B 3 171916037 NA NA NA NA NA NA NA NA NA NA
Run Code Online (Sandbox Code Playgroud)
要做到这一点,我一直在使用以下变体:
sed -i '' 's/\t\n/\n/g' input.txt
Run Code Online (Sandbox Code Playgroud)
但这甚至不会删除尾随标签.我使用的是Mac OS X,所以没有GNU.解决办法是什么?
编辑
我在这里发布了文本文件