Один вариант будет separate
из tidyr
. Мы указываем sep
с регулярным выражением для разделения между di git и строчной буквой
library(dplyr)
library(tidyr)
df1 %>%
separate(V1, into = c("V1", "V2"), sep="(?<=[0-9])(?=[a-z])")
# V1 V2
#1 23/2/2000 shampoo
#2 24/2/2000 flour
#3 21/10/2000 poultry
#4 17/4/2001 laundry detergent
Или с read.csv
после создания разделителя с sub
read.csv(text = sub("(\\d)([a-z])", "\\1,\\2", df1$V1),
header = FALSE, stringsAsFactors = FALSE)
данные
df1 <- structure(list(V1 = c("23/2/2000shampoo", "24/2/2000flour",
"21/10/2000poultry",
"17/4/2001laundry detergent")), class = "data.frame", row.names = c(NA,
-4L))