我正在尝试运行以下代码:
xx <- 1:12
yy <- 1:3
map2(xx, yy, ~ .x / .y)
但是,我遇到了一个错误。我假设 map2() 会自动回收较短的向量(即扩展 yy 的长度以匹配 xx),但似乎情况并非如此。
我想要的输出:
1
1
1
4
2.5
2
7
4
3
10
5.5
4
有没有办法让map2()自动处理向量回收而无需手动使用rep()?
您可以使用基本 R 中的
mapply()
(而不是 purrr::map2()
):
mapply(\(.x, .y) .x / .y, xx, yy)
# or
mapply("/", xx, yy)
# [1] 1.0 1.0 1.0 4.0 2.5 2.0 7.0 4.0 3.0
# [10] 10.0 5.5 4.0