Я просто хочу подобрать решение, предложенное в комментариях, которое я считаю более полезным, чем оценили.
Чтобы установить сцену, давайте создадим объекты, как это сделал DiceboyT:
hhethn <- hhsize <- hhinc <- hhage <- hhkids <- hhgeo <- TRUE
Я также создаю вектор с именами существующих объектов:
objects <- c("hhrace","hhethn","hhsize","hhinc","hhage","hhcnty","hhkids","hhgeo")
Теперь я могу ошибаться, но у меня есть догадка, что все, что вам нужно, - это вектор реально существующих объектов. В этом поможет следующее:
objects[objects %in% ls()]
[1] "hhethn" "hhsize" "hhinc" "hhage" "hhkids" "hhgeo"
Однако, если вы действительно хотите составить список, следующее также поможет, установив для всех отсутствующих элементов значение FALSE:
mget(objects, ifnotfound = FALSE)
$hhrace
[1] FALSE
$hhethn
[1] TRUE
$hhsize
[1] TRUE
$hhinc
[1] TRUE
$hhage
[1] TRUE
$hhcnty
[1] FALSE
$hhkids
[1] TRUE
$hhgeo
[1] TRUE
Теперь, чтобы получить их список, кроме пропавших, мы могли бы также сделать следующее:
tmpfun <- function(lst, nme) {
tryCatch(
lst[[nme]] <- get(nme)
, error = function(e) {return(lst)}
)
return(lst)
}
Reduce(tmpfun, objects, init = list())
$hhethn
[1] TRUE
$hhsize
[1] TRUE
$hhinc
[1] TRUE
$hhage
[1] TRUE
$hhkids
[1] TRUE
$hhgeo
[1] TRUE
, который дает вышеуказанные результаты, за исключением случаев, когда объект не существует.