определить параметр $ right с переменной в R
Я хотел бы передать переменную двоичному оператору $.
Предположим, у меня есть это
> levels(diamonds$cut) [1] "Fair" "Good" "Very Good" "Premium" "Ideal"
Затем я хочу сделать функцию, которая принимает в качестве параметра селектор для $
- Как вставить элементы в вектор?
- извлекать имена объектов из списка
- Как увеличить количество столбцов с помощью R в Linux
- Существует pmin и pmax, каждый из которых принимает na.rm, почему нет psum?
- Явное вызов return в функции или нет
my_helper <- function (my_param) { levels(diamonds$my_param) }
Но это не работает
> my_helper(cut) NULL > my_helper("cut") NULL
- Почему некоторые символы Юникода отображаются в matrixх, но не в кадрах данных в R?
- Поиск локальных максимумов и минимумов
- Какой самый полезный трюк?
- Выбор только числовых столбцов из кадра данных
- backtransform `scale ()` для построения графика
- Печать новых строк с помощью print () в R
- Сценарий Sourcing R поверх HTTPS
- Преобразование десятичного в двоичный в R?
Используйте [[
вместо $
. x$y
является короткой рукой для x[["y"]]
.
my_helper <- function (my_param) { levels(diamond[[my_param]]) } my_helper("cut")
Вы не можете обращаться к компонентам объекта, не имея доступа к самому объекту, поэтому ваш my_helper()
терпит неудачу.
Кажется, вы немного смущены объектами R, и я настоятельно рекомендую приличные вступительные тексты. Некоторые хорошие бесплатные на сайтах CRAN , а также несколько достойных книг. И у SO было несколько streamов на этом, например:
- https://stackoverflow.com/questions/192369/books-for-learning-the-r-language
- Какие хорошие книги, веб-ресурсы и проекты для обучения R?
- https://stackoverflow.com/questions/1204043/good-intro-books-for-r
Попробуйте что-то вроде этого:
dat = data.frame(one=rep(1,10), two=rep(2,10), three=rep(3,10)) myvar="one" dat[,names(dat)==myvar]
Это должно возвращать первый столбец / переменную кадра данных dat
dat$one --> [1] 1 1 1 1 1 1 1 1 1 1