pdredge | R Documentation |

Parallelized version of `dredge`

.

```
pdredge(global.model, cluster = NULL,
beta = c("none", "sd", "partial.sd"), evaluate = TRUE, rank = "AICc",
fixed = NULL, m.lim = NULL, m.min, m.max, subset, trace = FALSE,
varying, extra, ct.args = NULL, deps = attr(allTerms0, "deps"),
check = FALSE, ...)
```

```
global.model, beta, rank, fixed, m.lim, m.max, m.min,
subset, varying, extra, ct.args, deps, ...
``` |
see |

`evaluate` |
whether to evaluate and rank the models. If |

`trace` |
displays the generated calls, but may not work as expected since the models are evaluated in batches rather than one by one. |

`cluster` |
either a valid |

`check` |
either integer or logical value controlling how much checking for existence and correctness of dependencies is done on the cluster nodes. See ‘Details’. |

All the dependencies for fitting the `global.model`

, including the data
and any objects that the modelling function will use must be exported
to the cluster worker nodes (e.g. *via* `clusterExport`

).
The required packages must be also loaded thereinto (e.g. *via*
`clusterEvalQ(..., library(package))`

, before the cluster is used by
`pdredge`

.

If `check`

is `TRUE`

or positive, `pdredge`

tries to check whether
all the variables and functions used in the call to `global.model`

are
present in the cluster nodes' `.GlobalEnv`

before proceeding further.
This will cause false errors if some arguments of the model call (other than
`subset`

) would be evaluated in the `data`

environment. In that
case is desirable to use `check = FALSE`

(the default).

If `check`

is `TRUE`

or greater than one, `pdredge`

will
compare the `global.model`

updated on the cluster nodes with the one
given as an argument.

See `dredge`

.

As of version 1.45.0, using `pdredge`

directly is deprecated. Use
`dredge`

instead and provide `cluster`

argument.

Kamil Bartoń

`makeCluster`

and other cluster related functions in packages
parallel or snow.

```
# One of these packages is required:
## Not run: require(parallel) || require(snow)
# From example(Beetle)
Beetle100 <- Beetle[sample(nrow(Beetle), 100, replace = TRUE),]
fm1 <- glm(Prop ~ dose + I(dose^2) + log(dose) + I(log(dose)^2),
data = Beetle100, family = binomial, na.action = na.fail)
msubset <- expression(xor(dose, `log(dose)`) & (dose | !`I(dose^2)`)
& (`log(dose)` | !`I(log(dose)^2)`))
varying.link <- list(family = alist(logit = binomial("logit"),
probit = binomial("probit"), cloglog = binomial("cloglog") ))
# Set up the cluster
clusterType <- if(length(find.package("snow", quiet = TRUE))) "SOCK" else "PSOCK"
clust <- try(makeCluster(getOption("cl.cores", 2), type = clusterType))
clusterExport(clust, "Beetle100")
# noticeable gain only when data has about 3000 rows (Windows 2-core machine)
print(system.time(dredge(fm1, subset = msubset, varying = varying.link)))
print(system.time(dredge(fm1, cluster = FALSE, subset = msubset,
varying = varying.link)))
print(system.time(pdd <- dredge(fm1, cluster = clust, subset = msubset,
varying = varying.link)))
print(pdd)
## Not run:
# Time consuming example with 'unmarked' model, based on example(pcount).
# Having enough patience you can run this with 'demo(pdredge.pcount)'.
library(unmarked)
data(mallard)
mallardUMF <- unmarkedFramePCount(mallard.y, siteCovs = mallard.site,
obsCovs = mallard.obs)
(ufm.mallard <- pcount(~ ivel + date + I(date^2) ~ length + elev + forest,
mallardUMF, K = 30))
clusterEvalQ(clust, library(unmarked))
clusterExport(clust, "mallardUMF")
# 'stats4' is needed for AIC to work with unmarkedFit objects but is not
# loaded automatically with 'unmarked'.
require(stats4)
invisible(clusterCall(clust, "library", "stats4", character.only = TRUE))
#system.time(print(pdd1 <- dredge(ufm.mallard,
# subset = `p(date)` | !`p(I(date^2))`, rank = AIC)))
system.time(print(pdd2 <- dredge(ufm.mallard, cluster = clust,
subset = `p(date)` | !`p(I(date^2))`, rank = AIC, extra = "adjR^2")))
# best models and null model
subset(pdd2, delta < 2 | df == min(df))
# Compare with the model selection table from unmarked
# the statistics should be identical:
models <- get.models(pdd2, delta < 2 | df == min(df), cluster = clust)
modSel(fitList(fits = structure(models, names = model.names(models,
labels = getAllTerms(ufm.mallard)))), nullmod = "(Null)")
## End(Not run)
stopCluster(clust)
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.