繁体   English   中英

R 列表可以引用自己的对象吗?

[英]Can R list refer its own objects?

R 中的列表是否可以在定义时引用自己的对象?

例子:

ui_names <- list(
  gen_button = 'Generate Report',
  gen_description = sprintf("Press '%s' button to generate validation report.", gen_button)
)

上面的代码抛出错误object 'gen_button' not found 如果我将 gen_button 更改为ui_names$gen_button然后它会显示object 'ui_names' not found错误,这完全有道理,因为列表尚未定义。

我知道我可以 go:

ui_names <- list(gen_button = 'Generate Report')
ui_names$gen_description <- sprintf("Press '%s' button to generate validation report.", ui_names$gen_button)

但我想知道列表是否可以在定义期间引用自己?

list()是不可能的。 但是,有一个 function tibble tibble::lst()允许这样做。 如果你对tidyverse依赖有问题,这个 function 也已经在poorman穷人(它只依赖于基础 R)中进行了改编:

tibble::lst(
  gen_button = 'Generate Report',
  gen_description = sprintf("Press '%s' button to generate validation report.", gen_button)
)
#> $gen_button
#> [1] "Generate Report"
#> 
#> $gen_description
#> [1] "Press 'Generate Report' button to generate validation report."

poorman::lst(
  gen_button = 'Generate Report',
  gen_description = sprintf("Press '%s' button to generate validation report.", gen_button)
)
#> $gen_button
#> [1] "Generate Report"
#> 
#> $gen_description
#> [1] "Press 'Generate Report' button to generate validation report."

代表 package (v2.0.1) 于 2022 年 9 月 2 日创建

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM