Также можно использовать separate_rows
library(tidyverse)
separate_rows(df1, c("V1", "V2"))
# V1 V2
#1 A0A024R442 443
#2 E7ETB3 465
#3 Q9ULA0 447
#4 E7EMB6 382
#5 A0A024R442 323
#6 E7ETB3 345
#7 Q9ULA0 327
#8 E7EMB6 262
#9 C9JBE1 309
Или с использованием cSplit
library(splitstackshape)
cSplit(df1, c("V1", "V2"), ";", "long")
data
df1 <- structure(list(V1 = c("A0A024R442;E7ETB3;Q9ULA0;E7EMB6",
"A0A024R442;E7ETB3;Q9ULA0;E7EMB6;C9JBE1"
), V2 = c("443;465;447;382", "323;345;327;262;309")),
row.names = c(NA,
-2L), class = "data.frame")