Используйте purrr, чтобы свернуть вектор символов в строку символов - PullRequest
1 голос
/ 15 октября 2019

Я хочу использовать purrr для конкатенации символьного поля, чтобы добавить строку.

d <- tibble(x = letters, y = c(rep(1,13), rep(2,13)) )
d
# output desired
tibble(y      =  c(1,2), 
       result =  c(stringr::str_c(letters[1:13],collapse = ","), stringr::str_c(letters[14:26], collapse = ",")))

1 Ответ

2 голосов
/ 15 октября 2019

Не уверен, какую функцию purrr вы хотите использовать;но вы можете сделать следующее в dplyr

library(dplyr)
d %>% group_by(y) %>% summarise(result = paste(x, collapse = ","))
## A tibble: 2 x 2
#      y result
#  <dbl> <chr>
#1     1 a,b,c,d,e,f,g,h,i,j,k,l,m
#2     2 n,o,p,q,r,s,t,u,v,w,x,y,z

или используя nest (в ответ на ваш комментарий)

d %>% group_by(y) %>% 
    nest(result = x) %>% 
    mutate(result = map_chr(result, ~paste(unlist(.x), collapse = ",")))
...