【问题标题】:Retrieve elements of a list when writing a R function编写 R 函数时检索列表的元素
【发布时间】:2020-06-16 14:20:40
【问题描述】:

我正在编写一个 R 函数,我想检索列表中的一些元素。 这在函数之外很容易做到,但我无法在创建函数时让它运行。

请看下面我想要实现的最小工作示例。

#outside a function - it works
A <- list(42)
B <- list(142)

my_list <- list(a=A,b=B)
test = my_list$a

-> test 确实是一个包含 1 个元素的列表:42。

#within a function - it does not work
myfunction = function(obj,whatIwant){
  test = obj$whatIwant
  return(test)
}
test2 = myfunction(my_list,a)

-> test2 为 NULL(空)。我本来期望一个包含 1 个元素的列表:42。

提前谢谢你。

【问题讨论】:

  • 你应该学习help("$")

标签: r list function


【解决方案1】:

我们可以使用obj[[whatIwant]]来获取对象:

#outside a function - it works
A <- list(42)
B <- list(142)

my_list <- list(a=A,b=B)
test = my_list$a

#within a function - it does not work
myfunction = function(obj,whatIwant){
  test = obj[[whatIwant]]
  return(test)
}
test2 = myfunction(my_list, "a")

【讨论】:

    猜你喜欢
    • 2016-01-30
    • 2016-07-06
    • 2021-11-21
    • 2018-09-04
    • 2020-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    相关资源
    最近更新 更多