VK
Size: a a a
VK
PU
df1 <- data.frame(
klient = c(
"Начисление Клиент 1. Магазин 1",
"Начисление Клиент 15. Магазин 1",
"Начисление Клиент 20. Магазин 1",
"Начисление Клиент 15. Магазин 1",
"Начисление Клиент 18.3 Магазин 1"
),
stringsAsFactors = FALSE
)
df2 <- data.frame(
klientName = c("Клиент 1", "Клиент 15", "Клиент 20", "Клиент 18.3"),
who = c("dir", "pro", "dir", "pro"),
stringsAsFactors = FALSE
)
df1$klientName <- gsub('(Начисление )(Клиент [0-9]*)(\\..*)', '\\2', df1$klient)
df1 <- merge(df1, df2, by = 'klientName', all.x = TRUE)
df1
PU
> df1
klientName klient who
1 Клиент 1 Начисление Клиент 1. Магазин 1 dir
2 Клиент 15 Начисление Клиент 15. Магазин 1 pro
3 Клиент 15 Начисление Клиент 15. Магазин 1 pro
4 Клиент 18 Начисление Клиент 18.3 Магазин 1 <NA>
5 Клиент 20 Начисление Клиент 20. Магазин 1 dir
PU
PU
VK
VK
VK
VK
PU
VK
PU
df1$klientName <- gsub('Начисление\\s', '', df1$klient)
df1$klientName <- gsub('\\sМагазин.*$', '', df1$klientName)
df1$klientName <- gsub('\\.$', '', df1$klientName)
PU
VK
PU
VK
PU
a
R
R