拆分所有其他向量元素并堆叠成矩阵或数据帧

syr*_*yre 0 split r

我有元素对,我需要将每个第二个元素拆分为多个逗号分隔的元素,并将它们堆叠成二维,第一个元素根据需要重复多次:

v <- c("Cha, Seungman", "1,2", "Jin, Yan", "3")
Run Code Online (Sandbox Code Playgroud)

(元素对和逗号分隔元素的数量可以在 2 以上。)

我需要:

     [,1]            [,2] 
[1,] "Cha, Seungman" "1"
[2,] "Cha, Seungman" "2"
[3,] "Jin, Yan"      "3"  
Run Code Online (Sandbox Code Playgroud)

(数据帧输出也不错。)

d.b*_*d.b 5

library(dplyr)
library(tidyr)
as.data.frame(do.call(cbind, split(v, c("nm", "val")))) %>%
    separate_rows("val", sep = ",")
Run Code Online (Sandbox Code Playgroud)