我一直在努力地让pmap()
个人go 工作,并误解了我应该给它填的 list 的 struct .
基本上,我最终得到了一个列表,before
个,但它在PMAP中的排列不正确.
以下是对它的最低限度的再现:
before <- list(
list(
tibble(a = c(10:13), b = c(13:16), c = c(17:20)),
tibble(d = c(10:13), e = c(13:16)),
tibble(f = c(10:13))
),
list(
tibble(a = c(10:13), b = c(13:16), c = c(17:20)),
tibble(d = c(21:24), e = c(25:28)),
tibble(f = c(21:24))
),
list(
tibble(a = c(31:34), b = c(35:38), c = c(20:23)),
tibble(d = c(31:34), e = c(35:38)),
tibble(f = c(31:34))
),
list(
tibble(a = c(40:43), b = c(43:46), c = c(47:50)),
tibble(d = c(40:43), e = c(43:46)),
tibble(f = c(40:43))
)
)
然而,在pmap()
中使用.l
作为参数是错误的.
我想把它变成一个 list ,比如下面的after
个.
after <- list(
list(
tibble(a = c(10:13), b = c(13:16), c = c(17:20)),
tibble(a = c(10:13), b = c(13:16), c = c(17:20)),
tibble(a = c(31:34), b = c(35:38), c = c(20:23)),
tibble(a = c(40:43), b = c(43:46), c = c(47:50))
),
list(
tibble(d = c(10:13), e = c(13:16)),
tibble(d = c(21:24), e = c(25:28)),
tibble(d = c(31:34), e = c(35:38)),
tibble(d = c(40:43), e = c(43:46))
),
list(
tibble(f = c(10:13)),
tibble(f = c(21:24)),
tibble(f = c(31:34)),
tibble(f = c(40:43))
)
)
那样的话,我就可以表演这个.
x <- pmap(after, my_func)
其中my_func
是一个以3个不同的TIBBER作为参数的函数.它实际上是一个创建复杂曲线图的函数.
问题是:
- 我怎么才能把
before
变成after
呢? - 使用
pmap
映射到一个以3位数为参数的函数,after
的形式是否正确?