purrr:pmap不传递列表中的值

时间:2019-07-09 11:40:47

标签: r purrr pmap

从pmap调用函数会引发错误,因为参数无法单独传递

尝试创建参数列表,但这也导致错误

library(tidyverse)
library(dplyr)

periods <- c(10,11,12)
redemption <- rep(100,3)
firstcallDate <- c("2014-01-01","2015-01-01","2016-01-01")
testdf <- data.frame(redemption, periods, firstcallDate)
testdf$firstcallDate <- as.Date(testdf$firstcallDate)
testdf$CallSch <- NA

CallScheduleGen <- function (redemption,periods,firstcallDate, ...) {
  Price <- rep(as.double(redemption),periods)
  Date <- seq(firstcallDate, by = "1 month", length = periods)
  callSch <- data.frame(Price, Date)
  return(callSch)   
}

testdf$CallSch <- pmap_dfr(testdf,CallScheduleGen)

我期望在testdf数据帧的每个单元格中创建一个数据帧。 Pmap似乎将输入参数作为列表传递给函数,而不是按元素传递。

有人可以建议一种方法,因为我需要将其向量化而不是创建循环吗?

0 个答案:

没有答案