首页 > 解决方案 > 这个 R 代码/函数如何创建一个带有数据框的列表?

问题描述

我在一个函数中看到了这段代码。如果有人能分解这段代码并解释它的作用,将不胜感激。

assign(paste0(stock[i],'.f'),value = list(IS = temp1,BS = temp2,CF = temp3),envir = parent.frame()

另外,我如何修改上面的代码以拥有一个带有股票名称和列表名称的数据框,例如“AAPL.f.IS”

标签: r

解决方案


他们正在函数(父环境)之外创建一个变量,要复制,试试这个简单的例子:

foo <- function(i){
  assign(paste0(i,'.f'), value = list(IS = 1, BS = 3, CF = 3),
         envir = parent.frame()
  )

}

ls()
# [1] "foo"

foo("test")

ls()
# [1] "foo"    "test.f"

foo("test_again")

ls()
# [1] "foo"          "test.f"       "test_again.f"

str(test.f)
# List of 3
#  $ IS: num 1
#  $ BS: num 3
#  $ CF: num 3

推荐阅读