Jen bych doplnil, že library() and require() nejsou zcela identické, z ?library: require is designed for use inside other functions; it returns FALSE and gives a warning (rather than an error as library() does by default) if the package does not exist., ale je fakt, že při běžné práci je to celkem jedno. :-) Pokud požadovaná funkce neexistuje, library() zahlásí chybu, zatímco require() se jí pokusí nainstalovat, nicméně na instalaci by člověk správně měl použít install.packages(), kde se dá ovlivnit více věcí, třeba jestli instalovat i doporučené balíčky, z jakých zdrojů a tak.
Těch funkcí is.xxx.. a as.xxx... je hrozně moc, jejich počet celkem rychle roste s počtem nainstalovaných balíčků (a jimi definovaných datových typů). Mezi mé oblíbence patří (mezi základními) konverze mezi matrix, dist a data.frame. :-) Celkem se ty kontroly dají využít ve skriptech jako prevence neočekávaných výsledků.