вот решение NSE:
у свою функцию и хочу использовать функцию filter () dplyr для выбора строк моего фрейма данных, которые удовлетворяют условию. Это мой код:
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()
Каждый раз, когда я запускаю эту функцию, она выглядитfilter
не выбирает строки, которые удовлетворяют условию.
Как я могу сделать эту работу?
Обновить
По какой-то причине это работает, когда я не использую `% в%, как в;
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()
Тем не менее, результаты одинаковы для каждого цикла. Почему это так? а также почему я не могу использовать%in%
.