как передать выражение через функцию для функции подмножества для оценки в R
я пытаюсь написать метод подмножества для другого класса объектов, который я хотел бы, чтобы пользователи могли выполнять так же, как они используютsubset.data.frame
функция. Я прочитал несколько связанных статей, таких какэто а такжеэто, но я не думаю, что они здесь решение. я считаю, что я использую не ту среду, но я недостаточно разбираюсь в окружающей среде, а такжеsubstitute
функция, чтобы выяснить, почему первая половина этого кода работает, а вторая - нет. кто-нибудь может объяснить, что я делаю неправильно, а затем, как сделать работуlsubset
функция, которая может занятьgear == 4
как его второй параметр? извините, если мои поиски пропустили подобный вопрос .. спасибо !!
# create a list of mtcars data frames
mtlist <- list( mtcars , mtcars , mtcars )
# subset them all - this works
lapply( mtlist , subset , gear == 4 )
# create a function that simply replicates the task above
lsubset <-
function( x , sset ){
lapply( x , subset , sset )
}
# this does not work for some reason
lsubset( mtlist , gear == 4 )