pcSelect.presel {pcalg} | R Documentation |
This function uses pcSelect to preselect some covariates and then runs pcSelect again on the reduced data set.
pcSelect.presel(y,dm, alpha, alphapre, corMethod = "standard", verbose = 0, directed=FALSE)
y |
Response Vector (length(y)=nrow(dm)) |
dm |
Data matrix (rows: samples, cols: nodes) |
alpha |
Significance level of individual partial correlation tests |
alphapre |
Significance level for pcSelect in preselection |
corMethod |
"standard" or "Qn" for standard or robust correlation estimation |
verbose |
0-no output, 1-small output, 2-details (using 1 and 2 makes the function very much slower) |
directed |
Boolean; should the output graph be directed? |
This function basically applies pcAlgo
on the data
matrix obtained by joining y
and dm
. Since the output is
not concerned with the edges found within the columns of dm
,
the algorithm is adapted accordingly. Therefore, the runtime and the
ability to deal with large datasets is typically increased quite a
lot.
First, pcSelect
is run using alphapre
. Then,
only the important variables are kept and pcSelect
is run on
them again.
pcs |
A boolean vector indicating which column of dm is
associated with y |
zMin |
The minimal z-values when testing partial correlations
between y and each column of dm . The larger the number,
the more consistent is the edge with the data. |
Xnew |
Preselected Variables. |
Philipp Ruetimann.
P. Spirtes, C. Glymour and R. Scheines (2000) Causation, Prediction, and Search, 2nd edition, The MIT Press.
pcAlgo
which is the more general version of this function.
p <- 10 ## generate and draw random DAG : set.seed(101) myDAG <- randomDAG(p, prob = 0.2) plot(myDAG, main = "randomDAG(10, prob = 0.2)") ## generate 1000 samples of DAG using standard normal error distribution n <- 1000 d.mat <- rmvDAG(n, myDAG, errDist = "normal") ## let's pretend that the 10th column is the response and the first 9 ## columns are explanatory variable. Which of the first 9 variables ## "cause" the tenth variable? y <- d.mat[,10] dm <- d.mat[,-10] res <- pcSelect.presel(d.mat[,10],d.mat[,-10],alpha=0.05,alphapre=0.6)