如何使用data()作为函数参数

时间:2018-02-14 22:58:44

标签: r

如何编写一个函数,该函数接受一个传递给R中data函数的参数。

作为一个简单的例子

load_data <- function(mydata) {
    x <- data(mydata)
    x
}

如果我试图用它来加载虹膜

load_data(mydata = "iris")

该函数只返回&#34;未找到数据集mydata&#34;

我的最终目标是拥有一个将数据集附加到函数环境的函数,然后该函数将执行一些任意计算。

2 个答案:

答案 0 :(得分:4)

如果您希望data()宣传该字符串,则需要通过list=传递

load_data <- function(mydata) {
  x <- data(list=mydata)
  x
}

我不确定您期望返回什么,但?data帮助页面告诉您它只返回加载的数据集的名称,而不是数据本身。

如果您只想将其加载到函数范围中,那么还要设置environment=参数

load_data <- function(mydata) {
  data(list=mydata, environment=environment())
}

答案 1 :(得分:1)

如果您希望将iris存储在x中,则根本不需要致电data

load_data <- function(mydata) {
  x <- mydata
  x
}

load_data(iris)