map函数通过将函数应用于列表或原子向量的每个元素并返回与输入长度相同的对象来转换其输入。
但是,如何处理输出长度与输入长度不同的情况呢?
例如:
simulate <- function(x) rnorm(10, x, 1)
sapply(1:2, simulate)
这是可行的,但是当我尝试使用map()而不是sapply()执行相同的操作时,我得到了一个错误消息,即:
“map(1:2,模拟)错误:需要公式或公式列表。”
发布于 2021-10-28 07:25:50
可能使用的map
不是来自purrr
。加载该包,如果有其他包屏蔽了该函数,则使用purrr::map
library(purrr)
purrr::map(1:2, simulate)
[[1]]
[1] 1.6140810 -0.1906985 1.3582205 0.8357189 -1.6083671 2.1074404 1.8567818 -1.4476759 0.9749724 1.7084030
[[2]]
[1] 1.83648113 1.32697695 1.87202331 1.86865706 3.21617258 1.66576414 2.87320975 0.81623944 0.09391478 1.95562983
https://stackoverflow.com/questions/69756834
复制相似问题