在R中的数据框中搜索字符串列表

时间:2017-03-07 11:05:26

标签: r dataframe grep

我有一个名称列表,以及一个包含许多不同列的data.frame。如何在数据框中检索其row.name是列表中的名称之一的行?

例如,如果我的数据框中的row.names有很多行,包括TC09001536.hg.1TC03002852.hg.1TC18000664.hg.1名称,这些名称保存在名为Top.list的列表中。 假设我的数据框被称为df,那么我尝试了:

test <- df[grep(Top.list, df$cluster_id),]

cluster_id列中查看,如果匹配列表中的名称,则给我整行。

1 个答案:

答案 0 :(得分:0)

这应该有效:

<?php echo '<script>$(function() {
       $("#btnExistReceiver").click(function() {
          $("#receiverForm").css("display", "block");
          $(this).html("<i class=\'fa fa-user\'></i>'.__( ' Existing R ').'");        
          });
      });</script>';
?>

test <- df[unlist(lapply(Top.list, function(x) grep(x, df$cluster_id, fixed = TRUE))),] 部分生成一个列表,其中包含每个单词的匹配行号的向量,lapply(Top.list, function(x) grep(x, df$cluster_id, fixed = TRUE))将向量组合到一个向量中,数据帧将从该向量进行子集化。