如何将参数从小步迭代到函数

时间:2019-07-22 20:42:14

标签: r dplyr tidyverse purrr tibble

我希望想法将tibble参数中的行迭代到user function中。

我创建了一个loop for,但是我想使用Tidyverse的某些功能,例如purrrdplyr

使用API​​密钥设置的数据如下:

keys.bots <- tibble(bot = c('bot1', 'bot2', 'bot3', 'bot4', 'bot5'),
                    key = c('Key bot1','Key bot2','Key bot 3','Key bit 4','Key bot 5'))

应该使用purrdplyr的某个函数来迭代每个键,以将每个键迭代到函数中的第二个参数keys.bots[]中。

函数是:

fun.get_data_blip <- function(body, key, tzone){

  # Fetch Data from API
  request <- POST( url  = url
                   ,body = body
                   ,add_headers(.headers = c( 'Authorization' = key
                                              ,'Content-Type'  = 'application/json')))

  # Extracting Request Content
  content <- content(request, as = 'parsed')

  # Converting the List in Content to a Data Frame
  content$resource$items %>%
    toJSON() %>% 
    fromJSON() %>% 
    mutate( lastMessage.date_alt = ymd_hms(lastMessage$date, tz = tzone.sao_paulo)
           ,lastMessage.direction_alt = if_else(lastMessage$direction == 'sent', 'Bot', 'Usuário')
           ,'#' = row_number()) %>% 
    flatten(recursive = T) %>% 
    as_tibble()

正在运行的功能

tbl.chatbots <- fun.get_data_blip(body.threads, as.character(keys.bots[]), tzone.sao_paulo)

因此,在迭代过程中,逻辑需要将结果绑定到tbl.chatbots中,以一次增加五个机器人的数据。

0 个答案:

没有答案