Один из вариантов - использовать tidyr::separate
library(tidyverse)
df %>% separate(Col4, c("Col4", "NEW"), sep = "\\|", fill = "right")
# Col2 Col4 NEW Col5 Col6
#1 A dfjk:: <NA> 6 9
#2 B DJE end 92 133
#3 C nedl5 <NA> 13 12
Пример данных
df <- read.table(text =
"Col2 Col4 Col5 Col6
A dfjk:: 6 9
B DJE|end 92 133
C nedl5 13 12", header = T)