Я работаю с фреймом данных, который включает в себя список-столбец целых чисел.Каждый элемент в столбце списка соответствует строке во фрейме данных, и теперь я хотел бы подсчитать, сколько существует ссылок.
* dput
включает в себя столбец link_count
, который указывает правильныйпосчитайте для этого образца данных:
move link_count links
1 1 NA
2 0 1
3 1 NA
4 1 3
5 4 4
6 1 5
7 0 5, 6
8 2 5
9 0 8
10 0 5, 8
#dput results saved as `x`
x <- structure(list(move = 1:10, link_count = c(1, 0, 1, 1, 4, 1, 0, 2, 0, 0), links = list(NA_integer_, 1L, NA_integer_, 3L, 4L, 5L, 5:6, 5L, 8L, c(5L, 8L))), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"), .Names = c("move", "link count", "links"))
Я нашел решение, используя left_join, но я думаю, что, возможно, есть более элегантное решение сделать это построчно, используя dplyr::mutate
или purrr::map
рабочие процессы.Я надеюсь на то, что можно было бы сделать в виде последовательности труб.
#This works, but is there a different way?
left_join(x,
x %>% unnest(links) %>% count(links),
by = c("move" = "links"))