определить параметр $ right с переменной в R

Я хотел бы передать переменную двоичному оператору $.

Предположим, у меня есть это

> levels(diamonds$cut) [1] "Fair" "Good" "Very Good" "Premium" "Ideal" 

Затем я хочу сделать функцию, которая принимает в качестве параметра селектор для $

 my_helper <- function (my_param) { levels(diamonds$my_param) } 

Но это не работает

 > my_helper(cut) NULL > my_helper("cut") NULL 

Используйте [[ вместо $ . x$y является короткой рукой для x[["y"]] .

 my_helper <- function (my_param) { levels(diamond[[my_param]]) } my_helper("cut") 

Вы не можете обращаться к компонентам объекта, не имея доступа к самому объекту, поэтому ваш my_helper() терпит неудачу.

Кажется, вы немного смущены объектами R, и я настоятельно рекомендую приличные вступительные тексты. Некоторые хорошие бесплатные на сайтах CRAN , а также несколько достойных книг. И у SO было несколько streamов на этом, например:

Попробуйте что-то вроде этого:

 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 
  • Как создать пример данных из частных данных (заменяя имена переменных и уровни владельцами неинформативных мест)?
  • Использование gsub для извлечения символьной строки перед пробелом в R
  • Загрузка нескольких файлов одновременно?
  • Прочтите файл csv в R со столбцом валюты как числовой
  • Импорт текстового файла в виде отдельной символьной строки
  • Удалите несколько объектов с помощью rm ()
  • Скомпилировать R-скрипт в автономный .exe-файл?
  • Как выбрать строку с максимальным значением в каждой группе
  • Сплит-кадр данных по уровням фактора и именных кадров данных по этим уровням
  • Перемещение столбцов в data.frame () без повторного набора
  • Лучший способ конвертировать список в вектор?
  • Interesting Posts

    Лучший способ найти точку на круге, ближайшем к данной точке

    Хранить данные в массиве из ввода

    Эффективный способ rbind data.frames с разными столбцами

    Как определить кодировку символов текстового файла?

    Как подключить ноутбук Windows 8 к беспроводной сети (с скрытым SSID)?

    Как выполнить сценарий bash по очереди?

    Переопределение разрешено в C, но не на C ++?

    Android: разрешить портрет и пейзаж для планшетов, но заставить портрет на телефоне?

    Моя скорость интернета составляет 100 Мбит / с, но скорость загрузки составляет всего 250 Кбит / с. Почему?

    Ссылка на ячейку в Excel с использованием значений из других ячеек на разных листах (вкладка)

    Как исключить {{{…}}} в flyspell-mode и flyspell-buffer?

    найти разницу между двумя текстовыми файлами с одним элементом на строку

    Как разбить текстовый файл с помощью PowerShell?

    Гарантировано ли, что новый Integer (i) == i в Java?

    Способ избежать тайм-аута соединения ssh и замораживания терминала GNOME

    Давайте будем гением компьютера.