在tidyverse中分配一长串参数时如何过滤数据?

时间:2019-04-11 13:25:47

标签: dplyr tidyverse

我得到一个字符对象,其中包含十个要过滤以查看其所有行的名称。 如何在函数filter()中发送给定的参数列表。

我尝试将字符发送到过滤器功能,并且仅返回一行。

> head(ls)
[1] "xtyintao"    "蒙特多"      "stonezw"     "jackietz"   
[5] "qiaoxingmao" "champlin"   

nodes %>%
    filter(name==ls)

  name     outdegree totaltimes label1  label2 
  <chr>        <int>      <int> <chr>   <chr>  
1 jackietz         2          2 unknown unknown
Warning message:
In name == ls :
  longer object length is not a multiple of shorter object length

1 个答案:

答案 0 :(得分:1)

在进行过滤以查看元素name是否在向量ls中时,您需要使用%in%而不是==1 == 1是正确的,但1 %in% c(3, 2, 1)也是如此。但是1 == c(2, 3, 1)返回的false false true不明确。因此,请尝试以下代码:

nodes %>%
    filter(name %in% ls)