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

How can i get the output of a function in the environment with an argument as name?

我创建了一个将数据集作为输出的函数。 我想要我的环境中的数据集,但我无法使用参数作为名称来完成它。

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

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

是这样的吗?

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

不推荐这样做,但此代码有效

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