Может быть излишним, но вот вспомогательная функция, которая ищет объект, используя первые несколько букв, и возвращает значение, если находит уникальный объект:
rm(list = ls())
g <- function(x) {
x <- deparse(substitute(x))
y <- grep(paste0("^", x), ls(envir = globalenv()), value = TRUE)
if (length(y) > 1) {
return(message("More than 1 match"))
} else {
tryCatch(
get(y, envir = globalenv()),
error = function(e) message(paste(x, "not found"))
)
}
}
PX557.GGH.WXWX.4986746 <- 123
AB123.GGH.WXWX.4986746 <- 456
PX556.FFG.JKJK.1234567 <- 789
g(PX557)
# [1] 123
g(AB123)
# [1] 456
g(AB1)
# [1] 456
g(AB999)
# AB999 not found
g(PX)
# More than 1 match