computes the probability of measurements above connectors and their classes given the model parameters, and returns the unnormalized triplet and individual weights. This is an internal function not meant to be called by the user.

1 |

` id ` |
individual ID of the pedigree, |

` dad ` |
dad ID, |

` mom ` |
mom ID, |

` status ` |
symptom status: (2: symptomatic, 1: without symptoms, 0: missing), |

` probs ` |
a list of probability parameters of the model, |

` fyc ` |
a matrix of |

` peel ` |
a list of pedigree peeling containing connectors by peeling order and couples of parents, |

` res.upward ` |
result of the upward step of the peeling algorithm, see |

This function computes the probability of observations above connectors and their classes using the function `downward.connect`

, for each connector,
if `Y_above(i)`

is the observations above connector `i`

and `S_i`

and `C_i`

are his status and his class respectively, the functions computes
`P(Y_above(i),S_i,C_i)`

by computing a downward step for the parent of connector `i`

who is also a connector. These quantities are used by the function `weight.nuc`

to compute the unnormalized triplet weights `ww`

and the unnormalized
individual weights `w`

.

The function returns a list of 2 elements:

` ww ` |
unnormalized triplet weights, an array of |

` w ` |
unnormalized individual weights, an array of |

TAYEB et al.: Solving Genetic Heterogeneity in Extended Families by Identifying Sub-types of Complex Diseases. Computational Statistics, 2011, DOI: 10.1007/s00180-010-0224-2.

See also `downward.connect`

.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | ```
#data
data(ped.cont)
data(peel)
fam <- ped.cont[,1]
id <- ped.cont[fam==1,2]
dad <- ped.cont[fam==1,3]
mom <- ped.cont[fam==1,4]
status <- ped.cont[fam==1,6]
y <- ped.cont[fam==1,7:ncol(ped.cont)]
peel <- peel[[1]]
#standardize id to be 1, 2, 3, ...
id.origin <- id
standard <- function(vec) ifelse(vec%in%id.origin,which(id.origin==vec),0)
id <- apply(t(id),2,standard)
dad <- apply(t(dad),2,standard)
mom <- apply(t(mom),2,standard)
peel$couple <- cbind(apply(t(peel$couple[,1]),2,standard),
apply(t(peel$couple[,2]),2,standard))
for(generat in 1:peel$generation)
peel$peel.connect[generat,] <- apply(t(peel$peel.connect[generat,]),2,standard)
#probs and param
data(probs)
data(param.cont)
#densities of the observations
fyc <- matrix(1,nrow=length(id),ncol=length(probs$p)+1)
fyc[status==2,1:length(probs$p)] <- t(apply(y[status==2,],1,dens.norm,param.cont,NULL))
#the upward step
res.upward <- upward(id,dad,mom,status,probs,fyc,peel)
#the function
downward(id,dad,mom,status,probs,fyc,peel,res.upward)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.