вот решение 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%.

Ответы на вопрос(0)

Ваш ответ на вопрос