r - 将数据框与列表进行比较并提取 R 中的匹配行
问题描述
我的主数据框有 415526 个条目(行),代表 51 个微生物物种中的蛋白质列表。由于每种蛋白质具有不同数量的蛋白质结构域,因此每个条目的列数不同。
df
AC_peg_0686__[locus_tag=Adeh_0688] Response_reg Sigma54_activat HTH_8
AC_peg_0687__[locus_tag=Adeh_0689] Ribosomal_L31
AC_peg_0688__[locus_tag=Adeh_0690] Rho_N Rho_RNA_bind ATP-synt_ab
AC_peg_0689__[locus_tag=Adeh_0691] No_Domain
AC_peg_0690__[locus_tag=Adeh_0692] N_methyl
AC_peg_0691__[locus_tag=Adeh_0693] DNA_ligase_aden DNA_ligase_OB DNA_ligase_ZBD HHH_2 BRCT
AC_peg_0692__[locus_tag=Adeh_0694] Acylphosphatase
AC_peg_0693__[locus_tag=Adeh_0695] Radical_SAM DUF2344
AC_peg_0694__[locus_tag=Adeh_0696] RNase_E_G
AC_peg_0695__[locus_tag=Adeh_0697] Virul_fac_BrkB
AC_peg_0696__[locus_tag=Adeh_0698] Bac_DNA_binding
AC_peg_0697__[locus_tag=Adeh_0699] FHIPEP
AC_peg_0698__[locus_tag=Adeh_0700] Bac_export_2
AC_peg_0699__[locus_tag=Adeh_0701] Bac_export_1
AC_peg_0700__[locus_tag=Adeh_0702] Bac_export_3
AC_peg_0701__[locus_tag=Adeh_0703] FliP
AC_peg_0702__[locus_tag=Adeh_0704] FliO
.
.
.
.....and so on....till 415526
同样,我有另一个文件,其中包含蛋白质结构域列表。它有 38 个条目。我必须将主数据框与列表进行比较,并提取与列表条目匹配的行。我的清单看起来像这样
df1
Bac_export_1
Bac_export_2
Bac_export_3
Bac_export_4
ChapFlgA
CheC
FHIPEP
Flg_hook
FlgD
FlgD_ig
FlgI
FlgI
FlgM
FlgN
FlhC
FlhD
FlhE
我想要列表中每个蛋白质结构域的单独文件。
我试图比较和相交函数,但它们没有成果。
df3 <- intersect(df$col , df1$col)
这是我的最终文件的外观示例。此文件仅包含与列表中的“MotB_plug”条目匹配的条目。
Aliivibrio_salmonicida_LFI1238__peg_0951___VSAL_RS05180 MotB_plug OmpA
Aliivibrio_wodanis__peg_0687___AWOD_RS03580 MotB_plug OmpA
Grimontia_hollisae_ATCC_33564__peg_1011___AL542_RS08920 MotB_plug OmpA
Grimontia_hollisae_ATCC_33564__peg_1828___AL542_RS13325 MotB_plug OmpA
Paraphotobacterium_marinum_NSCS20N07D__peg_0036___CF386_RS00180 MotB_plug OmpA
Vibrio_alginolyticus_ATCC_17749__peg_2782___N646_RS14135 MotB_plug OmpA
Vibrio_alginolyticus_ATCC_17749__peg_3208___N646_RS16270 MotB_plug OmpA
就像上面一样,列表的每个元素应该有不同的文件。
解决方案
推荐阅读
- apache - 始终在根目录而不是子目录中执行 index.php
- python - Zoom api 问题 - 访问令牌无效 - JWT
- python - 从列表中更新 json 列表
- reactjs - 当我们在 React Hook Form 上提交时如何增加更多价值?
- python - 如何找到在多个不同文本中频繁出现的单词?
- mysql - sql 内连接和左连接 + 性能
- javascript - Cypress eslint 插件:cypress/recommended 如何忽略“unexpected token =”?
- r - 如何使用 mutate dplyr 循环
- javascript - 如何使用 lodash 从对象数组中创建具有名称和频率计数的对象
- android - 如何在 kotlin 与房间的一对多关系中插入/删除所有表?