Проблема с использованием имени переменной в функции R при чтении в файле .yaml - PullRequest
0 голосов
/ 21 апреля 2020

У меня проблемы с использованием переменной функции при загрузке файла .yaml в R.

Мой файл .yaml выглядит следующим образом:

dataset_1: |

  This is dataset 1.

dataset_2: |

  This is dataset 2

Если я это сделаю:

yaml.load_file("report/myfile.yaml")$dataset_1

или

yaml.load_file("report/myfile.yaml")$dataset_2

Работает правильно. Однако эта функция не работает:

mypage <- function(name){
    yaml.load_file("report/myfile.yaml")$name
}

Где name будет dataset_1 или dataset_2.

Почему она не принимает имя переменной?

1 Ответ

1 голос
/ 21 апреля 2020

Вы не можете использовать $ с именами, хранящимися в переменных. Вместо этого используйте [[:

yaml.load_file("report/myfile.yaml")[[name]]

И вы вызовете свою функцию со строковым вводом в кавычках, mypage("dataset_2").

(То же самое относится и к фреймам данных, например, mtcars$mpg - это mpg столбец mtcars. Но если у вас есть var = "mpg", тогда mtcars$var не работает, вам нужно использовать mtcars[[var]].)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...