Как проверить, существует ли набор данных в пакете? - PullRequest
0 голосов
/ 01 декабря 2018

Существует ли более элегантный (отказоустойчивый / надежный, более короткий) способ проверки наличия в пакете набора данных (имя которого известно как символьная строка), чем этот?

rda.name <- "Animals" # name of the data set/.rda
rda.name %in% data(package = "MASS")[["results"]][,"Item"]

Ответы [ 2 ]

0 голосов
/ 01 декабря 2018

Как уже упоминалось в комментарии, я не могу повторить ответ Свена (по любой недавней версии R).Следующее работает, но использование suppressWarnings() довольно уродливо, и набор данных также загружается при вызове data() таким образом (вместо просто проверка его существования).Поэтому я не думаю, что это предпочтительнее моей исходной версии, но, возможно, вдохновляет кого-то предлагать исправления.

exists(suppressWarnings(data(list = rda.name, package = "MASS")))
0 голосов
/ 01 декабря 2018

Вы можете попробовать этот подход, используя exists:

exists(data("Animals", package = "MASS"))
# [1] TRUE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...