вчерашнего дня мучает вопрос
1) я получаю неизвестный массив, и не знаю, какие в нем колонки
2) в глобальном окружении всегда есть переменная a = 5
3) полученный массив (data.table) надо отфильтровать по типу dt[unknown_var < a], где unknown_var = get(names(dt)[1])
4) совершенно случайно оказывается, что моя unknown_var называется a
5) получается операция dt[a < a]
ну и получается, что код ломается.
я придумал только один фикс dt[a < .GlobalEnv$a]
но мы же обычно никогда так не пишем, есть более удачное решение подобной гипотетической ситуации? (сам никогда не сталкивался).
собственно вопрос возник в контексте того, что меня страшно раздражают панды с их df[df["a"] < a] (мб я неопытный и можно проще) — но зато описанной выше проблемы (наверное) никогда не возникнет
EDIT: поправил для соответствия теме
На SO есть несколько вопросов с ответами. Если искал, то должен был наткнуться. Более-менее информативный привожу сюда: https://stackoverflow.com/a/57917822/1863950
сильно, спасибо! я на SO, как и в гугле, редко листаю вниз хорошая идея делать get() оба раза. никогда не использовал `get(x, pos = 1L)`
Вариант с использование ключа мне показался интересным.
Обсуждают сегодня