I am writing my own function and want to use the dplyr filter () function to select the rows of my data frame that satisfy the condition. This is my code:
library(tidyverse) df <-data.frame(x = sample(1:100, 50), y = rnorm(50), z = sample(1:100,50), w = sample(1:100, 50), p = sample(1:100,50)) new <- function(ang,brad,drau){ df%>%filter(!!drau %in% 1:50)%>%select(ang,brad) -> A return(A) } brand <- c("z","w","p") lapply(1:3, function(i) new(ang = "x", brad = "y", drau = brand[i]))%>%bind_rows()
At any time, when I run this function, it looks like filter not selecting rows that satisfy the condition.
How can I do this job?
Update
For some reason this works when I don't use `% in%, as in;
new <- function(ang,brad,drau){ df%>%filter(!!drau > 50)%>%select(ang,brad) -> A return(A) } lapply(1:3, function(i) new(ang = "x", brad = "y", drau = brand[i]))%>%bind_rows()
However, the results for each cycle are the same. Why is this so? and why I can not use %in% .