On 17/06/2019 1:19 p.m., Duncan Murdoch wrote:
Suppose I have a square logical matrix M which I'm thinking of as a
relation between the row/column numbers.
I can make it into a symmetric relation (i.e. M[i,j] being TRUE implies
M[j,i] is TRUE) by the calculation
M <- M | t(M)
Is there a simple way to ensure transitivity, i.e. M[i,j] & M[j,k] both
being TRUE implies M[i,k] is TRUE?
The operation should only change FALSE or NA values to TRUE values; TRUE
values should never be changed.
I also want the changes to be minimal; changing everything to TRUE would
satisfy transitivity, but isn't useful to me.
Duncan Murdoch
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.