【发布时间】:2019-11-22 04:43:52
【问题描述】:
我有一个函数可以将多个输出作为列表返回。我想将此函数应用于输入向量,并将结果收集到向量列表中。下面的代码可以满足我的要求,但有几个缺点。首先,我需要明确给出 f 的输出列表的名称“square”和“cube”。其次,我需要为每个 x 值评估函数 f 两次。有没有办法在避免缺点的同时获得与下面代码相同的输出?
f <- function(x) list(square = x^2, cube = x^3)
x <- c(1, 2, 3)
desired.output <- list(
square = sapply(X = x, FUN = function(x) f(x)$square),
cube = sapply(X = x, FUN = function(x) f(x)$cube)
)
【问题讨论】:
-
你能做到`f(x)`
标签: r