2025-01-16 10:40:15 +00:00
<!DOCTYPE html>
2025-04-30 07:29:50 +00:00
<!-- Generated by pkgdown: do not edit by hand --> < html lang = "en" > < head > < meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" > < meta charset = "utf-8" > < meta http-equiv = "X-UA-Compatible" content = "IE=edge" > < meta name = "viewport" content = "width=device-width, initial-scale=1, shrink-to-fit=no" > < title > Wrapper function to get function from character vector referring to function from namespace. Passed to 'do.call()' — getfun • FreesearchR< / title > <!-- favicons --> < link rel = "icon" type = "image/png" sizes = "96x96" href = "../favicon-96x96.png" > < link rel = "icon" type = "”image/svg+xml”" href = "../favicon.svg" > < link rel = "apple-touch-icon" sizes = "180x180" href = "../apple-touch-icon.png" > < link rel = "icon" sizes = "any" href = "../favicon.ico" > < link rel = "manifest" href = "../site.webmanifest" > < script src = "../deps/jquery-3.6.0/jquery-3.6.0.min.js" > < / script > < meta name = "viewport" content = "width=device-width, initial-scale=1, shrink-to-fit=no" > < link href = "../deps/bootstrap-5.3.1/bootstrap.min.css" rel = "stylesheet" > < script src = "../deps/bootstrap-5.3.1/bootstrap.bundle.min.js" > < / script > < link href = "../deps/Montserrat-0.4.10/font.css" rel = "stylesheet" > < link href = "../deps/Public_Sans-0.4.10/font.css" rel = "stylesheet" > < link href = "../deps/font-awesome-6.5.2/css/all.min.css" rel = "stylesheet" > < link href = "../deps/font-awesome-6.5.2/css/v4-shims.min.css" rel = "stylesheet" > < script src = "../deps/headroom-0.11.0/headroom.min.js" > < / script > < script src = "../deps/headroom-0.11.0/jQuery.headroom.min.js" > < / script > < script src = "../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js" > < / script > < script src = "../deps/clipboard.js-2.0.11/clipboard.min.js" > < / script > < script src = "../deps/search-1.0.0/autocomplete.jquery.min.js" > < / script > < script src = "../deps/search-1.0.0/fuse.min.js" > < / script > < script src = "../deps/search-1.0.0/mark.min.js" > < / script > <!-- pkgdown --> < script src = "../pkgdown.js" > < / script > < link href = "../extra.css" rel = "stylesheet" > < meta property = "og:title" content = "Wrapper function to get function from character vector referring to function from namespace. Passed to 'do.call()' — getfun" > < meta name = "description" content = "This function follows the idea from this comment: https://stackoverflow.com/questions/38983179/do-call-a-function-in-r-without-loading-the-package" > < meta property = "og:description" content = "This function follows the idea from this comment: https://stackoverflow.com/questions/38983179/do-call-a-function-in-r-without-loading-the-package" > < meta property = "og:image" content = "https://agdamsbo.github.io/FreesearchR/logo.png" > < script defer src = "https://analytics.gdamsbo.dk/script.js" data-website-id = "1f3baf18-29aa-4612-931b-58ea35922ae4" > < / script > < / head > < body >
2025-01-16 10:40:15 +00:00
< a href = "#main" class = "visually-hidden-focusable" > Skip to contents< / a >
2025-01-16 13:41:20 +00:00
< nav class = "navbar navbar-expand-lg fixed-top bg-primary" data-bs-theme = "dark" aria-label = "Site navigation" > < div class = "container" >
2025-01-16 10:40:15 +00:00
2025-03-19 08:31:56 +00:00
< a class = "navbar-brand me-2" href = "../index.html" > FreesearchR< / a >
2025-01-16 10:40:15 +00:00
2025-04-28 08:30:26 +00:00
< small class = "nav-text text-muted me-auto" data-bs-toggle = "tooltip" data-bs-placement = "bottom" title = "" > 25.4.4< / small >
2025-01-16 10:40:15 +00:00
< button class = "navbar-toggler" type = "button" data-bs-toggle = "collapse" data-bs-target = "#navbar" aria-controls = "navbar" aria-expanded = "false" aria-label = "Toggle navigation" >
< span class = "navbar-toggler-icon" > < / span >
< / button >
< div id = "navbar" class = "collapse navbar-collapse ms-3" >
2025-03-19 08:31:56 +00:00
< ul class = "navbar-nav me-auto" > < li class = "nav-item" > < a class = "nav-link" href = "../articles/FreesearchR.html" > Get started< / a > < / li >
2025-03-17 19:44:07 +00:00
< li class = "active nav-item" > < a class = "nav-link" href = "../reference/index.html" > Reference< / a > < / li >
2025-04-22 12:16:08 +00:00
< li class = "nav-item dropdown" >
< button class = "nav-link dropdown-toggle" type = "button" id = "dropdown-articles" data-bs-toggle = "dropdown" aria-expanded = "false" aria-haspopup = "true" > Articles< / button >
< ul class = "dropdown-menu" aria-labelledby = "dropdown-articles" > < li > < a class = "dropdown-item" href = "../articles/data-types.html" > Data types< / a > < / li >
2025-04-23 13:36:42 +00:00
< li > < a class = "dropdown-item" href = "../articles/session.html" > Session info< / a > < / li >
< li > < a class = "dropdown-item" href = "../articles/visuals.html" > On visuals< / a > < / li >
2025-04-22 12:16:08 +00:00
< / ul > < / li >
2025-01-20 09:59:20 +00:00
< li class = "nav-item" > < a class = "nav-link" href = "../ROADMAP.html" > Roadmap< / a > < / li >
2025-02-25 09:08:29 +00:00
< li class = "nav-item" > < a class = "nav-link" href = "../QA.html" > Q& A< / a > < / li >
2025-01-16 10:40:15 +00:00
< li class = "nav-item" > < a class = "nav-link" href = "../news/index.html" > Changelog< / a > < / li >
< / ul > < ul class = "navbar-nav" > < li class = "nav-item" > < form class = "form-inline" role = "search" >
< input class = "form-control" type = "search" name = "search-input" id = "search-input" autocomplete = "off" aria-label = "Search site" placeholder = "Search for" data-search-index = "../search.json" > < / form > < / li >
2025-03-19 12:28:24 +00:00
< li class = "nav-item" > < a class = "external-link nav-link" href = "https://github.com/agdamsbo/FreesearchR/" aria-label = "GitHub" > < span class = "fa fab fa-github fa-lg" > < / span > < / a > < / li >
2025-01-16 10:40:15 +00:00
< / ul > < / div >
< / div >
< / nav > < div class = "container template-reference-topic" >
< div class = "row" >
< main id = "main" class = "col-md-9" > < div class = "page-header" >
2025-04-23 14:21:53 +00:00
< img src = "../logo.png" class = "logo" alt = "" > < h1 > Wrapper function to get function from character vector referring to function from namespace. Passed to 'do.call()'< / h1 >
2025-04-28 09:15:26 +00:00
< small class = "dont-index" > Source: < a href = "https://github.com/agdamsbo/FreesearchR/blob/main/R/helpers.R" class = "external-link" > < code > R/helpers.R< / code > < / a > < / small >
2025-01-16 10:40:15 +00:00
< div class = "d-none name" > < code > getfun.Rd< / code > < / div >
< / div >
< div class = "ref-description section level2" >
< p > This function follows the idea from this comment: https://stackoverflow.com/questions/38983179/do-call-a-function-in-r-without-loading-the-package< / p >
< / div >
< div class = "section level2" >
< h2 id = "ref-usage" > Usage< a class = "anchor" aria-label = "anchor" href = "#ref-usage" > < / a > < / h2 >
< div class = "sourceCode" > < pre class = "sourceCode r" > < code > < span > < span class = "fu" > getfun< / span > < span class = "op" > (< / span > < span class = "va" > x< / span > < span class = "op" > )< / span > < / span > < / code > < / pre > < / div >
< / div >
< div class = "section level2" >
< h2 id = "arguments" > Arguments< a class = "anchor" aria-label = "anchor" href = "#arguments" > < / a > < / h2 >
< dl > < dt id = "arg-x" > x< a class = "anchor" aria-label = "anchor" href = "#arg-x" > < / a > < / dt >
< dd > < p > function or function name< / p > < / dd >
< / dl > < / div >
< div class = "section level2" >
< h2 id = "value" > Value< a class = "anchor" aria-label = "anchor" href = "#value" > < / a > < / h2 >
< p > function or character vector< / p >
< / div >
< div class = "section level2" >
< h2 id = "ref-examples" > Examples< a class = "anchor" aria-label = "anchor" href = "#ref-examples" > < / a > < / h2 >
< div class = "sourceCode" > < pre class = "sourceCode r" > < code > < span class = "r-in" > < span > < span class = "fu" > getfun< / span > < span class = "op" > (< / span > < span class = "st" > "stats::lm"< / span > < span class = "op" > )< / span > < / span > < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > function (formula, data, subset, weights, na.action, method = "qr", < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > model = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > contrasts = NULL, offset, ...) < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > {< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > ret.x < - x< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > ret.y < - y< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > cl < - match.call()< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > mf < - match.call(expand.dots = FALSE)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > m < - match(c("formula", "data", "subset", "weights", "na.action", < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > "offset"), names(mf), 0L)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > mf < - mf[c(1L, m)]< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > mf$drop.unused.levels < - TRUE< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > mf[[1L]] < - quote(stats::model.frame)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > mf < - eval(mf, parent.frame())< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > if (method == "model.frame") < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > return(mf)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > else if (method != "qr") < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > warning(gettextf("method = '%s' is not supported. Using 'qr'", < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > method), domain = NA)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > mt < - attr(mf, "terms")< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > y < - model.response(mf, "numeric")< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > w < - as.vector(model.weights(mf))< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > if (!is.null(w) & & !is.numeric(w)) < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > stop("'weights' must be a numeric vector")< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > offset < - model.offset(mf)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > mlm < - is.matrix(y)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > ny < - if (mlm) < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > nrow(y)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > else length(y)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > if (!is.null(offset)) {< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > if (!mlm) < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > offset < - as.vector(offset)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > if (NROW(offset) != ny) < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > stop(gettextf("number of offsets is %d, should equal %d (number of observations)", < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > NROW(offset), ny), domain = NA)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > }< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > if (is.empty.model(mt)) {< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > x < - NULL< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z < - list(coefficients = if (mlm) matrix(NA_real_, 0, < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > ncol(y)) else numeric(), residuals = y, fitted.values = 0 * < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > y, weights = w, rank = 0L, df.residual = if (!is.null(w)) sum(w != < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > 0) else ny)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > if (!is.null(offset)) {< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$fitted.values < - offset< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$residuals < - y - offset< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > }< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > }< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > else {< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > x < - model.matrix(mt, mf, contrasts)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z < - if (is.null(w)) < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > lm.fit(x, y, offset = offset, singular.ok = singular.ok, < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > ...)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > else lm.wfit(x, y, w, offset = offset, singular.ok = singular.ok, < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > ...)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > }< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > class(z) < - c(if (mlm) "mlm", "lm")< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$na.action < - attr(mf, "na.action")< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$offset < - offset< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$contrasts < - attr(x, "contrasts")< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$xlevels < - .getXlevels(mt, mf)< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$call < - cl< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$terms < - mt< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > if (model) < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$model < - mf< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > if (ret.x) < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$x < - x< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > if (ret.y) < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$y < - y< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > if (!qr) < / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z$qr < - NULL< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > z< / span >
< span class = "r-out co" > < span class = "r-pr" > #> < / span > }< / span >
2025-04-30 07:29:50 +00:00
< span class = "r-out co" > < span class = "r-pr" > #> < / span > < bytecode: 0x5650dc721ee8> < / span >
2025-01-16 10:40:15 +00:00
< span class = "r-out co" > < span class = "r-pr" > #> < / span > < environment: namespace:stats> < / span >
< / code > < / pre > < / div >
< / div >
< / main > < aside class = "col-md-3" > < nav id = "toc" aria-label = "Table of contents" > < h2 > On this page< / h2 >
< / nav > < / aside > < / div >
< footer > < div class = "pkgdown-footer-left" >
2025-04-29 10:29:25 +00:00
< p > Site built with < a href = "https://pkgdown.r-lib.org/" class = "external-link" > pkgdown< / a > 2.1.2.< / p >
2025-01-16 10:40:15 +00:00
< / div >
< div class = "pkgdown-footer-right" >
2025-01-20 09:59:20 +00:00
< p > Developed by Andreas Gammelgaard Damsbo. Provided without < strong > any warranty< / strong > .< / p >
2025-01-16 10:40:15 +00:00
< / div >
< / footer > < / div >
< / body > < / html >