Разделите строку в каждой строке и продублируйте эту строку

Во фрейме данных, над которым я работаю, есть один столбец строк, который может содержать «;». Я хочу найти их и разбить строку, разделенную знаком ";" и скопируйте эту строку и поместите разделенную строку в разные строки.

Вот пример фрейма данных:

name     value
a        10
b;c      20
d        30
e        40
f;g;h    50

И вот что я хочу, чтобы это было:

name     value
a        10
b        20
c        20
d        30
e        40
f        50
g        50
h        50

Вот что я пытался написать:

  DF$name <- sapply(DF$name,function(x) {
     if (grepl(";",DF$name)){
     unlist(strsplit(DF$name,"[;]"))}})

Сообщение об ошибке говорит:

  the condition has length > 1 and only the first element will be used

и я также не знаю, как поместить разделенную строку в разные строки


r
person Y. Lin    schedule 31.10.2015    source источник