我有一个制表符分隔的文件abc.txt
contig score guide
1:100-101 7 AAA
1:100-101 6 BBB
1:100-101 5 CCC
1:100-101 4 DDD
1:100-101 3 EEE
1:100-101 2 FFF
1:100-101 1 GGG
1:100-101 90 HHH
1:100-101 111 III
1:100-101 1111 JJJ
1:200-203 503.5333333 KKK
1:200-203 570.7212121 LLL
1:200-203 637.9090909 MMM
1:200-203 705.0969697 NNN
1:200-203 772.2848485 OOO
1:200-203 839.4727273 PPP
1:200-203 906.6606061 QQQ
1:200-203 973.8484848 RRR
2:300-301 1041.036364 SSS
2:300-301 1108.224242 TTT
2:300-301 1175.412121 UUU
2:300-301 1242.6 VVV
2:300-301 1309.787879 ABC
2:300-301 1376.975758 CGA
2:300-301 1444.163636 ACD
第 1 列-Contig 有多个重复值,第 2 列有分数,第 3 列有与第 2 列分数对应的引导字母。我需要为第一列(contig)中的相似值选择前 5 个分数,并在那里打印对应的第 3 列值。
输出应如下所示,第一列具有唯一的列 1-Contig 条目,接下来的 10 行用于前 5 个分数和相应的列 3 引导字母
Score-1 Guide-1 Score-2 Guide-2 Score-3 Guide-3 Score-4 Guide-4 Score-5 Guide-5
1:100-101 1111 JJJ 111 III 90 HHH 7 AAA 6 BBB
1:200-203 973.8484848 RRR 906.6606061 QQQ 839.4727273 PPP 772.2848485 OOO 705.0969697 NNN
2:300-301 1444.163636 ACD 1376.975758 CGA 1309.787879 ABC 1242.6 VVV 1175.412121 UUU
我使用了“dplyr”和“desctools”包,但是运行时出现了一些错误。
library(dplyr)
library(DescTools)
file <- "abc.txt"
x=read.table(file)
b <- Large(x, k=5, unique = FALSE, na.last=NA)
并得到这个错误
Error in Large(x, k = 5, unique = FALSE, na.last = NA) :
Not compatible with requested type: [type=character; target=double].
我被要求在 excel 中使用“sumproduct、large、iferror 和 vllokup”公式执行此操作,但是对于大型数据集,我想使用 R 提取文件。
任何帮助都感激不尽