如何在参数名称的环境中获取函数的输出?

时间:2018-02-16 12:33:27

标签: r function environment

我创建了一个以数据集作为输出的函数。 我想在我的环境中使用数据集,但我不能用名称作为参数来完成它。

myfun <-  function(dfname) { 
dfname <<- df
}
myfun(df1)

上面的df是在函数中创建的,需要在环境中以df1的形式存储。但是当我运行脚本时,df存储为“dfname”。

2 个答案:

答案 0 :(得分:0)

这样的东西?

myfun <-  function(dfname) { 
  #dfname <<- df
  return(df)
}
df1 <- myfun(df1)

答案 1 :(得分:0)

不建议这样做,但此代码有效

myfun <-  function(dfname) { 
  assign(dfname, iris, pos =  1)
}

测试:

myfun("dfname")
head(dfname)

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa