返回具有部分匹配条目的多行中的单行

时间:2019-03-28 13:57:19

标签: r

我将这个问题更清楚地重新发布。不幸的是,我以前的帖子没有提供任何解决方案。请帮我解决一下这个。

以下是我想做的事情:

我有一个名称为蛋白质组的数据集。它具有14列和数千行。 第1列第5列:GHFCLKPGCNCNFHAESTRGYR 第2行第5列:FCLKPGCNFHAESTRGYR 第3行第5列:GHFCLKPGCNFHAESTR 第4行:第5列:GCNFHAESTR

请单击此链接以查看原始数据框的一部分的屏幕截图; i67.tinypic.com/2wd0ap3.png[/IMG]

因此,在第2行中,第1行的前两个字母丢失;在第3行中,缺少第1行的最后三个字母;在第4行中,缺少第1行的前七个字母和最后三个字母。

第2、3和4行反映了我一直用于生成数据的科学方法的人为因素,因此我想删除这些条目。

我希望R仅返回四行之一,最好返回第一行,然后删除其余行。 R做到这一点的方法是,首先找到具有匹配字母字符串的所有行,然后在仅保留一个的同时消除这些行。例如,在上述数据集中,GCNFHAESTR在所有四行中均匹配,因此我希望R仅返回我一行,最好是返回第一行。但是我不知道该怎么做。

希望这一次更有意义。我期待听到专家的来信。

谢谢!

1 个答案:

答案 0 :(得分:0)

为响应Julian_Hn的建议,以下是我的数据集的处理量:

dput(Proteome)
    structure(list(Protein.name = structure(c(1L, 1L, 1L, 1L, 2L, 
    3L), .Label = c("HCTF", "IFT", "ROSF"), class = "factor"), X..Proteins = c(5L, 
    5L, 5L, 5L, 3L, 7L), X..PSMs = c(3L, 1L, 6L, 2L, 2L, 4L), Previous.5.amino.acids =   structure(c(4L, 
5L, 4L, 2L, 3L, 1L), .Label = c("CWYAT", "FCLKP", "MGCPT", "NCTMY", 
"TMYFC"), class = "factor"), Sequence = structure(c(5L, 1L, 4L, 
2L, 3L, 6L), .Label = c("FCLKPGCNFHAESTRGYR", "GCNFHAESTR", "GFGFNWPHAVR", 
"GHFCLKPGCNFHAESTR", "GHFCLKPGCNFHAESTRGYR", "GNFSVKLMNR"), class = "factor")), .Names = c("Protein.name", 
"X..Proteins", "X..PSMs", "Previous.5.amino.acids", "Sequence"
), class = "data.frame", row.names = c(NA, -6L))