【问题标题】:R: using map when output has different length than inputR:当输出长度与输入不同时使用映射
【发布时间】:2021-10-28 15:24:13
【问题描述】:

map 函数通过将函数应用于列表或原子向量的每个元素并返回与输入长度相同的对象来转换其输入。

但是如何处理输出长度与输入长度不同的情况呢?

例如:

simulate <- function(x) rnorm(10, x, 1)
sapply(1:2, simulate)

这可行,但是当我尝试使用 map() 而不是 sapply() 时,我收到一条错误消息,即:

“地图错误(1:2,模拟):需要公式或公式列表。”

【问题讨论】:

    标签: r dictionary


    【解决方案1】:

    可能使用的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
    

    【讨论】:

      猜你喜欢
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      相关资源
      最近更新 更多