【发布时间】:2021-01-04 16:18:14
【问题描述】:
我正在尝试在 R 中使用地图功能,我有类似的东西
x <- list(a = 1, b = 2)
map(x, function (e) e + 100)
有没有办法在 map 函数中获取键 a、b?
例如,如果我想打印
a 1
b 2
【问题讨论】:
-
您可以使用
imap。不清楚输出格式是否需要imap(x, ~ setNames(.x, .y))如果要输出加100imap(x, ~ setNames(.x + 100, .y)) -
imap是首选...但另一种选择是map2(x, names(x), ...)。这种思维方式的一个优点是它也适用于 base-RMap和mapply:Map(function(obj, nm) {...}, x, names(x))(尽管最终我希望 R 对imap有一个微不足道的原生模拟)。
标签: r dictionary functional-programming