R/ai_data_gid_join.R

Defines functions ai_data_gid_join

ai_data_gid_join <- function(d_dat, data_attr_map, full_data) {
  repeat({
    if (length(unique(d_dat$group_id_map$gid)) < 2) break()

    data_gid_comb <- d_dat$group_id_map$gid %>%
      unique() %>%
      utils::combn(2) %>%
      as.data.frame(stringsAsFactors = FALSE)

    data_gid_comb_chk <- data_gid_comb %>%
      map_lgl(~ is_attachable(
        gid1 = .x[1], gid2 = .x[2],
        group_info = d_dat, whole_data = full_data,
        data_attr_map = data_attr_map
      ))
    if (any(data_gid_comb_chk)) {
      data_gid_joins <- data_gid_comb[data_gid_comb_chk]

      data_gid_join_map <- get_links_df(data_gid_joins)
      d_dat <- get_group_id_join_gids(d_dat, gid_map = data_gid_join_map)
    } else {
      break()
    }
  })
  d_dat
}

Try the tidycells package in your browser

Any scripts or data that you put into this service are public.

tidycells documentation built on March 26, 2020, 7:35 p.m.