首页 > 解决方案 > 读取 .yaml 文件时在 R 函数中使用变量名的问题

问题描述

在 R 中加载 .yaml 文件时,我在使用函数变量时遇到问题。

我的 .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_1dataset_2

为什么不使用变量名?

标签: ryaml

解决方案


您不能使用$存储在变量中的名称。改用[[

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

您将使用引号中的字符串输入来调用您的函数,mypage("dataset_2").

(这与数据框相同,例如,mtcars$mpg是 的mpgmtcars。但如果有var = "mpg",则mtcars$var不起作用,您需要使用mtcars[[var]]。)


推荐阅读