从dplyr过滤:需要将两个字符串列与数字

时间:2016-07-10 02:49:04

标签: r string filter dplyr numeric

我需要在String列和数字列上应用过滤条件。这样它就不会给出预期的输出。如果有人遇到同样的问题,请帮助

Num1<-c(1,2,3,4,5)
Num2<-c(1,2,2,1,1)
String1<-c("AA","BB","CC","DD","EE")
String2<-c("AA","BB","CC","DD","FF")
data<-c(Num1,Num2,String1,String2)
df<-data%>%
filter((Num2<Num1) & (String1==String2))

1 个答案:

答案 0 :(得分:0)

我们需要创建一个data.frame而不是vector

data<- data.frame(Num1,Num2,String1,String2, stringsAsFactors=FALSE)

然后OP会起作用

data %>%
    filter(Num2 < Num1 & String1 == String2)
#   Num1 Num2 String1 String2
#1    3    2      CC      CC
#2    4    1      DD      DD