Nothing
## -----------------------------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
warning = FALSE,
message = FALSE
)
## -----------------------------------------------------------------------------
library(fcaR)
## -----------------------------------------------------------------------------
set.seed(42)
# Context 1
mat1 <- matrix(sample(0:1, 16, replace = TRUE), nrow = 4, ncol = 4)
rownames(mat1) <- paste0("O", 1:4)
colnames(mat1) <- paste0("A", 1:4)
fc1 <- FormalContext$new(mat1)
print(fc1)
# Context 2
mat2 <- matrix(sample(0:1, 16, replace = TRUE), nrow = 4, ncol = 4)
rownames(mat2) <- paste0("P", 1:4)
colnames(mat2) <- paste0("B", 1:4)
fc2 <- FormalContext$new(mat2)
print(fc2)
## -----------------------------------------------------------------------------
bl <- bonds(fc1, fc2, method = "conexp")
bl
## -----------------------------------------------------------------------------
# Using the backtracking method
bl_mcis <- bonds(fc1, fc2, method = "mcis")
bl_mcis$size()
## -----------------------------------------------------------------------------
bl$plot()
## -----------------------------------------------------------------------------
# Get all bonds as a list of FormalContexts
all_bonds <- bl$get_bonds()
length(all_bonds)
# Inspect the first non-trivial bond
# (Note: Bond 1 is usually the "Core" or minimal bond)
all_bonds[[1]]
## -----------------------------------------------------------------------------
core <- bl$get_core()
core$plot()
## -----------------------------------------------------------------------------
# Take an existing bond and check it
mat_bond <- methods::as(all_bonds[[1]]$incidence(), "matrix")
is_bond(fc1, fc2, mat_bond)
# Check an arbitrary (likely invalid) relation
random_rel <- matrix(0, nrow = nrow(mat_bond), ncol = ncol(mat_bond))
is_bond(fc1, fc2, random_rel)
## -----------------------------------------------------------------------------
# 1. Logical Affinity (Log-Bond)
# Measures how much the two contexts share a common logical structure.
# 1.0 means perfect affinity.
bl$similarity("log-bond")
# 2. Structural Complexity
# Ratio of irreducible bonds to total bonds.
# Lower values indicate more emergent structural properties.
bl$similarity("complexity")
# 3. Core Agreement
# Ratio of filled cells in the Core bond versus the Top (largest) bond.
bl$similarity("core-agreement")
# 4. Interaction Entropy
# Based on the log-size of the lattices.
bl$similarity("entropy")
## -----------------------------------------------------------------------------
# Dilworth's Width
bl$similarity("width")
# Order Dimension (estimated via heuristic)
bl$similarity("dimension")
## -----------------------------------------------------------------------------
bl$similarity("width-index")
bl$similarity("dimension-index")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.