如何在R语言中通过索引调用列表中的函数?
问题解决:通过列表位置调用R函数
你用r[1]()报错的原因是:r[1]返回的是包含第一个函数的子列表,而非函数本身,自然无法直接作为函数调用。
解决方法很简单,改用**双括号[[ ]]**提取列表中的单个函数元素,这样得到的就是可直接调用的函数对象:
d <- function(){print("d")} e <- function(){print("e")} r <- list(d, e) # 正确调用第一个函数d r[[1]]() # 输出结果:[1] "d"
补充说明:R列表索引的核心区别
r[1]:返回新的子列表(类型仍为list),不是单个元素r[[1]]:直接返回列表中的第一个元素本身,这里就是函数d,具备可调用性
内容的提问来源于stack exchange,提问作者traktorista
相关产品推荐
相关产品推荐

