Мы можем использовать cSplit
для разделения данных в «длинный» формат
library(splitstackshape)
library(data.table)
unique(cSplit(df, c("Name", "Number"), ",", "long")[order(Name, Number),
.(Name, Number)])
# Name Number
#1: W 0
#2: X 123
#3: Y 456
#4: Z 789
data
df <- structure(list(ID = 1:4, Name = c("X,Y", "Z", "Y,Z", "W"),
Number = c("123,456", "789", "456,789", "0")),
class = "data.frame", row.names = c(NA, -4L))