Проверьте пакет tidyr
и функцию separate
. Вот пример, похожий на ваш фрейм данных:
classes <- c(rep("negative.|185",5),rep("hyperthyroid.|3445"))
library(tidyr)
separate(as.data.frame(classes), col = classes , into = c("classes","classes_ID"), sep = ".\\|")
# classes classes_ID
#1 negative 185
#2 negative 185
#3 negative 185
#4 negative 185
#5 negative 185
#6 hyperthyroid 3445