diff --git a/.Rbuildignore b/.Rbuildignore index 73b20e62..654da42a 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -21,3 +21,4 @@ CITATION.cff$ ^_pkgdown\.yml$ ^docs$ ^pkgdown$ +^\.vscode$ diff --git a/.gitignore b/.gitignore index b128988b..c2b69572 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ tests/testthat/Rplots.pdf ASOIAF.ged *.Rproj +.vscode/launch.json +dataRelatedPairs_new2.csv diff --git a/.lintr b/.lintr index 10e49fe3..67ff9304 100644 --- a/.lintr +++ b/.lintr @@ -1,2 +1,5 @@ -linters: linters_with_defaults(line_length_linter(120),commented_code_linter = NULL,object_name_linter = object_name_linter(styles = c("snake_case", "symbols"))) # see vignette("lintr") +linters: linters_with_defaults( + line_length_linter = NULL, + commented_code_linter = NULL, + object_name_linter=NULL) # see vignette("lintr") encoding: "UTF-8" diff --git a/BGmisc.Rproj b/BGmisc.Rproj index 91f38d3d..6b58fc01 100644 --- a/BGmisc.Rproj +++ b/BGmisc.Rproj @@ -1,4 +1,5 @@ Version: 1.0 +ProjectId: 660dde05-601d-4692-8962-9a2223744832 RestoreWorkspace: No SaveWorkspace: No diff --git a/DESCRIPTION b/DESCRIPTION index e1cac808..e04bdef4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: BGmisc Title: An R Package for Extended Behavior Genetics Analysis -Version: 1.3.3 +Version: 1.3.5 Authors@R: c( person("S. Mason", "Garrison", , "garrissm@wfu.edu", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-4804-6003")), @@ -33,8 +33,10 @@ Imports: kinship2, Matrix, stats, - stringr + stringr, + methods Suggests: + corrplot, dplyr, EasyMx, knitr, diff --git a/NAMESPACE b/NAMESPACE index a907a21a..05189aab 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -4,17 +4,21 @@ export(SimPed) export(allGens) export(calculateRelatedness) export(checkIDs) +export(checkPedigreeNetwork) export(checkSex) +export(com2links) export(comp2vech) export(createGenDataFrame) export(dropLink) export(evenInsert) +export(extractSummaryText) export(famSizeCal) export(fitComponentModel) export(identifyComponentModel) export(inferRelatedness) export(makeInbreeding) export(makeTwins) +export(parseTree) export(ped2add) export(ped2ce) export(ped2cn) @@ -26,6 +30,7 @@ export(ped2mit) export(ped2paternal) export(plotPedigree) export(readGedcom) +export(readWikifamilytree) export(recodeSex) export(related_coef) export(relatedness) diff --git a/NEWS.md b/NEWS.md index ac9111c6..b7b116f0 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,20 @@ +# BGmisc 1.3.5 +* Added ASOIAF pedigree +* Added com2links() function to convert components to kinship links, with accompanying tests +* Added extractWikiFamilyTree() function to parse family trees from wiki templates, with accompanying tests +* Created vignette demonstrating adjacency matrix methods and applications +* Improved plotPedigree() function by silencing unnecessary invisible list outputs +* Added checkPedigreeNetwork() function for validating pedigree network structure, with accompanying tests + +# BGmisc 1.3.4.1 +* Hot fix to resolve issue with list of adjacency matrix not loading saved version +* Reoptimized generation calculation + +# BGmisc 1.3.4 +* Added alternative (and faster) methods to create the adjacency matrix +* Add tests for comparison of adjacency matrix build methods +* Added Royal Family pedigree + # BGmisc 1.3.3 * Added ability to save and reload pedigree objects that are used by ped2Com * Optimized generation calculation diff --git a/R/buildPedigree.R b/R/buildPedigree.R index 6a89f94e..947494eb 100644 --- a/R/buildPedigree.R +++ b/R/buildPedigree.R @@ -51,7 +51,6 @@ ped2fam <- function(ped, personID = "ID", ped2 <- merge(fam, ped, by = personID, all.x = FALSE, all.y = TRUE ) - return(ped2) } diff --git a/R/checkPedigree.R b/R/checkPedigree.R new file mode 100644 index 00000000..1ebe6afa --- /dev/null +++ b/R/checkPedigree.R @@ -0,0 +1,79 @@ +#' Validate Pedigree Network Structure +#' +#' Checks for structural issues in pedigree networks, including: +#' - Individuals with more than two parents. +#' - Presence of cyclic parent-child relationships. +#' +#' @param ped Dataframe representing the pedigree. +#' @param personID Character. Column name for individual IDs. +#' @param momID Character. Column name for maternal IDs. +#' @param dadID Character. Column name for paternal IDs. +#' @param verbose Logical. If TRUE, print informative messages. +#' +#' @return List containing detailed validation results. +#' @examples +#' \dontrun{ +#' results <- checkPedigreeNetwork(ped, personID = "ID", +#' momID = "momID", dadID = "dadID", verbose = TRUE) +#' } +#' @export +checkPedigreeNetwork <- function(ped, personID = "ID", momID = "momID", dadID = "dadID", verbose = FALSE) { + # Create directed edges from parent to child relationships + ped_edges <- rbind( + data.frame(from = ped[[momID]], to = ped[[personID]]), + data.frame(from = ped[[dadID]], to = ped[[personID]]) + ) + ped_edges <- ped_edges[!is.na(ped_edges$from) & !is.na(ped_edges$to), ] + + ped_graph <- igraph::graph_from_data_frame(ped_edges, directed = TRUE) + + results <- list() + + ## Check for individuals with more than two parents + indegrees <- igraph::degree(ped_graph, mode = "in") + ids_excess_parents <- names(indegrees[indegrees > 2]) + + results$individuals_with_excess_parents <- ids_excess_parents + + if (verbose) { + if (length(ids_excess_parents) > 0) { + message("Individuals with more than two parents detected: ", paste(ids_excess_parents, collapse = ", ")) + } else { + message("No individuals with more than two parents detected.") + } + } + + ## Check for duplicate edges + + duplicate_edges_idx <- igraph::which_multiple(ped_graph) + duplicate_edges <- igraph::as_edgelist(ped_graph)[duplicate_edges_idx, , drop = FALSE] + + results$duplicate_edges <- duplicate_edges + + if (verbose) { + if (nrow(duplicate_edges) > 0) { + message("Duplicate edges detected:") + print(duplicate_edges) + } else { + message("No duplicate edges detected.") + } + } + ## Check for cyclic relationships + is_acyclic <- igraph::is_dag(ped_graph) + results$is_acyclic <- is_acyclic + + if (!is_acyclic) { + cyclic_edges <- igraph::feedback_arc_set(ped_graph) + cyclic_relationships <- igraph::as_edgelist(ped_graph)[cyclic_edges, ] + results$cyclic_relationships <- cyclic_relationships + if (verbose) { + message("Cyclic relationships detected:") + print(cyclic_relationships) + } + } else { + results$cyclic_relationships <- NULL + if (verbose) message("No cyclic relationships detected.") + } + + return(results) +} diff --git a/R/checkSex.R b/R/checkSex.R index a3c51dc5..d220dec6 100644 --- a/R/checkSex.R +++ b/R/checkSex.R @@ -53,10 +53,8 @@ checkSex <- function(ped, code_male = NULL, code_female = NULL, verbose = FALSE, validation_results$sex_unique <- unique(ped$sex) validation_results$sex_length <- length(unique(ped$sex)) if (verbose) { - cat(paste0( - validation_results$sex_length, " unique values found.\n ", - paste0(validation_results$sex_unique) - )) + cat(paste0(validation_results$sex_length, " unique values found.\n")) + cat(paste0("Unique values: ", paste0(validation_results$sex_unique, collapse = ", "), "\n")) } # Are there multiple sexes/genders in the list of dads and moms? @@ -83,7 +81,6 @@ checkSex <- function(ped, code_male = NULL, code_female = NULL, verbose = FALSE, remove(df_moms) } - if (repair) { if (verbose) { cat("Step 2: Attempting to repair sex coding...\n") @@ -99,7 +96,7 @@ checkSex <- function(ped, code_male = NULL, code_female = NULL, verbose = FALSE, num_changes <- sum(original_ped$sex != ped$sex) # Record the change and the count changes[[length(changes) + 1]] <- sprintf( - "Recode sex based on most frequent sex in dads: %s. Total gender changes made: %d", + "Recode sex based on most frequent sex in dads: %s. Total sex changes made: %d", validation_results$most_frequent_sex_dad, num_changes ) } @@ -138,8 +135,8 @@ checkSex <- function(ped, code_male = NULL, code_female = NULL, verbose = FALSE, #' @export #' #' @seealso \code{\link{checkSex}} -repairSex <- function(ped, verbose = FALSE, code_male = NULL) { - checkSex(ped = ped, verbose = verbose, repair = TRUE, code_male = code_male) +repairSex <- function(ped, verbose = FALSE, code_male = NULL, code_female = NULL) { + checkSex(ped = ped, verbose = verbose, repair = TRUE, code_male = code_male, code_female = code_female) } #' Recodes Sex Variable in a Pedigree Dataframe @@ -164,9 +161,8 @@ recodeSex <- function( if (!is.null(code_na)) { ped$sex[ped$sex == code_na] <- NA } - # Recode as "F" or "M" based on code_male, preserving NAs - if (!is.null(code_male) & !is.null(code_female)) { + if (!is.null(code_male) && !is.null(code_female)) { # Initialize sex_recode as NA, preserving the length of the 'sex' column ped$sex_recode <- recode_na ped$sex_recode[ped$sex == code_female] <- recode_female @@ -174,7 +170,7 @@ recodeSex <- function( # Overwriting temp recode variable ped$sex <- ped$sex_recode ped$sex_recode <- NULL - } else if (!is.null(code_male) & is.null(code_female)) { + } else if (!is.null(code_male) && is.null(code_female)) { # Initialize sex_recode as NA, preserving the length of the 'sex' column ped$sex_recode <- recode_na ped$sex_recode[ped$sex != code_male & !is.na(ped$sex)] <- recode_female @@ -182,7 +178,7 @@ recodeSex <- function( # Overwriting temp recode variable ped$sex <- ped$sex_recode ped$sex_recode <- NULL - } else if (is.null(code_male) & !is.null(code_female)) { + } else if (is.null(code_male) && !is.null(code_female)) { # Initialize sex_recode as NA, preserving the length of the 'sex' column ped$sex_recode <- recode_na ped$sex_recode[ped$sex != code_female & !is.na(ped$sex)] <- recode_male diff --git a/R/convertPedigree.R b/R/convertPedigree.R index 273b3d72..1b9d5f15 100644 --- a/R/convertPedigree.R +++ b/R/convertPedigree.R @@ -17,6 +17,8 @@ #' @param flatten.diag logical. If TRUE, overwrite the diagonal of the final relatedness matrix with ones #' @param standardize.colnames logical. If TRUE, standardize the column names of the pedigree dataset #' @param transpose_method character. The method to use for computing the transpose. Options are "tcrossprod", "crossprod", or "star" +#' @param adjacency_method character. The method to use for computing the adjacency matrix. Options are "loop" or "indexed" +#' @param isChild_method character. The method to use for computing the isChild matrix. Options are "classic" or "partialparent" #' @param ... additional arguments to be passed to \code{\link{ped2com}} #' @details The algorithms and methodologies used in this function are further discussed and exemplified in the vignette titled "examplePedigreeFunctions". For more advanced scenarios and detailed explanations, consult this vignette. #' @export @@ -29,18 +31,20 @@ ped2com <- function(ped, component, flatten.diag = FALSE, standardize.colnames = TRUE, transpose_method = "tcrossprod", + adjacency_method = "indexed", + isChild_method = "classic", saveable = FALSE, resume = FALSE, save_rate = 5, save_rate_gen = save_rate, - save_rate_parlist = 1000 * save_rate, + save_rate_parlist = 100000 * save_rate, update_rate = 100, save_path = "checkpoint/", ...) { #------ # Checkpointing #------ - if (saveable | resume) { # prepare checkpointing + if (saveable || resume) { # prepare checkpointing if (verbose) cat("Preparing checkpointing...\n") # Ensure save path exists if (saveable && !dir.exists(save_path)) { @@ -85,7 +89,9 @@ ped2com <- function(ped, component, if (!transpose_method %in% c("tcrossprod", "crossprod", "star", "tcross.alt.crossprod", "tcross.alt.star")) { stop("Invalid method specified. Choose from 'tcrossprod', 'crossprod', or 'star' or 'tcross.alt.crossprod' or 'tcross.alt.star'.") } - + if (!adjacency_method %in% c("indexed", "loop", "direct")) { + stop("Invalid method specified. Choose from 'indexed', 'loop', or 'direct'.") + } # standardize colnames if (standardize.colnames) { @@ -103,8 +109,6 @@ ped2com <- function(ped, component, # Algorithm #------ - - # Get the number of rows in the pedigree dataset, representing the size of the family nr <- nrow(ped) @@ -114,6 +118,7 @@ ped2com <- function(ped, component, } # Step 1: Construct parent-child adjacency matrix + ## A. Resume from Checkpoint if Needed if (resume && file.exists(checkpoint_files$parList) && file.exists(checkpoint_files$lens)) { if (verbose) cat("Resuming: Loading parent-child adjacency data...\n") parList <- readRDS(checkpoint_files$parList) @@ -126,89 +131,41 @@ ped2com <- function(ped, component, parList <- vector("list", nr) lens <- integer(nr) lastComputed <- 0 - } - # Resume loop from the next uncomputed index - if (lastComputed < nr) { - # Loop through each individual in the pedigree build the adjacency matrix for parent-child relationships - # Is person in column j the parent of the person in row i? .5 for yes, 0 for no. - - ped$momID <- as.numeric(ped$momID) - ped$dadID <- as.numeric(ped$dadID) - ped$ID <- as.numeric(ped$ID) - - for (i in (lastComputed + 1):nr) { - x <- ped[i, , drop = FALSE] - - # Handle parentage according to the 'component' specified # povitch algorymn - if (component %in% c("generation", "additive")) { - # Code for 'generation' and 'additive' components - # Checks if is mom of ID or is dad of ID - # do once - # xID <- as.numeric(x["ID"]) - # sMom <- (xID == as.numeric(ped$momID)) - # sDad <- (xID == as.numeric(ped$dadID)) - # val <- sMom | sDad - # val[is.na(val)] <- FALSE - # reduces computations - xID <- as.numeric(x["ID"]) - sMom <- (xID == ped$momID) - sDad <- (xID == ped$dadID) - val <- sMom | sDad - val[is.na(val)] <- FALSE - } else if (component %in% c("common nuclear")) { - # Code for 'common nuclear' component - # IDs have the Same mom and Same dad - sMom <- (as.numeric(x["momID"]) == ped$momID) - sMom[is.na(sMom)] <- FALSE - sDad <- (as.numeric(x["dadID"]) == ped$dadID) - sDad[is.na(sDad)] <- FALSE - val <- sMom & sDad - } else if (component %in% c("mitochondrial")) { - # Code for 'mitochondrial' component - # sMom <- (as.numeric(x["ID"]) == as.numeric(ped$momID)) - # sDad <- TRUE - # val <- sMom & sDad - # val[is.na(val)] <- FALSE - - # reduces computations - val <- (as.numeric(x["ID"]) == ped$momID) - val[is.na(val)] <- FALSE - } else { - stop("Unknown relatedness component requested") - } - # Storing the indices of the parent-child relationships - # keep track of indices only, and then initialize a single sparse matrix - wv <- which(val) - parList[[i]] <- wv - lens[i] <- length(wv) - # Print progress if verbose is TRUE - if (verbose && (i %% update_rate == 0)) { - cat(paste0("Done with ", i, " of ", nr, "\n")) - } - # Checkpointing every save_rate iterations - if (saveable && (i %% save_rate_parlist == 0)) { - saveRDS(parList, file = checkpoint_files$parList) - saveRDS(lens, file = checkpoint_files$lens) - if (verbose) cat("Checkpointed parlist saved at iteration", i, "\n") - } - } - if (saveable) { - saveRDS(parList, file = checkpoint_files$parList) - saveRDS(lens, file = checkpoint_files$lens) - if (verbose) cat("parList saved\n") - } + if (verbose) cat("Building parent adjacency matrix...\n") } + + ## B. Resume loop from the next uncomputed index + + if (verbose) cat("Computing parent-child adjacency matrix...\n") # Construct sparse matrix - if (resume && file.exists(checkpoint_files$isPar)) { # fix to check actual + if (resume && file.exists(checkpoint_files$iss) && file.exists(checkpoint_files$jss)) { # fix to check actual if (verbose) cat("Resuming: Constructed matrix...\n") jss <- readRDS(checkpoint_files$jss) iss <- readRDS(checkpoint_files$iss) + list_of_adjacencies <- list(iss = iss, jss = jss) } else { + list_of_adjacencies <- compute_parent_adjacency( + ped = ped, + save_rate_parlist = save_rate_parlist, + checkpoint_files = checkpoint_files, + component = component, + adjacency_method = adjacency_method, # adjacency_method, + saveable = saveable, + resume = resume, + save_path = save_path, + update_rate = update_rate, + verbose = verbose, + lastComputed = lastComputed, + nr = nr, + parList = parList, + lens = lens + ) + # Construct sparse matrix - jss <- rep(1L:nr, times = lens) - iss <- unlist(parList) + iss <- list_of_adjacencies$iss + jss <- list_of_adjacencies$jss if (verbose) { cat("Constructed sparse matrix\n") @@ -219,11 +176,10 @@ ped2com <- function(ped, component, } # Garbage collection if gc is TRUE if (gc) { - rm(parList, lens) + rm(parList, lens, list_of_adjacencies) gc() } } - # Set parent values depending on the component type if (component %in% c("generation", "additive")) { parVal <- .5 @@ -267,14 +223,20 @@ ped2com <- function(ped, component, isChild <- readRDS(checkpoint_files$isChild) } else { # isChild is the 'S' matrix from RAM - isChild <- apply(ped[, c("momID", "dadID")], 1, function(x) { - 2^(-!all(is.na(x))) - }) + + if (isChild_method == "partialparent") { + isChild <- apply(ped[, c("momID", "dadID")], 1, function(x) { + .5 + .25 * sum(is.na(x)) # 2 parents -> .5, 1 parent -> .75, 0 parents -> 1 + }) + } else { + isChild <- apply(ped[, c("momID", "dadID")], 1, function(x) { + 2^(-!all(is.na(x))) + }) + } if (saveable) { saveRDS(isChild, file = checkpoint_files$isChild) } } - # --- Step 2: Compute Relatedness Matrix --- if (resume && file.exists(checkpoint_files$r_checkpoint) && file.exists(checkpoint_files$gen_checkpoint) && file.exists(checkpoint_files$mtSum_checkpoint) && file.exists(checkpoint_files$newIsPar_checkpoint) && file.exists(checkpoint_files$count_checkpoint) @@ -298,8 +260,8 @@ ped2com <- function(ped, component, } # r is I + A + A^2 + ... = (I-A)^-1 from RAM -# could trim, here - while (mtSum != 0 & count < maxCount) { + # could trim, here + while (mtSum != 0 && count < maxCount) { r <- r + newIsPar gen <- gen + (Matrix::rowSums(newIsPar) > 0) newIsPar <- newIsPar %*% isPar @@ -323,8 +285,17 @@ ped2com <- function(ped, component, rm(isPar, newIsPar) gc() } + + if (component == "generation") { # no need to do the rest + return(gen) + } else { + if (verbose) { + cat("Completed RAM path tracing\n") + } + } + # --- Step 3: I-A inverse times diagonal multiplication --- - if (resume && file.exists(checkpoint_files$final_matrix)) { + if (resume && file.exists(checkpoint_files$r2_checkpoint)) { if (verbose) cat("Resuming: Loading I-A inverse...\n") r2 <- readRDS(checkpoint_files$r2_checkpoint) } else { @@ -347,31 +318,28 @@ ped2com <- function(ped, component, if (verbose) cat("Resuming: Loading tcrossprod...\n") r <- readRDS(checkpoint_files$tcrossprod_checkpoint) } else { - r <- compute_transpose(r2 = r2, transpose_method = transpose_method, verbose = verbose) + r <- .computeTranspose(r2 = r2, transpose_method = transpose_method, verbose = verbose) if (saveable) { saveRDS(r, file = checkpoint_files$tcrossprod_checkpoint) } } - if (component == "generation") { - return(gen) - } else { - if (component == "mitochondrial") { - r@x <- rep(1, length(r@x)) - # Assign 1 to all nonzero elements for mitochondrial component - } - if (!sparse) { - r <- as.matrix(r) - } - if (flatten.diag) { # flattens diagonal if you don't want to deal with inbreeding - diag(r) <- 1 - } - if (saveable) { - saveRDS(r, file = checkpoint_files$final_matrix) - } - return(r) + if (component == "mitochondrial") { + r@x <- rep(1, length(r@x)) + # Assign 1 to all nonzero elements for mitochondrial component + } + + if (!sparse) { + r <- as.matrix(r) + } + if (flatten.diag) { # flattens diagonal if you don't want to deal with inbreeding + diag(r) <- 1 + } + if (saveable) { + saveRDS(r, file = checkpoint_files$final_matrix) } + return(r) } #' Take a pedigree and turn it into an additive genetics relatedness matrix @@ -383,6 +351,7 @@ ped2add <- function(ped, max.gen = 25, sparse = FALSE, verbose = FALSE, gc = FALSE, flatten.diag = FALSE, standardize.colnames = TRUE, transpose_method = "tcrossprod", + adjacency_method = "direct", saveable = FALSE, resume = FALSE, save_rate = 5, @@ -400,6 +369,7 @@ ped2add <- function(ped, max.gen = 25, sparse = FALSE, verbose = FALSE, flatten.diag = flatten.diag, standardize.colnames = standardize.colnames, transpose_method = transpose_method, + adjacency_method = adjacency_method, saveable = saveable, resume = resume, save_rate_gen = save_rate_gen, @@ -420,10 +390,11 @@ ped2mit <- ped2mt <- function(ped, max.gen = 25, flatten.diag = FALSE, standardize.colnames = TRUE, transpose_method = "tcrossprod", + adjacency_method = "direct", saveable = FALSE, resume = FALSE, save_rate = 5, - save_rate_gen = save_rate_gen, + save_rate_gen = save_rate, save_rate_parlist = 1000 * save_rate, save_path = "checkpoint/", ...) { @@ -437,6 +408,7 @@ ped2mit <- ped2mt <- function(ped, max.gen = 25, flatten.diag = flatten.diag, standardize.colnames = standardize.colnames, transpose_method = transpose_method, + adjacency_method = adjacency_method, saveable = saveable, resume = resume, save_rate_gen = save_rate_gen, @@ -457,6 +429,7 @@ ped2cn <- function(ped, max.gen = 25, sparse = FALSE, verbose = FALSE, saveable = FALSE, resume = FALSE, save_rate = 5, + adjacency_method = "indexed", save_rate_gen = save_rate, save_rate_parlist = 1000 * save_rate, save_path = "checkpoint/", @@ -468,6 +441,7 @@ ped2cn <- function(ped, max.gen = 25, sparse = FALSE, verbose = FALSE, verbose = verbose, gc = gc, component = "common nuclear", + adjacency_method = adjacency_method, flatten.diag = flatten.diag, standardize.colnames = standardize.colnames, transpose_method = transpose_method, @@ -494,7 +468,7 @@ ped2ce <- function(ped, #' @inherit ped2com details #' @param r2 a relatedness matrix #' -compute_transpose <- function(r2, transpose_method = "tcrossprod", verbose = FALSE) { +.computeTranspose <- function(r2, transpose_method = "tcrossprod", verbose = FALSE) { if (!transpose_method %in% c("tcrossprod", "crossprod", "star", "tcross.alt.crossprod", "tcross.alt.star")) { stop("Invalid method specified. Choose from 'tcrossprod', 'crossprod', or 'star'.") } @@ -509,3 +483,243 @@ compute_transpose <- function(r2, transpose_method = "tcrossprod", verbose = FAL return(Matrix::tcrossprod(r2)) } } + +.adjLoop <- function(ped, component, saveable, resume, + save_path, verbose, lastComputed, + nr, checkpoint_files, update_rate, + parList, lens, save_rate_parlist, + ...) { + # Loop through each individual in the pedigree + # Build the adjacency matrix for parent-child relationships + # Is person in column j the parent of the person in row i? .5 for yes, 0 for no. + ped$momID <- as.numeric(ped$momID) + ped$dadID <- as.numeric(ped$dadID) + ped$ID <- as.numeric(ped$ID) + + for (i in (lastComputed + 1):nr) { + x <- ped[i, , drop = FALSE] + # Handle parentage according to the 'component' specified + if (component %in% c("generation", "additive")) { + # Code for 'generation' and 'additive' components + # Checks if is mom of ID or is dad of ID + xID <- as.numeric(x["ID"]) + sMom <- (xID == ped$momID) + sDad <- (xID == ped$dadID) + val <- sMom | sDad + val[is.na(val)] <- FALSE + } else if (component %in% c("common nuclear")) { + # Code for 'common nuclear' component + # IDs have the Same mom and Same dad + sMom <- (as.numeric(x["momID"]) == ped$momID) + sMom[is.na(sMom)] <- FALSE + sDad <- (as.numeric(x["dadID"]) == ped$dadID) + sDad[is.na(sDad)] <- FALSE + val <- sMom & sDad + } else if (component %in% c("mitochondrial")) { + # Code for 'mitochondrial' component + val <- (as.numeric(x["ID"]) == ped$momID) + val[is.na(val)] <- FALSE + } else { + stop("Unknown relatedness component requested") + } + # Storing the indices of the parent-child relationships + # Keep track of indices only, and then initialize a single sparse matrix + wv <- which(val) + parList[[i]] <- wv + lens[i] <- length(wv) + # Print progress if verbose is TRUE + if (verbose && (i %% update_rate == 0)) { + cat(paste0("Done with ", i, " of ", nr, "\n")) + } + # Checkpointing every save_rate iterations + if (saveable && (i %% save_rate_parlist == 0)) { + saveRDS(parList, file = checkpoint_files$parList) + saveRDS(lens, file = checkpoint_files$lens) + if (verbose) cat("Checkpointed parlist saved at iteration", i, "\n") + } + } + jss <- rep(1L:nr, times = lens) + iss <- unlist(parList) + list_of_adjacency <- list(iss = iss, jss = jss) + return(list_of_adjacency) +} + +.adjIndexed <- function(ped, component, saveable, resume, + save_path, verbose, lastComputed, + nr, checkpoint_files, update_rate, + parList, lens, save_rate_parlist, + ...) { + # Loop through each individual in the pedigree + # Build the adjacency matrix for parent-child relationships + # Is person in column j the parent of the person in row i? .5 for yes, 0 for no. + + # Convert IDs + ped$ID <- as.numeric(ped$ID) + ped$momID <- as.numeric(ped$momID) + ped$dadID <- as.numeric(ped$dadID) + + # parent-child lookup + mom_index <- match(ped$momID, ped$ID, nomatch = 0) + dad_index <- match(ped$dadID, ped$ID, nomatch = 0) + + for (i in (lastComputed + 1):nr) { + if (component %in% c("generation", "additive")) { + sMom <- (mom_index == i) + sDad <- (dad_index == i) + val <- sMom | sDad + } else if (component %in% c("common nuclear")) { + # Code for 'common nuclear' component + # IDs have the Same mom and Same dad + sMom <- (ped$momID[i] == ped$momID) + sMom[is.na(sMom)] <- FALSE + sDad <- (ped$dadID[i] == ped$dadID) + sDad[is.na(sDad)] <- FALSE + val <- sMom & sDad + } else if (component %in% c("mitochondrial")) { + val <- (mom_index == i) + } else { + stop("Unknown relatedness component requested") + } + + val[is.na(val)] <- FALSE + parList[[i]] <- which(val) + lens[i] <- length(parList[[i]]) + + # Print progress if verbose is TRUE + if (verbose && (i %% update_rate == 0)) { + cat(paste0("Done with ", i, " of ", nr, "\n")) + } + + # Checkpointing every save_rate iterations + if (saveable && (i %% save_rate_parlist == 0)) { + saveRDS(parList, file = checkpoint_files$parList) + saveRDS(lens, file = checkpoint_files$lens) + if (verbose) cat("Checkpointed parlist saved at iteration", i, "\n") + } + } + jss <- rep(1L:nr, times = lens) + iss <- unlist(parList) + list_of_adjacency <- list(iss = iss, jss = jss) + return(list_of_adjacency) +} + +.adjDirect <- function(ped, component, saveable, resume, + save_path, verbose, lastComputed, + nr, checkpoint_files, update_rate, + parList, lens, save_rate_parlist, + ...) { + # Loop through each individual in the pedigree + # Build the adjacency matrix for parent-child relationships + # Is person in column j the parent of the person in row i? .5 for yes, 0 for no. + uniID <- ped$ID # live dangerously without sort(unique(ped$ID)) + ped$ID <- as.numeric(factor(ped$ID, levels = uniID)) + ped$momID <- as.numeric(factor(ped$momID, levels = uniID)) + ped$dadID <- as.numeric(factor(ped$dadID, levels = uniID)) + + if (component %in% c("generation", "additive")) { + mIDs <- stats::na.omit(data.frame(rID = ped$ID, cID = ped$momID)) + dIDs <- stats::na.omit(data.frame(rID = ped$ID, cID = ped$dadID)) + iss <- c(mIDs$rID, dIDs$rID) + jss <- c(mIDs$cID, dIDs$cID) + } else if (component %in% c("common nuclear")) { + stop("Common Nuclear component is not yet implemented for direct method. Use index method.\n") + # change to warning and call indexed version + } else if (component %in% c("mitochondrial")) { + mIDs <- stats::na.omit(data.frame(rID = ped$ID, cID = ped$momID)) + iss <- c(mIDs$rID) + jss <- c(mIDs$cID) + } else { + stop("Unknown relatedness component requested") + } + list_of_adjacency <- list( + iss = iss, + jss = jss + ) + return(list_of_adjacency) +} + +#' Compute Parent Adjacency Matrix with Multiple Approaches +#' @inheritParams ped2com +#' @inherit ped2com details +#' @param nr the number of rows in the pedigree dataset +#' @param lastComputed the last computed index +#' @param parList a list of parent-child relationships +#' @param lens a vector of the lengths of the parent-child relationships +#' @param checkpoint_files a list of checkpoint files + +compute_parent_adjacency <- function(ped, component, + adjacency_method = "indexed", + saveable, resume, + save_path, verbose, + lastComputed, nr, checkpoint_files, update_rate, + parList, lens, save_rate_parlist, + ...) { + if (adjacency_method == "loop") { + if (lastComputed < nr) { # Original version + list_of_adjacency <- .adjLoop( + ped = ped, + component = component, + saveable = saveable, + resume = resume, + save_path = save_path, + verbose = verbose, + lastComputed = lastComputed, + nr = nr, + checkpoint_files = checkpoint_files, + update_rate = update_rate, + parList = parList, + lens = lens, + save_rate_parlist = save_rate_parlist, + ... + ) + } + } else if (adjacency_method == "indexed") { # Garrison version + if (lastComputed < nr) { + list_of_adjacency <- .adjIndexed( + ped = ped, + component = component, + saveable = saveable, + resume = resume, + save_path = save_path, + verbose = verbose, + lastComputed = lastComputed, + nr = nr, + checkpoint_files = checkpoint_files, + update_rate = update_rate, + parList = parList, + lens = lens, + save_rate_parlist = save_rate_parlist, + ... + ) + } + } else if (adjacency_method == "direct") { # Hunter version + if (lastComputed < nr) { + list_of_adjacency <- .adjDirect( + ped = ped, + component = component, + saveable = saveable, + resume = resume, + save_path = save_path, + verbose = verbose, + lastComputed = lastComputed, + nr = nr, + checkpoint_files = checkpoint_files, + update_rate = update_rate, + parList = parList, + lens = lens, + save_rate_parlist = save_rate_parlist, + ... + ) + } + } else { + stop("Invalid method specified. Choose from 'loop', 'direct', or 'indexed'.") + } + if (saveable) { + saveRDS(parList, file = checkpoint_files$parList) + saveRDS(lens, file = checkpoint_files$lens) + if (verbose) { + cat("Final checkpoint saved for adjacency matrix.\n") + } + } + return(list_of_adjacency) +} diff --git a/R/documentData.R b/R/documentData.R index fad1de5b..1979db91 100644 --- a/R/documentData.R +++ b/R/documentData.R @@ -94,3 +94,50 @@ NULL ##' @usage data(potter) ##' @format A data frame (and ped object) with 36 rows and 8 variables NULL + + +##' Royal pedigree data from 1992 +##' +##' A dataset created by Denis Reid from the Royal Families of Europe. +##' +##' The variables are as follows: +##' id,momID,dadID,name,sex,birth_date,death_date,attribute_title +##' \itemize{ +##' \item \code{id}: Person identification variable +##' \item \code{momID}: ID of the mother +##' \item \code{dadID}: ID of the father +##' \item \code{name}: Name of the person +##' \item \code{sex}: Biological sex +##' \item \code{birth_date}: Date of birth +##' \item \code{death_date}: Date of death +##' \item \code{attribute_title}: Title of the person +##' +##' } +##' +##' +##' @docType data +##' @keywords datasets +##' @name royal92 +##' @usage data(royal92) +##' @format A data frame with 3110 observations +NULL + +##' A song of ice and fire pedigree data +##' +##' A dataset created from the Song of Ice and Fire series by George R. R. Martin. +##' +##' The variables are as follows: +##' \itemize{ +##' \item \code{id}: Person identification variable +##' \item \code{momID}: ID of the mother +##' \item \code{dadID}: ID of the father +##' \item \code{name}: Name of the person +##' \item \code{sex}: Biological sex +##' } +##' +##' @docType data +##' @keywords datasets +##' @name ASOIAF +##' @usage data(ASOIAF) +##' @format A data frame with 501 observations +NULL diff --git a/R/makeLinks.R b/R/makeLinks.R new file mode 100644 index 00000000..9517b533 --- /dev/null +++ b/R/makeLinks.R @@ -0,0 +1,614 @@ +#' Convert Sparse Relationship Matrices to Kinship Links +#' +#' This function processes one or more sparse relationship components (additive, mitochondrial, +#' and common nuclear) and converts them into kinship link pairs. The resulting related pairs are +#' either returned as a data frame or written to disk in CSV format. +#' +#' @param rel_pairs_file File path to write related pairs to (CSV format). +#' @param ad_ped_matrix Matrix of additive genetic relatedness coefficients. +#' @param mit_ped_matrix Matrix of mitochondrial relatedness coefficients. Alias: \code{mt_ped_matrix}. +#' @param mt_ped_matrix Matrix of mitochondrial relatedness coefficients. +#' @param cn_ped_matrix Matrix of common nuclear relatedness coefficients. +#' @param write_buffer_size Number of related pairs to write to disk at a time. +#' @param gc Logical. If TRUE, performs garbage collection via \code{\link{gc}} to free memory. +#' @param writetodisk Logical. If TRUE, writes the related pairs to disk; if FALSE, returns a data frame. +#' @param verbose Logical. If TRUE, prints progress messages. +#' @param update_rate Numeric. Frequency (in iterations) at which progress messages are printed. +#' @param legacy Logical. If TRUE, uses the legacy branch of the function. +#' @param outcome_name Character string representing the outcome name (used in file naming). +#' @param drop_upper_triangular Logical. If TRUE, drops the upper triangular portion of the matrix. +#' @param ... Additional arguments to be passed to \code{\link{com2links}} +#' +#' @return A data frame of related pairs if \code{writetodisk} is FALSE; otherwise, writes the results to disk. +#' @export +com2links <- function( + rel_pairs_file = "dataRelatedPairs.csv", + ad_ped_matrix = NULL, + mit_ped_matrix = mt_ped_matrix, + mt_ped_matrix = NULL, + cn_ped_matrix = NULL, + # pat_ped_matrix = NULL, + # mat_ped_matrix = NULL, + # mapa_id_file = "data_mapaID.csv", + write_buffer_size = 1000, + update_rate = 1000, + gc = TRUE, + writetodisk = TRUE, + verbose = FALSE, + legacy = FALSE, + outcome_name = "data", + drop_upper_triangular = TRUE, + ...) { + # Non-legacy mode processing + + if (!legacy) { + # --- Input Validations and Preprocessing --- + + # Ensure that at least one relationship matrix is provided. + if (is.null(ad_ped_matrix) && is.null(mit_ped_matrix) && is.null(cn_ped_matrix)) { + stop("At least one of 'ped_matrix', 'mit_ped_matrix', or 'cn_ped_matrix' must be provided.") + } + # Validate and convert ad_ped_matrix to a sparse dgCMatrix if provided. + if (!is.null(ad_ped_matrix)) { + if (!inherits(ad_ped_matrix, c("matrix", "dgCMatrix", "dsCMatrix"))) { + stop("The 'ad_ped_matrix' must be a matrix or dgCMatrix.") + } + # convert to sparse + if (!inherits(ad_ped_matrix, "dgCMatrix")) { + ad_ped_matrix <- methods::as(ad_ped_matrix, "dgCMatrix") + } + } + + # Validate and convert cn_ped_matrix to a sparse dgCMatrix if provided. + if (!is.null(cn_ped_matrix)) { + if (!inherits(cn_ped_matrix, c("matrix", "dgCMatrix", "dsCMatrix"))) { + stop("The 'cn_ped_matrix' must be a matrix or dgCMatrix.") + } + # convert to sparse + if (!inherits(cn_ped_matrix, "dgCMatrix")) { + cn_ped_matrix <- methods::as(cn_ped_matrix, "dgCMatrix") + } + # Ensure CN matrix is symmetric. + cn_ped_matrix <- methods::as(cn_ped_matrix, "symmetricMatrix") + } + + # Validate and process mit_ped_matrix: convert and ensure binary values. + if (!is.null(mit_ped_matrix)) { + if (!inherits(mit_ped_matrix, c("matrix", "dgCMatrix", "dsCMatrix"))) { + stop("The 'mit_ped_matrix' must be a matrix or dgCMatrix.") + } + if (!inherits(mit_ped_matrix, "dgCMatrix")) { + mit_ped_matrix <- methods::as(mit_ped_matrix, "symmetricMatrix") + } + # Ensure mitochondrial matrix values are binary (0/1) + mit_ped_matrix@x[mit_ped_matrix@x > 0] <- 1 + } + + # --- Build IDs and Prepare Matrix Pointers --- + + # Extract individual IDs from the first available matrix. + ids <- NULL + if (!is.null(cn_ped_matrix)) { + ids <- as.numeric(dimnames(cn_ped_matrix)[[1]]) + nc <- ncol(cn_ped_matrix) + } else if (!is.null(ad_ped_matrix)) { + ids <- as.numeric(dimnames(ad_ped_matrix)[[1]]) + nc <- ncol(ad_ped_matrix) + } else if (!is.null(mit_ped_matrix)) { + ids <- as.numeric(dimnames(mit_ped_matrix)[[1]]) + nc <- ncol(mit_ped_matrix) + } + + if (is.null(ids)) { + stop("Could not extract IDs from the provided matrices.") + } + + # Count how many matrices are provided. + sum_nulls <- sum(!is.null(ad_ped_matrix), + !is.null(mit_ped_matrix), + !is.null(cn_ped_matrix), + na.rm = TRUE + ) + if (verbose) { + print(sum_nulls) + } + + # Extract the internal pointers (p, i, and x slots) for each provided matrix. + if (!is.null(ad_ped_matrix)) { + ad_ped_p <- ad_ped_matrix@p + 1L + ad_ped_i <- ad_ped_matrix@i + 1L + ad_ped_x <- ad_ped_matrix@x + } + if (!is.null(mit_ped_matrix)) { + mt_p <- mit_ped_matrix@p + 1L + mt_i <- mit_ped_matrix@i + 1L + mt_x <- mit_ped_matrix@x + } + if (!is.null(cn_ped_matrix)) { + cn_p <- cn_ped_matrix@p + 1L + cn_i <- cn_ped_matrix@i + 1L + cn_x <- cn_ped_matrix@x + } + + # --- Process Based on the Number of Provided Matrices --- + # --- Case: All Three Matrices Provided --- + if (sum_nulls == 3) { + # Set pointers for all three matrices. + newColPos1 <- ad_ped_p + iss1 <- ad_ped_i + x1 <- ad_ped_x + + newColPos2 <- mt_p + iss2 <- mt_i + x2 <- mt_x + + newColPos3 <- cn_p + iss3 <- cn_i + x3 <- cn_x + + # Define relationship column names. + relNames <- c("addRel", "mitRel", "cnuRel") + + # Optionally remove the original pointers to free memory. + if (gc == TRUE) { + remove(ad_ped_p, ad_ped_i, ad_ped_x, mt_p, mt_i, mt_x, cn_p, cn_i, cn_x) + } + if (verbose) { + message("All 3 matrix is present") + } + + # File names + # rel_pairs_file <- paste0(outcome_name, "_dataRelatedPairs.csv") + # mapa_id_file <- paste0(outcome_name, "_data_mapaID.csv") + + # Initialize the related pairs file with headers. + df_relpairs <- data.frame( + ID1 = numeric(0), ID2 = numeric(0) + ) + df_relpairs[[relNames[1]]] <- numeric(0) + df_relpairs[[relNames[2]]] <- numeric(0) + df_relpairs[[relNames[3]]] <- numeric(0) + + # Write the headers to the related pairs file. + if (writetodisk == TRUE) { + utils::write.table( + df_relpairs, + file = rel_pairs_file, sep = ",", append = FALSE, row.names = FALSE + ) + + # Prepare an empty buffer for batching writes. + write_buffer <- list() + remove(df_relpairs) + } + + # Loop over each column (individual) in the matrix. + for (j in 1L:nc) { + ID2 <- ids[j] + + # Extract column indices for the 1st component + ncp1 <- newColPos1[j] + ncp1p <- newColPos1[j + 1L] + cond1 <- ncp1 < ncp1p + if (cond1) { + vv1 <- ncp1:(ncp1p - 1L) + iss1vv <- iss1[vv1] + } + # Extract indices for the 2nd component + ncp2 <- newColPos2[j] + ncp2p <- newColPos2[j + 1L] + cond2 <- ncp2 < ncp2p + if (cond2) { + vv2 <- ncp2:(ncp2p - 1L) + iss2vv <- iss2[vv2] + } + + # Extract indices for the 3rd component + ncp3 <- newColPos3[j] + ncp3p <- newColPos3[j + 1L] + cond3 <- ncp3 < ncp3p + if (cond3) { + vv3 <- ncp3:(ncp3p - 1L) + iss3vv <- iss3[vv3] + } + + # Create a unique, sorted set of row indices from all provided matrices. + u <- sort(igraph::union(igraph::union(if (cond1) { + iss1vv + }, if (cond2) { + iss2vv + }), if (cond3) { + iss3vv + })) + + # If any relationships exist for this individual, build the related pairs. + if (cond1 || cond2 || cond3) { + ID1 <- ids[u] + tds <- data.frame(ID1 = ID1, ID2 = ID2) + tds[[relNames[1]]] <- 0 + tds[[relNames[2]]] <- 0 + tds[[relNames[3]]] <- 0 + + # Assign the relationship coefficients from each matrix. + if (cond1) { + tds[u %in% iss1vv, relNames[1]] <- x1[vv1] + } + if (cond2) { + tds[u %in% iss2vv, relNames[2]] <- x2[vv2] + } + if (cond3) { + tds[u %in% iss3vv, relNames[3]] <- x3[vv3] + } + + # Optionally drop upper-triangular entries. + if (drop_upper_triangular == TRUE) { + tds <- tds[tds$ID1 <= tds$ID2, ] # or < if you want strictly lower triangle + } + + # Write the batch to disk or accumulate in the data frame. + if (nrow(tds) > 0) { + if (writetodisk == TRUE) { + write_buffer[[length(write_buffer) + 1]] <- tds + + if (length(write_buffer) >= write_buffer_size) { # Write in batches + utils::write.table(do.call(rbind, write_buffer), + file = rel_pairs_file, + row.names = FALSE, col.names = FALSE, append = TRUE, sep = "," + ) + write_buffer <- list() + } + } else { + df_relpairs <- rbind(df_relpairs, tds) + } + } + } + if (verbose) { + if (!(j %% update_rate)) { + cat(paste0("Done with ", j, " of ", nc, "\n")) + } + } + } + } else if (sum_nulls == 2) { + # --- Case: Two Matrices Provided --- + # Set pointers and relationship names based on which matrix is missing. + + if (is.null(ad_ped_matrix)) { + newColPos1 <- mt_p + iss1 <- mt_i + x1 <- mt_x + newColPos2 <- cn_p + iss2 <- cn_i + x2 <- cn_x + relNames <- c("mitRel", "cnuRel") + if (gc == TRUE) { + remove(mt_p, mt_i, mt_x, cn_p, cn_i, cn_x) + } + } + if (is.null(mit_ped_matrix)) { + newColPos1 <- ad_ped_p + iss1 <- ad_ped_i + x1 <- ad_ped_x + newColPos2 <- cn_p + iss2 <- cn_i + x2 <- cn_x + relNames <- c("addRel", "cnuRel") + if (gc == TRUE) { + remove(ad_ped_p, ad_ped_i, ad_ped_x, cn_p, cn_i, cn_x) + } + } + if (is.null(cn_ped_matrix)) { + newColPos1 <- ad_ped_p + iss1 <- ad_ped_i + x1 <- ad_ped_x + newColPos2 <- mt_p + iss2 <- mt_i + x2 <- mt_x + relNames <- c("addRel", "mitRel") + if (gc == TRUE) { + remove(ad_ped_p, ad_ped_i, ad_ped_x, mt_p, mt_i, mt_x) + } + } + + # Initialize the related pairs file with the appropriate headers. + df_relpairs <- data.frame( + ID1 = numeric(0), ID2 = numeric(0) + ) + df_relpairs[[relNames[1]]] <- numeric(0) + df_relpairs[[relNames[2]]] <- numeric(0) + if (writetodisk == TRUE) { + utils::write.table( + df_relpairs, + file = rel_pairs_file, sep = ",", append = FALSE, row.names = FALSE + ) + # initial buffer + write_buffer <- list() + remove(df_relpairs) + } + + # Process each column to extract relationships. + for (j in 1L:nc) { + ID2 <- ids[j] + + # Extract indices from the first matrix. + ncp1 <- newColPos1[j] + ncp1p <- newColPos1[j + 1L] + cond1 <- ncp1 < ncp1p + if (cond1) { + vv1 <- ncp1:(ncp1p - 1L) + iss1vv <- iss1[vv1] + } + # Extract indices from the second matrix. + ncp2 <- newColPos2[j] + ncp2p <- newColPos2[j + 1L] + cond2 <- ncp2 < ncp2p + if (cond2) { + vv2 <- ncp2:(ncp2p - 1L) + iss2vv <- iss2[vv2] + } + + # Merge the indices from both matrices. + u <- sort(igraph::union(if (cond1) { + iss1vv + }, if (cond2) { + iss2vv + })) + + # Create related pairs if relationships are found. + if (cond1 || cond2) { + ID1 <- ids[u] + tds <- data.frame(ID1 = ID1, ID2 = ID2) + tds[[relNames[1]]] <- 0 + tds[[relNames[2]]] <- 0 + + if (cond1) { + tds[u %in% iss1vv, relNames[1]] <- x1[vv1] + } + if (cond2) { + tds[u %in% iss2vv, relNames[2]] <- x2[vv2] + } + if (drop_upper_triangular == TRUE) { + tds <- tds[tds$ID1 <= tds$ID2, ] # or < if you want strictly lower triangle + } + + # Write the batch to disk or accumulate in the data frame. + if (nrow(tds) > 0) { + if (writetodisk == TRUE) { + write_buffer[[length(write_buffer) + 1]] <- tds + + if (length(write_buffer) >= write_buffer_size) { # Write in batches + utils::write.table(do.call(rbind, write_buffer), + file = rel_pairs_file, + row.names = FALSE, col.names = FALSE, append = TRUE, sep = "," + ) + write_buffer <- list() + } + } else { + df_relpairs <- rbind(df_relpairs, tds) + } + } + } + if (verbose) { + if (!(j %% update_rate)) { + cat(paste0("Done with ", j, " of ", nc, "\n")) + } + } + } + } else if (sum_nulls == 1) { + # --- Case: Only One Matrix Provided --- + if (verbose) { + message("Only one matrix is present") + } + if (!is.null(ad_ped_matrix)) { + newColPos1 <- ad_ped_p + iss1 <- ad_ped_i + x1 <- ad_ped_x + relNames <- c("addRel") + if (gc == TRUE) { + remove(ad_ped_p, ad_ped_i, ad_ped_x) + } + } + if (!is.null(mit_ped_matrix)) { + newColPos1 <- mt_p + iss1 <- mt_i + x1 <- mt_x + relNames <- c("mitRel") + if (gc == TRUE) { + remove(mt_p, mt_i, mt_x) + } + } + if (!is.null(cn_ped_matrix)) { + newColPos1 <- cn_p + iss1 <- cn_i + x1 <- cn_x + relNames <- c("cnuRel") + if (gc == TRUE) { + remove(cn_p, cn_i, cn_x) + } + } + + # Initialize the related pairs file. + df_relpairs <- data.frame( + ID1 = numeric(0), ID2 = numeric(0) + ) + df_relpairs[[relNames[1]]] <- numeric(0) + if (writetodisk == TRUE) { + utils::write.table( + df_relpairs, + file = rel_pairs_file, sep = ",", append = FALSE, row.names = FALSE + ) + + # initial buffer + write_buffer <- list() + + remove(df_relpairs) + } + + # Process each column. + for (j in 1L:nc) { + ID2 <- ids[j] + # Extract column indices + ncp1 <- newColPos1[j] + ncp1p <- newColPos1[j + 1L] + cond1 <- ncp1 < ncp1p + if (cond1) { + vv1 <- ncp1:(ncp1p - 1L) + iss1vv <- iss1[vv1] + } + + # Use the indices from the single matrix. + u <- sort(iss1vv) + + if (cond1) { + ID1 <- ids[u] + tds <- data.frame(ID1 = ID1, ID2 = ID2) + tds[[relNames[1]]] <- 0 + + if (cond1) { + tds[u %in% iss1vv, relNames[1]] <- x1[vv1] + } + if (drop_upper_triangular == TRUE) { + tds <- tds[tds$ID1 <= tds$ID2, ] # or < if you want strictly lower triangle + } + + # Write the batch to disk or accumulate in the data frame. + if (nrow(tds) > 0) { + if (writetodisk == TRUE) { + write_buffer[[length(write_buffer) + 1]] <- tds + + if (length(write_buffer) >= write_buffer_size) { # Write in batches + utils::write.table(do.call(rbind, write_buffer), + file = rel_pairs_file, + row.names = FALSE, col.names = FALSE, append = TRUE, sep = "," + ) + write_buffer <- list() + } + } else { + df_relpairs <- rbind(df_relpairs, tds) + } + } + } + if (verbose && !(j %% update_rate)) { + cat(paste0("Done with ", j, " of ", nc, "\n")) + } + } + } else { + stop("No matrices provided") + } + + # If not writing to disk, return the accumulated data frame. + if (writetodisk == FALSE) { + return(df_relpairs) + } else { + # Write any remaining buffered rows. + if (length(write_buffer) > 0) { + utils::write.table(do.call(rbind, write_buffer), + file = rel_pairs_file, + row.names = FALSE, col.names = FALSE, append = TRUE, sep = "," + ) + } + # return(NULL) + } + } else if (legacy) { + # --- Legacy Mode --- + if (verbose) { + message("Using legacy mode") + } + # In legacy mode, convert matrices to the expected symmetric formats. + + # load(paste0(outcome_name,'_dataBiggestCnPedigree.Rdata')) + # biggestCnPed <- methods::as(biggestCnPed, "symmetricMatrix") + # load(paste0(outcome_name,'_dataBiggestPedigree.Rdata')) + # load(paste0(outcome_name,'_dataBiggestMtPedigree.Rdata')) + + # rel_pairs_file <- paste0(outcome_name,'_datacnmitBiggestRelatedPairsTake3.csv') + + biggestMtPed <- mit_ped_matrix + remove(mit_ped_matrix) + biggestCnPed <- methods::as(cn_ped_matrix, "symmetricMatrix") + remove(cn_ped_matrix) + biggestPed <- ad_ped_matrix + remove(ad_ped_matrix) + biggestMtPed@x[biggestMtPed@x > 0] <- 1 + + # Set the output file name. + if (exists("rel_pairs_file")) { + fname <- rel_pairs_file + } else { + fname <- paste0(outcome_name, "_dataBiggestRelatedPairsTake2.csv") + } + # Initialize the output file with headers. + ds <- data.frame(ID1 = numeric(0), ID2 = numeric(0), addRel = numeric(0), mitRel = numeric(0), cnuRel = numeric(0)) + utils::write.table(ds, file = fname, sep = ",", append = FALSE, row.names = FALSE) + + # Extract IDs from the common nuclear matrix. + ids <- as.numeric(dimnames(biggestCnPed)[[1]]) + + # Extract pointers from the legacy matrices. + newColPos1 <- biggestPed@p + 1L + iss1 <- biggestPed@i + 1L + newColPos2 <- biggestMtPed@p + 1L + iss2 <- biggestMtPed@i + 1L + newColPos3 <- biggestCnPed@p + 1L + iss3 <- biggestCnPed@i + 1L + nc <- ncol(biggestPed) + + # Process each individual. + for (j in 1L:nc) { + ID2 <- ids[j] + ncp1 <- newColPos1[j] + ncp1p <- newColPos1[j + 1L] + cond1 <- ncp1 < ncp1p + if (cond1) { + vv1 <- ncp1:(ncp1p - 1L) + iss1vv <- iss1[vv1] + } + ncp2 <- newColPos2[j] + ncp2p <- newColPos2[j + 1L] + cond2 <- ncp2 < ncp2p + if (cond2) { + vv2 <- ncp2:(ncp2p - 1L) + iss2vv <- iss2[vv2] + } + ncp3 <- newColPos3[j] + ncp3p <- newColPos3[j + 1L] + cond3 <- ncp3 < ncp3p + if (cond3) { + vv3 <- ncp3:(ncp3p - 1L) + iss3vv <- iss3[vv3] + } + + # Merge indices from all three matrices. + u <- sort(igraph::union(igraph::union(if (cond1) { + iss1vv + }, if (cond2) { + iss2vv + }), if (cond3) { + iss3vv + })) + # browser() + if (cond1 || cond2 || cond3) { + ID1 <- ids[u] + tds <- data.frame(ID1 = ID1, ID2 = ID2, addRel = 0, mitRel = 0, cnuRel = 0) + if (cond1) { + tds$addRel[u %in% iss1vv] <- biggestPed@x[vv1] + } + if (cond2) { + tds$mitRel[u %in% iss2vv] <- biggestMtPed@x[vv2] + } + if (cond3) { + tds$cnuRel[u %in% iss3vv] <- biggestCnPed@x[vv3] + } + utils::write.table(tds, file = fname, row.names = FALSE, col.names = FALSE, append = TRUE, sep = ",") + } + if (!(j %% 500)) { + cat(paste0("Done with ", j, " of ", nc, "\n")) + } + } + } + + + + # Merge and write the parentage matrices + # df <- full_join(mat_ped_matrix %>% arrange(ID), pat_ped_matrix %>% arrange(ID)) + + # write.table(df, file = mapa_id_file, sep = ",", append = FALSE, row.names = FALSE) +} diff --git a/R/plotPedigree.R b/R/plotPedigree.R index 39ee62d4..3114064f 100644 --- a/R/plotPedigree.R +++ b/R/plotPedigree.R @@ -109,26 +109,45 @@ plotPedigree <- function(ped, # Ensure the output is reverted back to console when function exits # on.exit(if (sink.number() > 0) sink(), add = TRUE) + if (verbose) { + plot_picture <- kinship2::plot.pedigree(p3, + cex = cex, + col = col, + symbolsize = symbolsize, + branch = branch, + packed = packed, align = align, + width = width, + density = density, + angle = angle, keep.par = keep.par, + pconnect = pconnect, + mar = mar, + ... + ) - plot_picture <- kinship2::plot.pedigree(p3, - cex = cex, - col = col, - symbolsize = symbolsize, - branch = branch, - packed = packed, align = align, - width = width, - density = density, - angle = angle, keep.par = keep.par, - pconnect = pconnect, - mar = mar - ) - - # Explicitly revert the standard output back to the console - # if (sink.number() > 0) { - # sink() - # } + # Explicitly revert the standard output back to the console + # if (sink.number() > 0) { + # sink() + # } + return(plot_picture) + } else { + plot_picture <- suppressMessages(kinship2::plot.pedigree(p3, + cex = cex, + col = col, + symbolsize = symbolsize, + branch = branch, + packed = packed, align = align, + width = width, + density = density, + angle = angle, keep.par = keep.par, + pconnect = pconnect, + mar = mar, + ... + )) - return(plot_picture) + plot_picture[c("plist", "x", "y", "boxw", "boxh", "call")] <- NULL + class(plot_picture) <- NULL + return(plot_picture) + } } } else { stop("The structure of the provided pedigree data does not match the expected structure.") diff --git a/R/readPedigree.R b/R/readPedigree.R index 31ca0511..d79bb230 100644 --- a/R/readPedigree.R +++ b/R/readPedigree.R @@ -326,7 +326,7 @@ readGedcom <- function(file_path, if (verbose) { print("Processing parents") } - df_temp <- processParents(df_temp) + df_temp <- processParents(df_temp, datasource = "gedcom") } @@ -383,32 +383,37 @@ readGedcom <- function(file_path, #' @param df_temp A data frame containing information about individuals. #' @return A list mapping family IDs to parent IDs. #' @keywords internal -createFamilyToParentsMapping <- function(df_temp) { - if (!all(c("FAMS", "sex") %in% colnames(df_temp))) { - warning("The data frame does not contain the necessary columns (FAMS, sex)") - return(NULL) - } - family_to_parents <- list() - for (i in 1:nrow(df_temp)) { - if (!is.na(df_temp$FAMS[i])) { - fams_ids <- unlist(strsplit(df_temp$FAMS[i], ", ")) - for (fams_id in fams_ids) { - if (!is.null(family_to_parents[[fams_id]])) { - if (df_temp$sex[i] == "M") { - family_to_parents[[fams_id]]$father <- df_temp$id[i] - } else if (df_temp$sex[i] == "F") { - family_to_parents[[fams_id]]$mother <- df_temp$id[i] - } - } else { - family_to_parents[[fams_id]] <- list() - if (df_temp$sex[i] == "M") { - family_to_parents[[fams_id]]$father <- df_temp$id[i] - } else if (df_temp$sex[i] == "F") { - family_to_parents[[fams_id]]$mother <- df_temp$id[i] +createFamilyToParentsMapping <- function(df_temp, datasource) { + if (datasource == "gedcom") { + if (!all(c("FAMS", "sex") %in% colnames(df_temp))) { + warning("The data frame does not contain the necessary columns (FAMS, sex)") + return(NULL) + } + family_to_parents <- list() + for (i in 1:nrow(df_temp)) { + if (!is.na(df_temp$FAMS[i])) { + fams_ids <- unlist(strsplit(df_temp$FAMS[i], ", ")) + for (fams_id in fams_ids) { + if (!is.null(family_to_parents[[fams_id]])) { + if (df_temp$sex[i] == "M") { + family_to_parents[[fams_id]]$father <- df_temp$id[i] + } else if (df_temp$sex[i] == "F") { + family_to_parents[[fams_id]]$mother <- df_temp$id[i] + } + } else { + family_to_parents[[fams_id]] <- list() + if (df_temp$sex[i] == "M") { + family_to_parents[[fams_id]]$father <- df_temp$id[i] + } else if (df_temp$sex[i] == "F") { + family_to_parents[[fams_id]]$mother <- df_temp$id[i] + } } } } } + } else if (datasource == "wiki") { + message("The data source is not supported") + return(df_temp) } return(family_to_parents) } @@ -420,28 +425,33 @@ createFamilyToParentsMapping <- function(df_temp) { #' #' @param df_temp A data frame containing individual information. #' @param family_to_parents A list mapping family IDs to parent IDs. +#' @param datasource A string indicating the data source. Options are "gedcom" and "wiki". #' @return A data frame with added momID and dad_ID columns. #' @keywords internal -assignParentIDs <- function(df_temp, family_to_parents) { +assignParentIDs <- function(df_temp, family_to_parents, datasource) { df_temp$momID <- NA_character_ df_temp$dadID <- NA_character_ - - for (i in 1:nrow(df_temp)) { - if (!is.na(df_temp$FAMC[i])) { - famc_ids <- unlist(strsplit(df_temp$FAMC[i], ", ")) - for (famc_id in famc_ids) { - if (!is.null(family_to_parents[[famc_id]])) { - if (!is.null(family_to_parents[[famc_id]]$father)) { - df_temp$dadID[i] <- family_to_parents[[famc_id]]$father - } - if (!is.null(family_to_parents[[famc_id]]$mother)) { - df_temp$momID[i] <- family_to_parents[[famc_id]]$mother + if (datasource == "gedcom") { + for (i in 1:nrow(df_temp)) { + if (!is.na(df_temp$FAMC[i])) { + famc_ids <- unlist(strsplit(df_temp$FAMC[i], ", ")) + for (famc_id in famc_ids) { + if (!is.null(family_to_parents[[famc_id]])) { + if (!is.null(family_to_parents[[famc_id]]$father)) { + df_temp$dadID[i] <- family_to_parents[[famc_id]]$father + } + if (!is.null(family_to_parents[[famc_id]]$mother)) { + df_temp$momID[i] <- family_to_parents[[famc_id]]$mother + } } } } } + return(df_temp) + } else if (datasource == "wiki") { + message("No parents information available for wiki data") + return(df_temp) } - return(df_temp) } #' Process parents information @@ -451,20 +461,27 @@ assignParentIDs <- function(df_temp, family_to_parents) { #' @param df_temp A data frame containing information about individuals. #' @return A data frame with added momID and dadID columns. #' @keywords internal -processParents <- function(df_temp) { +processParents <- function(df_temp, datasource) { # Ensure required columns are present - required_cols <- c("FAMC", "sex", "FAMS") + if (datasource == "gedcom") { + required_cols <- c("FAMC", "sex", "FAMS") + } else if (datasource == "wiki") { + required_cols <- c("id") + } else { + stop("Invalid datasource") + } if (!all(required_cols %in% colnames(df_temp))) { missing_cols <- setdiff(required_cols, colnames(df_temp)) warning("Missing necessary columns: ", paste(missing_cols, collapse = ", ")) return(df_temp) } - family_to_parents <- createFamilyToParentsMapping(df_temp) + + family_to_parents <- createFamilyToParentsMapping(df_temp, datasource = datasource) if (is.null(family_to_parents) || length(family_to_parents) == 0) { return(df_temp) } - df_temp <- assignParentIDs(df_temp, family_to_parents) + df_temp <- assignParentIDs(df_temp, family_to_parents, datasource = datasource) return(df_temp) } @@ -558,3 +575,178 @@ countPatternRows <- function(file) { ) return(num_rows) } + +#' Read Wiki Family Tree +#' +#' @param text A character string containing the text of a family tree in wiki format. +#' @export +readWikifamilytree <- function(text) { + # Extract summary text + + summary_text <- extractSummaryText(text) + # Extract all lines defining the family tree + tree_lines <- unlist(stringr::str_extract_all(text, "\\{\\{familytree.*?\\}\\}")) + tree_lines <- tree_lines[!stringr::str_detect(tree_lines, "start|end")] # Remove start/end markers + tree_lines <- gsub("\\{\\{familytree(.*?)\\}\\}", "\\1", tree_lines) # Remove wrapping markup + + # Convert tree structure into a coordinate grid (preserves symbols!) + tree_df <- parseTree(tree_lines) + + # Identify columns that start with "Y" + cols_to_pivot <- grep("^Y", names(tree_df), value = TRUE) + + # Reshape from wide to long format + tree_long <- makeLongTree(tree_df, cols_to_pivot) + + # Extract member definitions + members_df <- matchMembers(text) + members_df$id <- paste0("P", seq_len(nrow(members_df))) # Assign unique person IDs + + # Merge names into the tree structure (keeping all symbols!) + tree_long <- merge(tree_long, members_df, by.x = "Value", by.y = "identifier", all.x = TRUE) + + tree_long$DisplayName <- ifelse(!is.na(tree_long$name), tree_long$name, tree_long$Value) # Use name if available + + # parse relationships and infer them + + relationships_df <- parseRelationships(tree_long) + + # relationships_df <- processParents(tree_long, datasource = "wiki") + + + + # Return structured table of the family tree (symbols included) + list( + summary = summary_text, + members = members_df, + structure = tree_long, + relationships = relationships_df + ) +} + +#' Make Long Tree +#' @param tree_df A data frame containing the tree structure. +#' @param cols_to_pivot A character vector of column names to pivot. +#' @return A long data frame containing the tree structure. +#' @keywords internal +makeLongTree <- function(tree_df, cols_to_pivot) { + tree_long <- stats::reshape(tree_df, + varying = cols_to_pivot, + v.names = "Value", + timevar = "Column", + times = cols_to_pivot, + idvar = setdiff(names(tree_df), cols_to_pivot), + direction = "long" + ) + + tree_long <- tree_long[!is.na(tree_long$Value), ] + tree_long$Value <- stringr::str_trim(tree_long$Value) + tree_long$Column <- as.numeric(gsub("^Y", "", tree_long$Column)) + return(tree_long) +} + +#' Match Members +#' @inheritParams readWikifamilytree +#' @return A data frame containing information about the members of the family tree. +#' @keywords internal + +matchMembers <- function(text) { + member_matches <- stringr::str_extract_all(text, "\\|\\s*([A-Za-z0-9]+)\\s*=\\s*([^|}]*)")[[1]] + member_matches <- gsub("\\[|\\]|'''", "", member_matches) # Remove formatting + + members_df <- data.frame( + identifier = stringr::str_trim(stringr::str_extract(member_matches, "^[^=]+")), + name = stringr::str_trim(stringr::str_extract(member_matches, "(?<=\\=).*")), + stringsAsFactors = FALSE + ) + + # Remove leading pipes (`|`) from identifiers for consistency + members_df$identifier <- gsub("^\\|\\s*", "", members_df$identifier) + + # remove summary row + members_df <- members_df[members_df$identifier != "summary", ] + + return(members_df) +} + +#' Extract Summary Text +#' @inheritParams readWikifamilytree +#' @return A character string containing the summary text. +#' @keywords internal +#' @export + +extractSummaryText <- function(text) { + summary_match <- stringr::str_match(text, "\\{\\{familytree/start \\|summary=(.*?)\\}\\}") + summary_text <- ifelse(!is.na(summary_match[, 2]), summary_match[, 2], NA) + return(summary_text) +} + +#' Parse Tree +#' @param tree_lines A character vector containing the lines of the tree structure. +#' @return A data frame containing the tree structure. +#' @keywords internal +#' @export + +parseTree <- function(tree_lines) { + tree_matrix <- base::strsplit(tree_lines, "\\|") # Split each row into columns + max_cols <- max(sapply(tree_matrix, length)) # Find the max column count + + # Convert to a data frame (ensures correct structure) + tree_df <- do.call(rbind, lapply(tree_matrix, function(row) { + length(row) <- max_cols # Ensure uniform column length + return(row) + })) + + tree_df <- as.data.frame(tree_df, stringsAsFactors = FALSE) + colnames(tree_df) <- paste0("Y", seq_len(ncol(tree_df))) # Assign column names + tree_df$Row <- seq_len(nrow(tree_df)) # Assign row numbers + return(tree_df) +} + +#' infer relationship from tree template +#' +#' @param tree_long A data frame containing the tree structure in long format. +#' @return A data frame containing the relationships between family members. +#' @keywords internal +#' +parseRelationships <- function(tree_long) { + relationships <- data.frame( + id = tree_long$id, + momID = NA_character_, + dadID = NA_character_, + spouseID = NA_character_, + stringsAsFactors = FALSE + ) + + # Loop through rows to find connections + for (i in seq_len(nrow(tree_long))) { + row <- tree_long[i, ] + + # **Parent-Child Detection** + if (row$Value == "y") { + parent <- tree_long$Value[tree_long$Row == row$Row - 1 & tree_long$Column == row$Column] + child <- tree_long$Value[tree_long$Row == row$Row + 1 & tree_long$Column == row$Column] + + if (length(parent) == 0) parent <- NA + if (length(child) == 0) child <- NA + # Assign mom/dad IDs based on tree structure + if (!is.na(parent) && !is.na(child)) { + relationships$momID[relationships$id == child] <- parent + relationships$dadID[relationships$id == child] <- parent # Assuming one parent detected for now + } + } + + # **Spouse Detection** + if (row$Value == "+") { + spouse1 <- tree_long$Value[tree_long$Row == row$Row & tree_long$Column == row$Column - 1] + spouse2 <- tree_long$Value[tree_long$Row == row$Row & tree_long$Column == row$Column + 1] + + if (!is.na(spouse1) && !is.na(spouse2)) { + relationships$spouseID[relationships$id == spouse1] <- spouse2 + relationships$spouseID[relationships$id == spouse2] <- spouse1 + } + } + } + + return(relationships) +} diff --git a/R/summarizePedigree.R b/R/summarizePedigree.R index 93feda0f..1fbd06ac 100644 --- a/R/summarizePedigree.R +++ b/R/summarizePedigree.R @@ -29,6 +29,7 @@ #' @param include_founder Logical. If `TRUE`, includes the founder (originating member) of each lineage in the output. #' @param founder_sort_var Character. Column used to determine the founder of each lineage. #' Defaults to `byr` (if available) or `personID` otherwise. +#' @param network_checks Logical. If `TRUE`, performs network checks on the pedigree data. #' @param verbose Logical, if TRUE, print progress messages. #' @returns A data.frame (or list) containing summary statistics for family, maternal, and paternal lines, as well as the 5 oldest and biggest lines. #' @import data.table @@ -39,7 +40,8 @@ summarizePedigrees <- function(ped, famID = "famID", personID = "ID", type = c("fathers", "mothers", "families"), byr = NULL, include_founder = FALSE, founder_sort_var = NULL, nbiggest = 5, noldest = 5, skip_var = NULL, - five_num_summary = FALSE, verbose = FALSE) { + five_num_summary = FALSE, network_checks = FALSE, + verbose = FALSE) { # Fast Fails ## Check that the ID variables are not the same @@ -75,7 +77,6 @@ summarizePedigrees <- function(ped, famID = "famID", personID = "ID", founder_sort_var <- byr } - # Build the pedigree using the provided functions if ("families" %in% type && !famID %in% names(ped)) { if (verbose) message("Counting families...") @@ -90,6 +91,7 @@ summarizePedigrees <- function(ped, famID = "famID", personID = "ID", ped <- ped2paternal(ped, personID = personID, momID = momID, dadID = dadID, patID = patID) } + # Convert to data.table ped_dt <- data.table::as.data.table(ped) @@ -99,6 +101,19 @@ summarizePedigrees <- function(ped, famID = "famID", personID = "ID", ## Size of families n_fathers <- n_mothers <- n_families <- NULL + + if (network_checks) { + if (verbose) message("Performing network validation checks...") + network_validation_results <- checkPedigreeNetwork( + ped, + personID = personID, + momID = momID, + dadID = dadID, + verbose = verbose + ) + output$network_validation <- network_validation_results + } + # Calculate summary statistics for families, maternal lines, and paternal lines if ("families" %in% type) { @@ -183,7 +198,7 @@ summarizePedigrees <- function(ped, famID = "famID", personID = "ID", ## oldest - if (!is.null(byr) & noldest > 0) { + if (!is.null(byr) && noldest > 0) { if (!is.null(n_families) && "families" %in% type) { if (verbose) message("Finding oldest families...") output$oldest_families <- try_na(family_summary_dt[order(get(byr))][1:min(c(noldest, n_families), @@ -206,7 +221,7 @@ summarizePedigrees <- function(ped, famID = "famID", personID = "ID", # biggest lines if (!is.null(nbiggest) && nbiggest > 0) { - if (!is.null(n_families) & "families" %in% type) { + if (!is.null(n_families) && "families" %in% type) { output$biggest_families <- try_na(family_summary_dt[order(-get("count"))][1:min(c(nbiggest, n_families), na.rm = TRUE )]) @@ -248,6 +263,7 @@ calculateSummaryDT <- function(data, group_var, skip_var, # count = .N, mean = as.double(base::mean(x, na.rm = TRUE)), median = as.double(stats::median(x, na.rm = TRUE)), + # mode = as.double(stats::mode(x, na.rm = TRUE)), min = ifelse(all(is.na(x)), as.double(NA), as.double(base::min(x, na.rm = TRUE))), max = ifelse(all(is.na(x)), as.double(NA), as.double(base::max(x, na.rm = TRUE))), sd = as.double(stats::sd(x, na.rm = TRUE)) diff --git a/README.Rmd b/README.Rmd index 21b79a82..8a408549 100644 --- a/README.Rmd +++ b/README.Rmd @@ -24,7 +24,7 @@ options(citation.bibtex.max = 0) [![R-CMD-check](https://github.com/R-Computing-Lab/BGmisc/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/R-Computing-Lab/BGmisc/actions/workflows/R-CMD-check.yaml) [![Dev Main branch](https://github.com/R-Computing-Lab/BGmisc/actions/workflows/R-CMD-dev_maincheck.yaml/badge.svg)](https://github.com/R-Computing-Lab/BGmisc/actions/workflows/R-CMD-dev_maincheck.yaml) -[![Codecov test coverage](https://codecov.io/gh/R-Computing-Lab/BGmisc/graph/badge.svg)](https://app.codecov.io/gh/R-Computing-Lab/BGmisc) +[![Codecov test coverage](https://codecov.io/gh/R-Computing-Lab/BGmisc/graph/badge.svg?token=2IARK2XSA6)](https://app.codecov.io/gh/R-Computing-Lab/BGmisc) ![License](https://img.shields.io/badge/License-GPL_v3-blue.svg) diff --git a/README.md b/README.md index 37993fd3..5f1d1d0e 100644 --- a/README.md +++ b/README.md @@ -16,10 +16,9 @@ downloads](https://cranlogs.r-pkg.org/badges/grand-total/BGmisc)](https://cran.r [![R-CMD-check](https://github.com/R-Computing-Lab/BGmisc/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/R-Computing-Lab/BGmisc/actions/workflows/R-CMD-check.yaml) [![Dev Main branch](https://github.com/R-Computing-Lab/BGmisc/actions/workflows/R-CMD-dev_maincheck.yaml/badge.svg)](https://github.com/R-Computing-Lab/BGmisc/actions/workflows/R-CMD-dev_maincheck.yaml) -[![codecov](https://codecov.io/gh/R-Computing-Lab/BGmisc/graph/badge.svg?token=2IARK2XSA6)](https://app.codecov.io/gh/R-Computing-Lab/BGmisc) -![License](https://img.shields.io/badge/License-GPL_v3-blue.svg) [![Codecov test -coverage](https://codecov.io/gh/R-Computing-Lab/BGmisc/graph/badge.svg)](https://app.codecov.io/gh/R-Computing-Lab/BGmisc) +coverage](https://codecov.io/gh/R-Computing-Lab/BGmisc/graph/badge.svg?token=2IARK2XSA6)](https://app.codecov.io/gh/R-Computing-Lab/BGmisc) +![License](https://img.shields.io/badge/License-GPL_v3-blue.svg) The BGmisc R package offers a comprehensive suite of functions tailored diff --git a/data-raw/ASOIAF.csv b/data-raw/ASOIAF.csv new file mode 100644 index 00000000..b0e86ab8 --- /dev/null +++ b/data-raw/ASOIAF.csv @@ -0,0 +1,502 @@ +id,famID,momID,dadID,name,sex +1,1,NA,NA,Walder Frey,M +2,1,NA,NA,Perra Royce,F +3,1,2,1,Stevron Frey,M +4,1,2,1,Emmon Frey,M +5,1,2,1,Aenys Frey,M +6,1,NA,NA,Corenna Swann,F +7,1,6,3,Ryman Frey,M +8,1,NA,7,Edwyn Frey,M +9,1,NA,7,Walder 'Black Walder' Frey,M +10,1,NA,7,Petyr Frey,M +11,1,NA,NA,Janyce Hunter,F +12,1,11,8,Walda Frey,F +13,1,NA,NA,Mylenda Caron,F +14,1,13,10,Perra Frey,F +15,1,NA,NA,Jeyne Lydden,F +16,1,15,3,Aegon 'Jinglebell' Frey,M +17,1,15,3,Maegelle Frey,F +18,1,NA,NA,Dafyn Vance,M +19,1,17,18,Marianne Vance,F +20,1,17,18,Walder Vance,M +21,1,17,18,Patrek Vance,M +22,1,NA,NA,Marsella Waynwood,F +23,1,22,3,Walton Frey,M +24,1,NA,NA,Deana Hardyng,F +25,1,24,23,Steffon Frey,M +26,1,24,23,Walda 'Fair Walda' Frey,F +27,1,24,23,Bryan Frey,M +28,1,NA,158,Genna Lannister,F +29,1,28,4,Cleos Frey,M +30,1,28,4,Lyonel Frey,M +31,1,28,4,Tion Frey,M +32,1,28,4,Walder 'Red Walder' Frey,M +33,1,NA,NA,Jeyne Darry,F +34,1,33,29,Tywin 'Ty' Frey,M +35,1,33,29,Willem Frey,M +36,1,NA,NA,Tyana Wylde,F +37,1,36,5,Aegon 'Bloodborn' Frey,M +38,1,36,5,Rhaegar Frey,M +39,1,NA,NA,Jeyne Beesbury,F +40,1,39,38,Robert Frey,M +41,1,39,38,Walda 'White Walda' Frey,F +42,1,39,38,Jonos Frey,M +43,1,2,1,Perriane Frey,F +44,1,NA,NA,Leslyn Haigh,M +45,1,43,44,Harys Haigh,M +46,1,43,44,Donnel Haigh,M +47,1,43,44,Alyn Haigh,M +48,1,NA,45,Walder Haigh,M +49,1,NA,NA,Cyrenna Swann,F +50,1,49,1,Jared Frey,M +51,1,49,1,Luceon Frey,M +52,1,NA,NA,Alys Frey,F +53,1,52,50,Tytos Frey,M +54,1,52,50,Kyra Frey,F +55,1,NA,NA,Zhoe Blanetree,F +56,1,55,53,Zia Frey,F +57,1,55,53,Zachery Frey,M +58,1,NA,NA,Garse Goodbrook,M +59,1,54,58,Walder Goodbrook,M +60,1,54,58,Jeyne Goodbrook,F +61,1,NA,NA,Amarei Crakehall,F +62,1,61,1,Hosteen Frey,M +63,1,61,1,Lythene Frey,F +64,1,61,1,Symond Frey,M +65,1,61,1,Danwell Frey,M +66,1,61,1,Merrett Frey,M +67,1,61,1,Geremy Frey,M +68,1,61,1,Raymund Frey,M +69,1,NA,NA,Bellena Hawick,F +70,1,69,62,Arwood Frey,M +71,1,NA,NA,Ryella Royce,F +72,1,71,70,Ryella Frey,F +73,1,71,70,Androw Frey,M +74,1,71,70,Alyn Frey,M +75,1,71,70,Hostella Frey,F +76,1,NA,NA,Lucias Vypren,M +77,1,63,76,Damon Vypren,M +78,1,63,76,Elyana Vypren,F +79,1,NA,NA,Jon Wylde,M +80,1,78,79,Rickard Wylde,M +81,1,NA,NA,Betharios ,F +82,1,81,64,Alesander Frey,M +83,1,81,64,Alyx Frey,F +84,1,81,64,Bradamar Frey,M +85,2,NA,NA,Wynafrei Whent,F +86,1,NA,NA,Mariya Derry,F +87,1,86,66,Amerei 'Gatehouse Ami' Frey,F +88,3,NA,NA,Pate ,M +89,1,86,66,Walda 'Fat Walda' Frey,F +90,1,86,66,Marissa Frey,F +91,1,86,66,Walder 'Little Walder' Frey,M +92,1,NA,NA,Carolei Waynwood,F +93,1,92,67,Sandor Frey,M +94,1,92,67,Cynthea Frey,F +95,1,NA,NA,Beony Beesbury,F +96,1,95,68,Robert Frey,M +97,1,95,68,Malwyn Frey,M +98,1,95,68,Sarra Frey,F +99,1,95,68,Serra Frey,F +100,1,95,68,Cersei Frey,F +101,1,95,68,Tywin Frey,M +102,1,95,68,Jaime Frey,M +103,1,NA,NA,Alyssa Blackwood,F +104,1,103,1,Lothar Frey,M +105,1,103,1,Jammos Frey,M +106,1,103,1,Whalen Frey,M +107,1,103,1,Morya Frey,F +108,1,103,1,Tyta Frey,F +109,1,NA,NA,Leonella Lefford,F +110,1,109,104,Tysane Frey,F +111,1,109,104,Walda Frey,F +112,1,109,104,Emberlei Frey,F +113,1,109,104,Leana Frey,F +114,1,NA,NA,Sallei Paege,F +115,1,114,105,Walder 'Big Walder' Frey,M +116,1,114,105,Dickon Frey,M +117,1,114,105,Mathis Frey,M +118,1,NA,NA,Sylwa Paege,F +119,1,118,106,Hoster Frey,M +120,1,118,106,Merianne Frey,F +121,1,NA,153,Flement Brax,M +122,1,107,121,Robert Brax,M +123,1,107,121,Walder Brax,M +124,1,107,121,Jon Brax,M +125,4,NA,NA,Sarya Whent,F +126,1,NA,NA,Bethany Rosby,F +127,1,126,1,Perwyn Frey,M +128,1,126,1,Benfrey Frey,M +129,1,126,1,Willamen Frey,M +130,1,126,1,Olyvar Frey,M +131,1,126,1,Roslin Frey,F +132,1,NA,NA,Jyanna Frey,F +133,1,132,128,Della Frey,F +134,1,132,128,Osmund Frey,M +135,1,NA,NA,Annara Farring,F +136,1,135,1,Arwyn Frey,M +137,1,135,1,Wendel Frey,M +138,1,135,1,Colmar Frey,M +139,1,135,1,Waltyr Frey,M +140,1,135,1,Elmar Frey,M +141,1,135,1,Shirei Frey,F +142,5,NA,NA,Joyeuse Erenford,F +143,1,NA,144,Walda Rivers,F +144,1,NA,1,Walder Rivers,M +145,1,NA,1,Melwys Rivers,M +146,1,NA,1,Jeyne Rivers,F +147,1,NA,1,Martyn Rivers,M +148,1,NA,1,Ryger Rivers,M +149,1,NA,1,Ronel Rivers,M +150,1,NA,1,Mellara Rivers,F +151,1,NA,144,Aemon Rivers,M +152,1,NA,151,Walda Rivers,F +153,1,NA,156,Andros Brax,M +154,1,NA,153,Tytos Brax,M +155,1,NA,153,Robert Brax,M +156,1,NA,NA,Brax,M +157,1,NA,156,Rupert Brax,M +158,1,NA,179,Tytos Lannister,M +159,1,NA,158,Tywin Lannister,M +160,1,NA,158,Kevan Lannister,M +161,1,NA,158,Tygett Lannister,M +162,1,NA,158,Gerion Lannister,M +163,1,NA,182,Joanna Lannister,F +164,1,163,159,Jaime Lannister,M +165,1,163,159,Cersei Lannister,F +166,1,163,159,Tyrion Lannister,M +167,6,188,187,Robert Baratheon,M +168,1,165,164,Joffrey Baratheon,M +169,1,165,164,Myrcella Baratheon,F +170,1,165,164,Tommen Baratheon,M +171,1,NA,NA,Dorna Swyft,F +172,1,171,160,Lancel Lannister,M +173,1,171,160,Willem Lannister,M +174,1,171,160,Martyn Lannister,M +175,1,171,160,Janei Lannister,F +176,1,NA,NA,Darlessa Marbrand,F +177,1,176,161,Tyrek Lannister,M +178,1,NA,162,Joy Hill,F +179,1,NA,NA,Lannister,M +180,1,NA,179,Lannister,M +181,1,NA,179,Lannister,M +182,1,NA,179,Lannister,M +183,1,NA,182,Stafford Lannister,M +184,1,NA,183,Daven Lannister,M +185,1,NA,183,Cerenna Lannister,F +186,1,NA,183,Myrielle Lannister,F +187,6,199,499,Steffon Baratheon,M +188,6,479,476,Cassana Estermont,F +189,6,NA,447,Delena Florent,F +190,6,189,167,Edric Storm,M +191,6,NA,167,Barra Waters,F +192,6,NA,167,Mya Stone,F +193,6,NA,167,Gendry Waters,M +194,6,NA,167,Bella Rivers,F +195,6,188,187,Stannis Baratheon,M +196,6,188,187,Renly Baratheon,M +197,6,NA,440,Selyse Florent,F +198,6,197,195,Shireen Baratheon,F +199,6,NA,200,Rhaelle Targaryen,F +200,6,NA,282,Aegon Targaryen,M +201,6,NA,200,Jaehaerys Targaryen,M +202,6,NA,201,Aerys Targaryen,M +203,6,NA,201,Rhaella Targaryen,F +204,6,203,202,Rhaegar Targaryen,M +205,6,203,202,Viserys Targaryen,M +206,6,203,202,Daenerys Targaryen,F +207,6,257,NA,Elia Martell,F +208,6,207,204,Rhaenys Targaryen,F +209,6,207,204,Aegon Targaryen,M +210,6,468,212,Lyanna Stark,F +211,6,210,204,Jon Snow,M +212,6,NA,464,Rickard Stark,M +213,6,468,212,Brandon Stark,M +214,6,468,212,Eddard Stark,M +215,6,468,212,Benjen Stark,M +216,6,223,222,Catelyn Tully,F +217,6,216,214,Robb Stark,M +218,6,216,214,Sansa Stark,F +219,6,216,214,Arya Stark,F +220,6,216,214,Brandon 'Bran' Stark,M +221,6,216,214,Rickon Stark,M +222,6,NA,255,Hoster Tully,M +223,6,NA,NA,Minisa Whent,F +224,6,223,222,Lysa Tully,F +225,6,223,222,Edmure Tully,M +226,6,NA,230,Jon Arryn,M +227,6,224,226,Robert Arryn,M +228,7,NA,NA,Jeyne Royce,F +229,8,NA,NA,Rowena ,F +230,6,NA,NA,Jasper Arryn,M +231,6,NA,230,Alys Arryn,F +232,6,NA,230,Ronnel Arryn,M +233,6,NA,249,Elys Waynwood,M +234,6,231,233,Waynwood,F +235,6,NA,NA,Denys Arryn,M +236,6,234,235,Arryn,U +237,6,231,233,Waynwood,F +238,6,NA,NA,Hardyng,M +239,6,237,238,Harrold Hardyng,M +240,6,231,233,Waynwood,F +241,6,231,233,Waynwood,F +242,6,231,233,Waynwood,F +243,6,231,233,Waynwood,F +244,6,231,233,Waynwood,F +245,6,231,233,Waynwood,F +246,6,231,233,Jasper Waynwood,M +247,6,NA,NA,Belmore,F +248,6,247,232,Elbert Arryn,M +249,6,NA,NA,Waynwood,M +250,6,NA,249,Waynwood,U +251,9,NA,NA,Anya Waynwood,F +252,9,251,NA,Morton Waynwood,M +253,9,251,NA,Donnel Waynwood,M +254,9,251,NA,Wallace Waynwood,M +255,6,NA,NA,Tully,M +256,6,NA,255,Brynden 'Blackfish' Tully,M +257,6,NA,NA,'Princess Of Dorne' ,F +258,10,NA,NA,Martell,U +259,11,NA,NA,Lewyn Martell,M +260,6,257,NA,Doran Martell,M +261,6,257,NA,Mors Martell,M +262,6,257,NA,Olyvar Martell,M +263,6,257,NA,Oberyn 'The Red Viper' Martell,M +264,6,NA,273,Ellaria Sand,F +265,6,264,263,Elia Sand,F +266,6,NA,263,Obara Sand,F +267,6,NA,263,Nymeria Sand,F +268,6,NA,263,Tyene Sand,F +269,6,NA,263,Sarella Sand,F +270,6,264,263,Obella Sand,F +271,6,264,263,Dorea Sand,F +272,6,264,263,Loreza Sand,F +273,6,NA,NA,Harmen Uller,M +274,12,NA,NA,Uller,U +275,13,NA,NA,Ulwyck Uller,M +276,6,NA,NA,Mellario ,F +277,6,276,260,Arianne Martell,F +278,6,276,260,Quentyn Martell,M +279,6,276,260,Trystane Martell,M +280,6,NA,200,Duncan 'The Small' Targaryen,M +281,6,NA,200,Targaryen,M +282,6,291,290,Maekar Targaryen,M +283,6,NA,282,Daeron Targaryen,M +284,6,NA,283,Targaryen,F +285,6,NA,282,Aerion Targaryen,M +286,6,NA,285,Targaryen,M +287,6,NA,282,Aemon Targaryen,M +288,6,NA,282,Rhaelle Targaryen,F +289,6,NA,282,Daella Targaryen,F +290,6,303,302,Daeron Targaryen,M +291,6,NA,NA,Myriah Martell,F +292,6,291,290,Baelor 'Breakspear' Targaryen,M +293,6,291,290,Aerys Targaryen,M +294,6,291,290,Aelinor Targaryen,F +295,6,291,290,Rhaegel Targaryen,M +296,6,NA,295,Targaryen,M +297,6,NA,295,Targaryen,M +298,6,NA,292,Valarr Targaryen,M +299,6,NA,292,Matarys Targaryen,M +300,6,NA,298,Targaryen,M +301,6,NA,298,Targaryen,M +302,6,NA,306,Aegon Targaryen,M +303,6,NA,306,Naerys ,F +304,6,303,302,Daenerys Targaryen,F +305,14,NA,NA,Maron Martell,M +306,6,NA,NA,Viserys Targaryen,M +307,6,NA,306,Aemon 'The Dragonknight' Targaryen,M +308,6,322,321,Daena Targaryen,F +309,6,NA,302,Aegor 'Bittersteel' Rivers,M +310,6,NA,302,Brynden 'Bloodraven' Targaryen,M +311,6,NA,302,Shiera Seastar,F +312,6,308,302,Daemon Blackfyre,M +313,6,NA,312,Aegon Blackfyre,M +314,6,NA,312,Aemon Blackfyre,M +315,6,NA,312,Daemon Blackfyre,M +316,6,NA,312,Haegon Blackfyre,M +317,6,NA,312,Blackfyre,M +318,6,NA,312,Blackfyre,M +319,6,NA,312,Blackfyre,M +320,6,NA,317,Maelys 'The Monstrous' Blackfyre,M +321,6,339,NA,Aegon Targaryen,M +322,6,NA,NA,Velaryon,F +323,6,322,321,Elaena Targaryen,F +324,6,322,321,Rhaena Targaryen,F +325,6,NA,NA,NA,M +326,6,323,325,NA,U +327,6,323,325,NA,U +328,6,323,325,NA,U +329,6,323,325,NA,U +330,6,323,325,NA,U +331,6,323,325,NA,U +332,6,323,325,NA,U +333,6,NA,NA,Alyn Velaryon,M +334,6,322,321,Daeron Targaryen,M +335,6,322,321,Baelor Targaryen,M +336,15,NA,NA,NA,F +337,6,323,333,Jon Waters,M +338,6,323,333,Jeyne Waters,F +339,6,341,340,Rhaenyra ,F +340,6,NA,NA,Viserys Targaryen,M +341,6,NA,NA,Arryn,F +342,6,341,340,Targaryen,M +343,6,341,340,Targaryen,M +344,6,NA,NA,Hightower,F +345,6,344,340,Aegon Targaryen,M +346,6,344,340,Aemond Targaryen,M +347,6,344,340,Targaryen,M +348,6,344,340,Targaryen,F +349,16,351,350,Targaryen,U +350,16,NA,352,Jaehaerys 'The Conciliator' Targaryen,M +351,16,NA,352,Alysanne 'The Good' Targaryen,F +352,16,354,353,Aenys Targaryen,M +353,16,359,358,Aegon 'The Conqueror' Targaryen,M +354,16,NA,NA,Rhaenys Targaryen,F +355,16,NA,NA,Visenya Targaryen,F +356,16,355,353,Maegor Targaryen,M +357,17,NA,NA,Jeyne Westerling,F +358,16,NA,364,Aerion Targaryen,M +359,16,NA,NA,Velena Velaryon,F +360,6,NA,167,NA,U +361,16,NA,358,Orys Baratheon,M +362,18,NA,363,Argella Durrendon,F +363,18,NA,NA,Argilac 'The Arrogant' Durrendon,M +364,16,NA,365,Daemon Targaryen,M +365,16,370,368,Aerys Targaryen,M +366,16,NA,365,Aelix Targaryen,M +367,16,NA,365,Baelon Targaryen,M +368,16,372,371,Aegon Targaryen,M +369,16,370,368,Maegon Targaryen,M +370,16,372,371,Eleana Targaryen,F +371,16,NA,373,Gaemon Targaryen,M +372,16,NA,373,Daenys Targaryen,F +373,16,NA,NA,Aenar Targaryen,M +374,6,376,375,Loras Tyrell,M +375,6,382,380,Mace Tyrell,M +376,6,407,406,Alerie Hightower,F +377,6,376,375,Garlan Tyrell,M +378,6,376,375,Willas Tyrell,M +379,6,376,375,Margaery Tyrell,F +380,6,NA,393,Luthor Tyrell,M +381,19,NA,NA,Leonette Fossoway,F +382,6,NA,439,Olenna Redwyne,F +383,6,NA,393,Garth 'The Gross' Tyrell,M +384,6,NA,393,Moryn Tyrell,M +385,6,NA,393,Gormon Tyrell,M +386,6,382,380,Janna Tyrell,F +387,6,382,380,Mina Tyrell,F +388,20,NA,NA,Jon Fossoway,M +389,6,NA,438,Paxter Redwyne,M +390,6,387,389,Horas 'Horror' Redwyne,M +391,6,387,389,Hobber 'Slobber' Redwyne,M +392,6,387,389,Desmera Redwyne,F +393,6,NA,NA,Tyrell,M +394,6,NA,383,Garse Flowers,M +395,6,NA,384,Luthor Tyrell,M +396,6,NA,383,Garrett Flowers,M +397,6,NA,384,Leo 'The Lazy' Tyrell,M +398,6,NA,NA,Elyn Norridge,F +399,6,398,395,Theodore Tyrell,M +400,6,398,395,Olene Tyrell,F +401,6,398,395,Medwick Tyrell,M +402,6,NA,NA,Lia Serry,F +403,6,402,399,Elinor Tyrell,F +404,6,402,399,Luthor Tyrell,M +405,21,NA,NA,Leo Blackbar,M +406,6,NA,425,Leyton Hightower,M +407,6,448,444,Rhea Florent,F +408,6,407,406,Baelor Hightower,M +409,22,NA,NA,Rhonda Rowan,F +410,6,407,406,Alysanne Hightower,F +411,6,NA,NA,Arthur Ambrose,M +412,6,407,406,Denyse Hightower,F +413,6,NA,NA,Desmond Redwyne,M +414,6,412,413,Denys Redwyne,M +415,6,407,406,Malora Hightower,F +416,6,407,406,Garth Hightower,M +417,6,407,406,Gunthor Hightower,M +418,23,NA,NA,Jeyne Fossoway,F +419,6,407,406,Leyla Hightower,F +420,24,NA,NA,Jon Cupps,M +421,6,407,406,Humfrey Hightower,M +422,6,407,406,Lynesse Hightower,F +423,25,NA,488,Jorah Mormont,M +424,26,NA,NA,Tregar Ormollen,M +425,6,NA,426,Hightower,M +426,6,NA,NA,Hightower,M +427,6,NA,426,Gerold 'The White Bull' Hightower,M +428,27,NA,NA,Glover,F +429,25,NA,NA,Mormont,M +430,25,NA,429,Maege Mormont,F +431,25,430,NA,Dacey Mormont,F +432,25,430,NA,Alysane Mormont,F +433,25,430,NA,Lyra Mormont,F +434,25,430,NA,Jorelle Mormont,F +435,25,430,NA,Lyanna Mormont,F +436,25,432,NA,Snow,F +437,25,432,NA,Snow,M +438,6,NA,439,Redwyne,M +439,6,NA,NA,Runceford Redwyne,M +440,6,NA,443,Ryam Florent,M +441,6,NA,440,Imry Florent,M +442,6,NA,440,Erren Florent,M +443,6,NA,NA,Florent,M +444,6,NA,443,Alester Florent,M +445,6,NA,443,Axell Florent,M +446,6,NA,443,Rylene Florent,F +447,6,NA,443,Colin Florent,M +448,6,NA,NA,Melara Crane,F +449,6,448,444,Alekyne Florent,M +450,6,448,444,Melessa Florent,F +451,28,NA,NA,Rycherd Crane,M +452,6,NA,447,Merrell Florent,M +453,6,NA,447,Omer Florent,M +454,6,NA,NA,Hosman Norcross,M +455,6,189,454,Alester Norcross,M +456,6,189,454,Renly Norcross,M +457,6,NA,NA,Randyll Tarly,M +458,6,450,457,Samwell Tarly,M +459,6,450,457,Talla Tarly,F +460,6,450,457,Tarly,F +461,6,450,457,Tarly,F +462,6,450,457,Dickon Tarly,M +463,6,410,411,Alyn Ambrose,M +464,6,467,465,Edwyle Stark,M +465,6,NA,NA,Stark,M +466,6,467,465,Brandon Stark,M +467,6,NA,NA,NA,F +468,6,NA,NA,Flint,F +469,6,467,465,Stark,F +470,6,NA,NA,Royce,M +471,6,469,470,Royce,F +472,6,469,470,Royce,F +473,6,469,470,Royce,F +474,6,NA,NA,Arryn,M +475,6,471,474,Arryn,U +476,6,NA,NA,Eldon Estermont,M +477,6,479,476,Aemon Estermont,M +478,6,479,476,Lomas Estermont,M +479,6,NA,480,Sylva 'Spotted Sylva' Santagar,F +480,6,NA,NA,Symon Santagar,M +481,29,NA,482,Ashara Dayne,F +482,29,NA,NA,Dayne,M +483,29,NA,482,Dayne,M +484,29,NA,482,Arthur Dayne,M +485,29,NA,482,Allyria Dayne,F +486,29,NA,483,Edric Dayne,M +487,30,NA,NA,Beric Dondarrion,M +488,25,NA,429,Jeor Mormont,M +489,6,NA,167,NA,U +490,6,NA,167,NA,U +491,6,NA,167,NA,U +492,6,NA,167,NA,U +493,6,NA,167,NA,U +494,6,NA,167,NA,U +495,6,NA,167,NA,U +496,6,NA,167,NA,U +497,6,NA,167,NA,U +498,6,NA,167,NA,U +499,6,NA,500,Baratheon,M +500,6,NA,NA,Baratheon,M +501,6,NA,500,Harbert Baratheon,M diff --git a/data-raw/benchmark.R b/data-raw/benchmark.R new file mode 100644 index 00000000..80d6db40 --- /dev/null +++ b/data-raw/benchmark.R @@ -0,0 +1,62 @@ +library(microbenchmark) +library(Matrix) +# library(BGmisc) +# data("hazard") + + +# make big data +set.seed(15) +Ngen <- 5 +kpc <- 5 +sexR <- .50 +marR <- .7 +ped <- simulatePedigree(kpc = kpc, Ngen = Ngen, sexR = sexR, marR = marR) + +# Define parameters +component <- "additive" # Change this to test different components +saveable <- FALSE # Disable saving to avoid disk I/O slowing down benchmarking +resume <- FALSE # Disable resume to ensure full fresh runs +save_path <- "checkpoint/" +verbose <- FALSE # Turn off verbose for cleaner output +update_rate <- 100 +save_rate_parlist <- 1000 + +# Run benchmarking for "loop" and "indexed" methods in ped2com() +benchmark_results <- microbenchmark( + loop = { + ped2com( + ped = ped, + component = component, + adjacency_method = "loop", # Test "loop" method + saveable = saveable, + resume = resume, + save_path = save_path, + verbose = verbose, + update_rate = update_rate, + save_rate_parlist = save_rate_parlist + ) + }, + indexed = { + ped2com( + ped = ped, + component = component, + adjacency_method = "indexed", # Test "indexed" method + saveable = saveable, + resume = resume, + save_path = save_path, + verbose = verbose, + update_rate = update_rate, + save_rate_parlist = save_rate_parlist + ) + }, + times = 100 # Run each method 100 times +) + +# Print benchmark + + +# Print benchmark results +print(benchmark_results) + +# Optional: Save results to CSV for later analysis +write.csv(summary(benchmark_results), "benchmark_results.csv", row.names = FALSE) diff --git a/data-raw/df_ASOIAF.R b/data-raw/df_ASOIAF.R new file mode 100644 index 00000000..4a840d57 --- /dev/null +++ b/data-raw/df_ASOIAF.R @@ -0,0 +1,41 @@ +# devtools::install_github("R-Computing-Lab/BGmisc") +library(tidyverse) +library(here) +library(readr) +library(usethis) +library(BGmisc) + + + +## Create dataframe +ASOIAF <- readGedcom("data-raw/ASOIAF.ged") + + + +df <- ped2fam(ASOIAF, personID = "id") %>% + select( + -name_npfx, + -name_nsfx, + -name_given, + -name_surn, + -name_marriedsurn, + -death_caus, + -FAMC, + -FAMS + ) %>% + mutate( + momID = as.numeric(momID), + dadID = as.numeric(dadID), + name = str_remove(name, "/") + ) + +# pedADD <- ped2com(df , personID = "id", momID = "momID", dadID = "dadID", component = "additive", isChild_method = "partial_parent") +# com2links(ad_ped_matrix=pedADD) +# if missing momID or dadID, assign the next available ID + + +ASOIAF <- df + + +write_csv(ASOIAF, here("data-raw", "ASOIAF.csv")) +usethis::use_data(ASOIAF, overwrite = TRUE, compress = "xz") diff --git a/data-raw/df_royal92.R b/data-raw/df_royal92.R new file mode 100644 index 00000000..294d1418 --- /dev/null +++ b/data-raw/df_royal92.R @@ -0,0 +1,39 @@ +# devtools::install_github("R-Computing-Lab/BGmisc") +library(tidyverse) +library(here) +library(readr) +library(usethis) +library(BGmisc) + + + +## Create dataframe +royal92 <- readGedcom("data-raw/royal92.ged") +df <- ped2fam(royal92, personID = "id") %>% + select( + -death_place, -birth_place, + -name_given, + -name_surn, + -FAMC, + -FAMS + ) %>% + mutate( + momID = as.numeric(momID), + dadID = as.numeric(dadID), + name = str_remove(name, "/") + ) + +# if missing momID or dadID, assign the next available ID + +df_NA <- df %>% + mutate( + momID = if_else(is.na(momID), max(id) + 1, momID), + dadID = if_else(is.na(dadID), max(id) + 2, dadID) + ) + + + + + +write_csv(royal92, here("data-raw", "royal92.csv")) +usethis::use_data(royal92, overwrite = TRUE, compress = "xz") diff --git a/data-raw/royal92.csv b/data-raw/royal92.csv new file mode 100644 index 00000000..af505bbd --- /dev/null +++ b/data-raw/royal92.csv @@ -0,0 +1,3011 @@ +id,momID,dadID,name,name_given,name_surn,sex,birth_date,birth_place,death_date,death_place,attribute_title,FAMC,FAMS +1,138,133,Victoria Hanover/,Victoria,Hanover,F,24 MAY 1819,"Kensington,Palace,London,England",22 JAN 1901,"Osborne House,Isle of Wight,England",Queen of England,42,1 +2,140,139,Albert Augustus Charles /,NA,,M,26 AUG 1819,"Schloss Rosenau,Near Coburg,Germany",14 DEC 1861,"Windsor Castle,Berkshire,England",Prince,43,1 +3,1,2,Victoria Adelaide Mary /,NA,,F,21 NOV 1840,"Buckingham,Palace,London,England",5 AUG 1901,"Friedrichshof,Near,Kronberg,Taunus",Princess Royal,1,3 +4,1,2,Edward_VII Wettin/,Edward_VII,Wettin,M,9 NOV 1841,"Buckingham,Palace,London,England",6 MAY 1910,"Buckingham,Palace,London,England",King of England,1,2 +5,1,2,Alice Maud Mary /,NA,,F,25 APR 1843,"Buckingham,Palace,London,England",14 DEC 1878,"Darmstadt,,,Germany",Princess,1,8 +6,1,2,Alfred Ernest Albert /,NA,,M,6 AUG 1844,"Windsor Castle,Berkshire,England",30 JUL 1900,"Schloss Rosenau,Near Coburg",Prince,1,26 +7,1,2,Helena Augusta Victoria /,NA,,F,25 MAY 1846,"Buckingham,Palace,London,England",9 JUN 1923,"Schomberg House,Pall Mall,London,England",Princess,1,32 +8,1,2,Louise Caroline Alberta /,NA,,F,18 MAR 1848,"Buckingham,Palace,London,England",3 DEC 1939,"Kensington,Palace,London,England",Princess,1,69 +9,1,2,Arthur William Patrick /,NA,,M,1 MAY 1850,"Buckingham,Palace,London,England",16 JAN 1942,"Bagshot Park,Surrey",Prince,1,34 +10,1,2,Leopold George Duncan /,NA,,M,7 APR 1853,"Buckingham,Palace,London,England",28 MAR 1884,Cannes,Prince,1,5 +11,1,2,Beatrice Mary Victoria /,NA,,F,14 APR 1857,"Buckingham,Palace,London,England",26 OCT 1944,"Bantridge Park,Balcombe,Sussex,England",Princess,1,6 +12,226,225,"Alexandra of_Denmark ""Alix"" /",NA,,F,1 DEC 1844,"Yellow Palace,Copenhagen,Denmark",20 NOV 1925,"Sandringham,,Norfolk,England",Princess,74,2 +13,12,4,Albert Victor Christian /,NA,,M,8 JAN 1864,"Frogmore House,Windsor,Berkshire,England",14 JAN 1892,"Sandringham,,Norfolk,England",Duke,2,NA +14,12,4,George_V Windsor/,George_V,Windsor,M,3 JUN 1865,"Marlborough Hse,London,England",20 JAN 1936,"Sandringham,Norfolk,England",King of England,2,7 +15,12,4,Louise Victoria Alexandra /,NA,,F,20 FEB 1867,"Marlborough,House,London,England",4 JAN 1931,"Portman Square,London,England",Princess Royal,2,29 +16,12,4,Victoria Alexandra Olga /,NA,,F,6 JUL 1868,"Marlborough,House,London,England",3 DEC 1935,"Coppins,Iver,Bucks,England",NA,2,NA +17,12,4,Maude Charlotte Mary /,NA,,F,26 NOV 1869,"Marlborough,House,London,England",20 NOV 1938,"London,England",Princess,2,21 +18,12,4,John Alexander /,John Alexander,,M,6 APR 1871,NA,7 APR 1871,NA,NA,2,NA +19,NA,NA,George Victor of_Waldeck /,NA,,M,1831,NA,1889,NA,Prince,NA,67 +20,427,412,Frederick_III /,Frederick_III,,M,18 OCT 1831,"Neues Palais,Potsdam,Germany",15 JUN 1888,"Neues Palais,Potsdam,Germany",German Emperor,147,3 +21,3,20,William_II /,William_II,,M,27 JAN 1859,"Berlin,Germany",4 JUN 1941,"Haus Doorn,Netherlands",German Emperor,3,"136, 146" +22,358,357,Louis_IV of_Hesse /,Louis_IV of_Hesse,,M,1837,NA,1892,NA,Grand Duke,114,8 +23,1216,19,Helena Frederica of_Waldeck /,NA,,F,17 FEB 1861,Arolsen,1 SEP 1922,Tyrol,Princess,67,5 +24,23,10,Alice of_Athlone /,Alice of_Athlone,,F,1883,NA,JAN 1981,NA,Princess,5,38 +25,348,347,Henry Maurice of_Battenberg /,NA,,M,1858,NA,1896,NA,Prince,109,6 +26,11,25,Alexander of_Carisbrooke /,Alexander of_Carisbrooke,,M,1886,NA,23 FEB 1960,NA,Marquess,6,142 +27,11,25,"Victoria Eugenie ""Ena"" /",NA,,F,1887,NA,1969,Lausanne,Queen of Spain,6,143 +28,11,25,Leopold /,Leopold,,M,1889,NA,1922,NA,NA,6,NA +29,11,25,Maurice /,Maurice,,M,1891,NA,1914,NA,Prince,6,NA +30,136,137,Mary_of_Teck (May) /,Mary_of_Teck (May),,F,26 MAY 1867,"Kensington,Palace,London,England",24 MAR 1953,"Marlborough Hse,London,England",Queen,41,7 +31,30,14,Edward_VIII Windsor/,Edward_VIII,Windsor,M,23 JUN 1894,"White Lodge,Richmond Park,Surrey,England",28 MAY 1972,"Paris,,,France",Duke of Windsor,7,20 +32,30,14,George_VI Windsor/,George_VI,Windsor,M,14 DEC 1895,"York Cottage,Sandringham,Norfolk,England",6 FEB 1952,"Sandringham,Norfolk,England",King of England,7,12 +33,30,14,Mary Windsor/,Mary,Windsor,F,25 APR 1897,"York Cottage,Sandringham,Norfolk,England",28 MAR 1965,"Harewood House,Yorkshire,,England",Princess Royal,7,18 +34,30,14,Henry William Frederick Windsor/,NA,Windsor,M,31 MAR 1900,"York Cottage,Sandringham,Norfolk,England",1974,NA,Duke,7,19 +35,30,14,George Edward Alexander Windsor/,NA,Windsor,M,20 DEC 1902,"York Cottage,Sandringham,Norfolk,England",25 AUG 1942,"Morven,,,Scotland",Duke of Kent,7,17 +36,30,14,John Charles Francis Windsor/,NA,Windsor,M,12 JUL 1905,"York Cottage,Sandringham,Norfolk,England",18 JAN 1919,"Wood Farm,Wolferton,Norfolk,England",Prince,7,NA +37,41,40,Nicholas_II Alexandrovich Romanov/,Nicholas_II Alexandrovich,Romanov,M,18 MAY 1868,"Tsarskoye Selo,Pushkin,,Russia",16 JUL 1918,"Ekaterinburg,,,Russia",Tsar of Russia,9,4 +38,5,22,Victoria Alberta of_Hesse /,NA,,F,1863,NA,1950,NA,Princess,8,27 +39,5,22,"Alexandra Fedorovna ""Alix"" /",NA,,F,6 JUN 1872,"Darmstadt,,,Germany",16 JUL 1918,"Ekaterinburg,,,Russia",Tsarina,8,4 +40,45,44,Alexander_III Alexandrovich Romanov/,Alexander_III Alexandrovich,Romanov,M,1845,NA,1 NOV 1894,"Livadia,Crimea,Near Yalta,Russia",Tsar of Russia,11,9 +41,226,225,"Dagmar ""Marie"" of_Denmark /",NA,,F,1847,NA,OCT 1928,"Copenhagen,,,Denmark",Tsarina,74,9 +42,1295,1294,Nicholas_I Romanov/,Nicholas_I,Romanov,M,1796,NA,1855,NA,Tsar of Russia,469,10 +43,410,162,Charlotte of_Prussia /,Charlotte of_Prussia,,F,1798,NA,1860,NA,Princess,145,10 +44,43,42,Alexander_II Nicholoevich Romanov/,Alexander_II Nicholoevich,Romanov,M,1818,NA,13 MAR 1881,NA,Tsar of Russia,10,"11, 593" +45,350,349,Marie of_Hesse- Darmstadt /,NA,,F,1824,NA,1880,NA,NA,110,11 +46,39,37,Olga Nicholovna Romanov/,Olga Nicholovna,Romanov,F,NOV 1895,"Alexander Palace,Tsarskoe Selo,,Russia",18 JUL 1918,"Ekaterinburg,,,Russia",Grand Duchess,4,NA +47,39,37,Tatiana Nicholovna /,Tatiana Nicholovna,,F,JUN 1897,NA,18 JUL 1918,"Ekaterinburg,,,Russia",Grand Duchess,4,NA +48,39,37,Maria Nicholovna Romanov/,Maria Nicholovna,Romanov,F,MAY 1899,NA,18 JUL 1918,"Ekaterinburg,,,Russia",Grand Duchess,4,NA +49,39,37,Anastasia Nicholovna Romanov/,Anastasia Nicholovna,Romanov,F,JUN 1901,NA,18 JUL 1918,"Ekaterinburg,,,Russia",Grand Duchess,4,NA +50,39,37,Alexis Nicolaievich Romanov/,Alexis Nicolaievich,Romanov,M,12 AUG 1904,"Peterhof,Near,St. Petersburg,Russia",18 JUL 1918,"Ekaterinburg,,,Russia",Tsarevich,4,NA +51,146,145,Elizabeth Angela Marguerite Bowes-Lyon/,NA,Bowes-Lyon,F,4 AUG 1900,",,London,England",NA,NA,Lady,46,12 +52,51,32,Elizabeth_II Alexandra Mary Windsor/,NA,Windsor,F,21 APR 1926,"17 Bruton St.,London,W1,England",NA,NA,Queen of England,12,14 +53,51,32,Margaret Rose Windsor/,Margaret Rose,Windsor,F,21 AUG 1930,"Glamis Castle,,Angus,Scotland",NA,NA,Princess,12,13 +54,NA,NA,Anthony Charles Robert Armstrong-Jones/,NA,Armstrong-Jones,M,7 MAR 1930,NA,NA,NA,Earl of Snowdon,NA,"13, 1410" +55,53,54,David Albert Charles Armstrong-Jones/,NA,Armstrong-Jones,M,3 NOV 1961,NA,NA,NA,Vicount Linley,13,NA +56,53,54,Sarah Frances Elizabeth Armstrong-Jones/,NA,Armstrong-Jones,F,1 MAY 1964,NA,NA,NA,Lady,13,NA +57,101,104,Philip Mountbatten/,Philip,Mountbatten,M,10 JUN 1921,"Isle of Kerkira,Mon Repos,Corfu,Greece",NA,NA,Prince,28,14 +58,52,57,Charles Philip Arthur Windsor/,NA,Windsor,M,14 NOV 1948,"Buckingham,Palace,London,England",NA,NA,Prince,14,16 +59,52,57,Anne Elizabeth Alice Windsor/,NA,Windsor,F,15 AUG 1950,"Clarence House,St. James,,England",NA,NA,Princess,14,15 +60,52,57,Andrew Albert Christian Windsor/,NA,Windsor,M,19 FEB 1960,"Belgian Suite,Buckingham,Palace,England",NA,NA,Duke of York,14,53 +61,52,57,Edward Anthony Richard Windsor/,NA,Windsor,M,10 MAR 1964,"Buckingham,Palace,London,England",NA,NA,Prince,14,NA +62,NA,2968,Mark Anthony Peter Phillips/,NA,Phillips,M,22 SEP 1948,NA,NA,NA,Captain,1405,15 +63,59,62,Peter Mark Andrew Phillips/,NA,Phillips,M,15 NOV 1977,"St. Mary's Hosp.,Paddington,London,England",NA,NA,NA,15,NA +64,59,62,Zara Anne Elizabeth Phillips/,NA,Phillips,F,15 MAY 1981,"St. Marys Hosp.,Paddington,London,England",NA,NA,NA,15,NA +65,93,239,Diana Frances Spencer/,Diana Frances,Spencer,F,1 JUL 1961,"Park House,Sandringham,Norfolk,England",NA,NA,Lady,78,16 +66,1362,229,Marina of_Greece /,Marina of_Greece,,F,30 NOV 1906,"Athens,Greece",1968,"Kensington,Palace,,England",Princess,76,17 +67,66,35,Edward George Nicholas Windsor/,NA,Windsor,M,9 SEP 1935,"3 Belgrave Sq.,,England",NA,NA,Duke of Kent,17,31 +68,NA,NA,Henry George Charles Lascelles/,NA,Lascelles,M,1882,NA,1947,NA,Viscount,NA,18 +69,1607,803,Alice Christabel Montagu-Douglas/,Alice Christabel,Montagu-Douglas,F,25 DEC 1901,"London,England",NA,NA,Lady,296,19 +70,172,171,Bessiewallis Warfield/,Bessiewallis,Warfield,F,1896,",,,U.S.A.",24 APR 1986,"Paris,,,France",NA,55,"20, 24, 25" +71,605,604,Charles Haakon_VII /,Charles Haakon_VII,,M,1872,"Charlottenlund,Denmark",1957,NA,King of Norway,218,21 +72,3,20,Henry of_Prussia /,Henry of_Prussia,,M,1862,NA,1929,NA,Prince,3,22 +73,3,20,Sigismund /,Sigismund,,M,1864,NA,1866,NA,NA,3,NA +74,3,20,Victoria /,Victoria,,F,1866,NA,1929,NA,Princess,3,"138, 442" +75,3,20,Waldemar /,Waldemar,,M,1868,NA,1879,NA,NA,3,NA +76,3,20,Sophie of_Prussia /,Sophie of_Prussia,,F,14 JUN 1870,"Potsdam,Germany",13 JAN 1932,"Frankfurt,Germany",Queen of Greece,3,139 +77,3,20,Charlotte of_Saxe- Meiningen /,NA,,F,1860,NA,1919,NA,Duchess,3,137 +78,3,20,Margarete of_Hesse /,Margarete of_Hesse,,F,1872,NA,1954,NA,Princess,3,140 +79,5,22,Irene of_Hesse /,Irene of_Hesse,,F,1866,NA,1953,NA,Princess,8,22 +80,79,72,Waldemar /,Waldemar,,M,1889,NA,1945,NA,NA,22,NA +81,79,72,Henry /,Henry,,M,1900,NA,1904,NA,NA,22,NA +82,79,72,Child_#3 /,Child_#3,,M,NA,NA,NA,NA,NA,22,NA +83,5,22,Ernest Louis of_Hesse /,NA,,M,1868,NA,1937,NA,Grand Duke,8,"49, 157" +84,5,22,"Elizabeth ""Ella"" /","Elizabeth ""Ella""",,F,1864,NA,17 JUL 1918,"Alapayevsk,Ural Mts.,,Russia",Grand Duchess,8,144 +85,5,22,"Mary ""May"" /","Mary ""May""",,F,1874,NA,1878,"Hesse-Darmstadt,Palace,,Germany",NA,8,NA +86,5,22,Frederick /,Frederick,,M,1870,NA,1873,NA,NA,8,NA +87,69,34,William Henry Andrew Windsor/,NA,Windsor,M,18 DEC 1941,"Hadley Common,Hertfordshire,England",28 AUG 1972,"Near,Wolverhampton,England",Prince,19,NA +88,69,34,Richard Alexander Walter Windsor/,NA,Windsor,M,26 AUG 1944,"Hadley Common,Hertfordshire,England",NA,NA,Prince,19,23 +89,NA,NA,Birgitte of_Denmark von_Deurs/,Birgitte of_Denmark,von_Deurs,F,1947,NA,NA,NA,Duchess,NA,23 +90,89,88,Alexander Patrick Gregers /,NA,,M,24 OCT 1974,"St. Marys Hosp.,Paddington,London,England",NA,NA,Earl of Ulster,23,NA +91,NA,NA,Earl Winfield Spencer/,Earl Winfield,Spencer,M,NA,NA,NA,NA,Jr.,NA,24 +92,NA,NA,Ernest Simpson/,Ernest,Simpson,M,NA,NA,NA,NA,NA,NA,25 +93,369,368,Frances Burke_Roche/,Frances,Burke_Roche,F,1936,NA,NA,NA,Hon.,119,"78, 297" +94,45,44,Marie Alexandrovna /,Marie Alexandrovna,,F,17 OCT 1853,"St. Petersburg,,,Russia",25 OCT 1920,"Zurich,,,Switzerland",Grand Duchess,11,26 +95,94,6,Alfred /,Alfred,,M,1874,NA,1899,NA,Prince,26,NA +96,94,6,Marie of_Saxe-Coburg and_Gotha /,NA,,F,29 OCT 1875,"Eastwell Park,Kent,England",10 JUL 1938,"Castle Pelesch,Sinaia,Romania",Queen of Romania,26,100 +97,94,6,Victoria Melita of_Edinburgh /,NA,,F,1876,Malta,1936,NA,Grand Duchess,26,"49, 213" +98,94,6,Alexandra /,Alexandra,,F,1878,NA,1942,NA,Princess,26,961 +99,94,6,Beatrice /,Beatrice,,F,1884,NA,1966,NA,Princess,26,960 +100,348,347,Louis of_Battenberg /,Louis of_Battenberg,,M,1854,NA,1921,NA,Prince,109,27 +101,38,100,Alice of_Battenberg /,Alice of_Battenberg,,F,1885,NA,ABT 1969,"Buckingham,Palace,London,England",Princess,27,28 +102,38,100,George Mountbatten/,George,Mountbatten,M,1892,NA,1938,NA,Marquess,27,176 +103,38,100,Louis of_Burma Mountbatten/,Louis of_Burma,Mountbatten,M,1900,"Windsor,Berkshire,England",27 AUG 1979,"Donegal Bay,County Sligo,Ireland",Earl Mountbatten,27,175 +104,228,227,Andrew of_Greece /,Andrew of_Greece,,M,1882,NA,1944,NA,Prince,75,28 +105,NA,NA,Alexander Duff/,Alexander,Duff,M,1849,NA,1912,NA,Duke of Fife,NA,29 +106,66,35,Alexandra Windsor/,Alexandra,Windsor,F,25 DEC 1936,NA,NA,NA,Princess,17,30 +107,66,35,Michael Windsor/,Michael,Windsor,M,4 JUL 1942,"Coppins,,England",NA,NA,Prince,17,103 +108,NA,NA,Angus Ogilvy/,Angus,Ogilvy,M,1928,NA,NA,NA,Hon.,NA,30 +109,106,108,James Robert Bruce Ogilvy/,NA,Ogilvy,M,29 FEB 1964,"Thatched House,Lodge,,England",NA,NA,NA,30,1411 +110,106,108,Marina Victoria Alexandra Ogilvy/,NA,Ogilvy,F,31 JUL 1966,"Thatched House,Lodge,Richmond Park,England",NA,NA,NA,30,1402 +111,NA,981,Katharine Worsley/,Katharine,Worsley,F,1933,NA,NA,NA,Duchess of Kent,367,31 +112,111,67,George Philip of_St._Andrews Windsor/,NA,Windsor,M,26 JUN 1962,NA,NA,NA,Earl,31,1406 +113,111,67,Helen Marina Lucy Windsor/,NA,Windsor,F,28 APR 1964,NA,NA,NA,Lady,31,NA +114,111,67,Nicholas Charles Edward Windsor/,NA,Windsor,M,25 JUL 1970,"Kings College,Hospital,Denmark Hill",NA,NA,Lord,31,NA +115,65,58,William Arthur Philip Windsor/,NA,Windsor,M,21 JUN 1982,"St. Mary's Hosp.,Paddington,London,England",NA,NA,Prince,16,NA +116,65,58,Henry Charles Albert Windsor/,NA,Windsor,M,15 SEP 1984,"St. Mary's Hosp.,Paddington,London,England",NA,NA,Prince,16,NA +117,NA,NA,(Frederick) Christian Charles /,NA,,M,1831,NA,1917,NA,Prince,NA,32 +118,7,117,Marie Louise /,Marie Louise,,F,1872,NA,1956,NA,Princess,32,33 +119,NA,NA,Aribert of_Anhalt /,Aribert of_Anhalt,,M,1864,NA,1933,NA,NA,NA,33 +120,200,199,Louise Margaret of_Prussia /,NA,,F,25 JUN 1860,Potsdam,14 MAR 1917,"Clarence House,London,,England",Duchess,68,34 +121,120,9,Margaret of_Sweden /,Margaret of_Sweden,,F,15 JAN 1882,Bagshot Park,1 MAY 1920,"Stockholm,Sweden",Crown Princess,34,35 +122,120,9,Arthur of_Connaught /,Arthur of_Connaught,,M,1883,NA,1938,NA,Duke,34,36 +123,120,9,Patricia /,Patricia,,F,1886,NA,1974,NA,Lady Ramsay,34,37 +124,457,456,Gustav_VI Adolf /,Gustav_VI Adolf,,M,11 NOV 1882,"Stockholm,Sweden",15 SEP 1973,Helsingborg,King of Sweden,155,"35, 77" +125,15,105,Alexandra /,Alexandra,,F,1891,NA,26 FEB 1959,NA,Duchess of Fife,29,36 +126,NA,2151,Alexander Ramsay/,Alexander,Ramsay,M,1881,NA,1972,NA,Admiral Sir,962,37 +127,2486,1903,Isabella of_France /,Isabella of_France,,F,1292,Paris,22 AUG 1358,"Castle Rising,Norfolk,England",NA,794,92 +128,NA,NA,Issue_Unknown /,Issue_Unknown,,M,NA,NA,NA,NA,NA,NA,NA +129,23,10,Charles Edward /,Charles Edward,,M,1884,NA,1954,NA,Duke,5,141 +130,332,323,George_III Hanover/,George_III,Hanover,M,4 JUN 1738,"Norfolk-House,St. James Square,London,England",29 JAN 1820,"Windsor Castle,Windsor,Berkshire,England",King of England,105,39 +131,2148,2147,(Sophia) Charlotte /,(Sophia) Charlotte,,F,19 MAY 1744,Mirow,17 NOV 1818,Kew Palace,NA,959,39 +132,131,130,Adolphus of_Cambridge Hanover/,Adolphus of_Cambridge,Hanover,M,1774,NA,1850,NA,Duke,39,40 +133,131,130,Edward Augustus Hanover/,Edward Augustus,Hanover,M,2 NOV 1767,"Buckingham House,,London,England",23 JAN 1820,"Sidmouth,Devon,,England",Duke of Kent,39,42 +134,302,301,Augusta of_Hesse-Cassel /,Augusta of_Hesse-Cassel,,F,1797,NA,1889,NA,Princess,97,40 +135,134,132,Augusta Caroline /,Augusta Caroline,,F,1822,NA,1916,NA,NA,40,89 +136,134,132,"Mary Adelaide ""Fat_Mary"" /",NA,,F,1833,NA,1897,NA,NA,40,41 +137,304,303,Francis /,Francis,,M,1837,NA,1900,NA,Duke of Teck,98,41 +138,2614,2448,Victoria Mary Louisa /,NA,,F,17 AUG 1786,Coburg,16 MAR 1861,"Frogmore House,Windsor,,England",NA,1147,"1409, 42" +139,2614,2448,Ernest_I of_Saxe-Coburg- Saalfeld /,NA,,M,1784,NA,29 JAN 1844,NA,Duke,1147,"43, 1368" +140,NA,NA,Louise of_Saxe-Coburg- Altenburg /,NA,,F,1800,Thuringia,1831,"Paris,France",NA,NA,43 +141,131,130,George_IV Hanover/,George_IV,Hanover,M,12 AUG 1762,",,London,England",26 JUN 1830,"Windsor Castle,Berkshire,England",King of England,39,"44, 45" +142,NA,NA,Maria Anne Fitzherbert/,Maria Anne,Fitzherbert,F,1756,NA,1837,NA,NA,NA,44 +143,333,1363,Caroline Amelia of_Brunswick /,NA,,F,1768,NA,1821,NA,NA,501,45 +144,143,141,Charlotte Augusta Hanover/,Charlotte Augusta,Hanover,F,7 JAN 1796,Carlton House,6 NOV 1817,"Claremont House,Esher,Surrey,England",Princess,45,80 +145,183,182,Claude George Bowes-Lyon/,Claude George,Bowes-Lyon,M,1855,NA,1944,NA,Earl of Strath.,56,46 +146,208,207,Cecilia Nina Cavendish-Bentin/,Cecilia Nina,Cavendish-Bentin,F,1862,NA,1938,NA,Countess of S.,71,46 +147,101,104,Margarita Mountbatten/,Margarita,Mountbatten,F,1905,NA,1981,NA,NA,28,166 +148,101,104,Theodora Mountbatten/,Theodora,Mountbatten,F,1906,NA,1960,NA,NA,28,167 +149,45,44,Vladimir Romanov/,Vladimir,Romanov,M,1847,NA,1909,NA,Grand Duke,11,47 +150,45,44,Alexis Romanov/,Alexis,Romanov,M,1850,NA,1908,NA,Grand Duke,11,NA +151,45,44,Serge Alexandrovich Romanov/,Serge Alexandrovich,Romanov,M,1857,NA,FEB 1905,NA,Grand Duke,11,144 +152,45,44,Paul Alexandrovich Romanov/,Paul Alexandrovich,Romanov,M,1860,NA,JAN 1919,"Fortress of,Peter and Paul,,Russia",Grand Duke,11,"50, 499" +153,41,40,George Alexandrovich Romanov/,George Alexandrovich,Romanov,M,1871,NA,JUL 1899,"Abbas Tuman,Caucasus,Russia",Grand Duke,9,NA +154,41,40,Xenia Romanov/,Xenia,Romanov,F,1875,NA,20 APR 1960,"London,England",Grand Duchess,9,51 +155,41,40,"Michael ""Mischa"" Alexandrovich Romanov/",NA,Romanov,M,1878,NA,10 JUL 1918,"Perm,,,Russia",Grand Duke,9,498 +156,41,40,Olga Alexandrovna Romanov/,Olga Alexandrovna,Romanov,F,1 JUN 1882,NA,24 NOV 1960,"East Toronto,Ontario,,Canada",Grand Duchess,9,"500, 592" +157,NA,2682,Marie Pavlovna/,Marie,Pavlovna,F,1854,NA,1920,NA,Grand Duchess,1270,47 +158,157,149,Cyril Vladimirovitch Romanov/,Cyril Vladimirovitch,Romanov,M,1876,NA,1938,NA,Grand Duke,47,213 +159,157,149,Boris Romanov/,Boris,Romanov,M,1877,NA,1943,NA,Grand Duke,47,1379 +160,157,149,Andrei (Andrew) Vladimirovich Romanov/,NA,Romanov,M,1879,NA,1956,NA,Grand Duke,47,48 +161,NA,2926,Mathilde (Maria) Krzesinska/,Mathilde (Maria),Krzesinska,F,1872,NA,1971,NA,NA,1380,48 +162,556,553,Frederick William_III /,Frederick William_III,,M,1770,"Potsdam,Germany",1840,NA,King of Prussia,200,"145, 179" +163,228,227,Alexandra of_Greece /,Alexandra of_Greece,,F,1870,NA,1891,NA,Princess,75,50 +164,163,152,Dmitri Pavlovich Romanov/,Dmitri Pavlovich,Romanov,M,1891,NA,1941,Switzerland,Grand Duke,50,511 +165,354,353,Nicholas Romanov/,Nicholas,Romanov,M,1850,NA,1918,NA,NA,112,1267 +166,154,2675,Irina /,Irina,,F,1895,NA,NA,NA,NA,51,52 +167,NA,NA,Felix Yussoupov/,Felix,Yussoupov,M,1887,NA,NA,NA,NA,NA,52 +168,170,169,Sarah Margaret Ferguson/,Sarah Margaret,Ferguson,F,15 OCT 1959,"27 Welbech St.,Marylebone,London,England",NA,NA,Duchess of York,54,53 +169,812,811,Ronald Ivor Ferguson/,Ronald Ivor,Ferguson,M,1931,NA,NA,NA,Major,303,"54, 1384" +170,821,820,Susan Mary Wright/,Susan Mary,Wright,F,1937,NA,NA,NA,NA,309,"54, 311" +171,NA,NA,Teackle Wallis Warfield/,Teackle Wallis,Warfield,M,NA,NA,NA,NA,NA,NA,55 +172,NA,NA,Alice Montague/,Alice,Montague,F,NA,NA,NA,NA,NA,NA,55 +173,146,145,Violet Hyacinth Bowes-Lyon/,Violet Hyacinth,Bowes-Lyon,F,1882,NA,1893,NA,NA,46,NA +174,146,145,Mary Frances Bowes-Lyon/,Mary Frances,Bowes-Lyon,F,1883,NA,1961,NA,NA,46,60 +175,146,145,Patrick Bowes-Lyon/,Patrick,Bowes-Lyon,M,1884,NA,1949,NA,NA,46,61 +176,146,145,John Herbert Bowes-Lyon/,John Herbert,Bowes-Lyon,M,1886,NA,1930,NA,NA,46,62 +177,146,145,Alexander Francis Bowes-Lyon/,Alexander Francis,Bowes-Lyon,M,1887,NA,1911,NA,NA,46,NA +178,146,145,Fergus Bowes-Lyon/,Fergus,Bowes-Lyon,M,1889,NA,1915,NA,NA,46,63 +179,146,145,Rose Bowes-Lyon/,Rose,Bowes-Lyon,F,1890,NA,1967,NA,NA,46,64 +180,146,145,Michael Claude Bowes-Lyon/,Michael Claude,Bowes-Lyon,M,1893,NA,1953,NA,NA,46,65 +181,146,145,David Bowes-Lyon/,David,Bowes-Lyon,M,2 MAY 1902,NA,1961,Birkhall,Sir,46,66 +182,185,184,Claude Bowes-Lyon/,Claude,Bowes-Lyon,M,1824,NA,FEB 1904,NA,Earl,57,56 +183,365,364,Frances Dora Smith/,Frances Dora,Smith,F,1833,NA,1922,NA,NA,117,56 +184,188,187,Thomas Lyon-Bowes/,Thomas,Lyon-Bowes,M,1773,NA,1846,NA,NA,58,57 +185,NA,NA,Mary Carpenter/,Mary,Carpenter,F,NA,NA,NA,NA,NA,NA,57 +186,185,184,Thomas George Lyon-Bowes/,Thomas George,Lyon-Bowes,M,1822,NA,1865,NA,NA,57,NA +187,NA,NA,John Lyon/,John,Lyon,M,1737,NA,1776,NA,NA,NA,58 +188,NA,NA,Mary Eleanor Bowes/,Mary Eleanor,Bowes,F,1749,NA,1800,NA,NA,NA,"58, 59" +189,188,187,John Lyon Bowes/,John Lyon,Bowes,M,1769,NA,1820,NA,NA,58,NA +190,NA,NA,Andrew Robinson Stoney/,Andrew Robinson,Stoney,M,NA,NA,NA,NA,NA,NA,59 +191,NA,NA,Elphinstone/,NA,Elphinstone,M,1869,NA,1955,NA,Lord,NA,60 +192,NA,NA,Dorothy Beatrix Osborne/,Dorothy Beatrix,Osborne,F,1888,NA,1946,NA,Lady,NA,61 +193,NA,NA,Fenella Stuart-Forbes Trefusis Hepburn/,NA,Hepburn,F,1889,NA,1966,NA,Hon,NA,62 +194,NA,NA,Christian Norah Dawson-Damer/,Christian Norah,Dawson-Damer,F,1890,NA,1959,NA,Lady,NA,63 +195,NA,NA,Granville/,NA,Granville,M,1880,NA,1953,NA,Lord,NA,64 +196,NA,NA,Elizabeth Cator/,Elizabeth,Cator,F,1899,NA,1959,NA,NA,NA,65 +197,NA,NA,Rachel Clay/,Rachel,Clay,F,1907,NA,NA,NA,Lady,NA,66 +198,NA,NA,Jeanne d'Albret of_France /,NA,,F,NA,NA,NA,NA,NA,NA,446 +199,NA,NA,Frederick Charles of_Prussia /,NA,,M,NA,NA,NA,NA,Prince,NA,68 +200,NA,NA,Maria Anna of_Anhalt /,NA,,F,NA,NA,NA,NA,NA,NA,68 +201,NA,NA,John Campbell/,John,Campbell,M,1845,NA,1914,NA,Duke of Argyll,NA,69 +202,131,130,Frederick Hanover/,Frederick,Hanover,M,16 AUG 1763,"St. James Palace,London,England",5 JAN 1827,"Rutland House,Arlington St.,London,England",Duke of York,39,185 +203,131,130,William_IV Henry Hanover/,William_IV Henry,Hanover,M,21 AUG 1765,"Buckingham House,London,England",20 JUN 1837,"Windsor Castle,Windsor,Berkshire,England",King of England,39,73 +204,131,130,Charlotte Augusta Matilda Hanover/,NA,Hanover,F,29 SEP 1766,"Buckingham House,St. James Park,London,England",6 OCT 1828,Ludwigsburg,Princess Royal,39,82 +205,2614,2448,Ferdinand /,Ferdinand,,M,1785,NA,1851,NA,NA,1147,1370 +206,NA,NA,Mary /,Mary,,F,1799,NA,1860,NA,NA,NA,1368 +207,361,360,Charles Cavendish-Bentin/,Charles,Cavendish-Bentin,M,1817,NA,1865,NA,Reverend,115,71 +208,363,362,Caroline Louisa Burnaby/,Caroline Louisa,Burnaby,F,1832,NA,1918,NA,NA,116,71 +209,131,130,Augusta Sophia Hanover/,Augusta Sophia,Hanover,F,8 NOV 1768,Buckingham House,22 SEP 1840,"Clarence House,St. James",NA,39,NA +210,131,130,Elizabeth Hanover/,Elizabeth,Hanover,F,22 MAY 1770,Buckingham House,10 JAN 1840,"Frankfurt,-am-Main",NA,39,72 +211,NA,NA,Frederick_VI of_Hesse-Homburg /,Frederick_VI of_Hesse-Homburg,,M,1769,NA,1829,NA,Landgrave,NA,72 +212,131,130,Ernest Augustus_I Hanover/,Ernest Augustus_I,Hanover,M,5 JUN 1771,"Buckingham House,London,England",18 NOV 1851,Herrenhausen,King of Hanover,39,83 +213,131,130,Augustus Frederick Hanover/,Augustus Frederick,Hanover,M,27 JAN 1773,Buckingham House,21 APR 1843,Kensington Palac,Duke of Sussex,39,NA +214,131,130,Mary Hanover/,Mary,Hanover,F,25 APR 1776,Buckingham House,30 APR 1857,"Gloucester House,Piccadilly,London,England",NA,39,93 +215,131,130,Sophia Hanover/,Sophia,Hanover,F,2 NOV 1777,Buckingham House,27 MAY 1848,"Vicarage Place,Kensington",NA,39,NA +216,131,130,Octavius Hanover/,Octavius,Hanover,M,23 FEB 1779,Buckingham House,3 MAY 1783,Kew Palace,NA,39,NA +217,131,130,Alfred Hanover/,Alfred,Hanover,M,22 SEP 1780,"Windsor Castle,Windsor,Berkshire,England",20 AUG 1783,"Windsor Castle,Windsor,Berkshire,England",NA,39,NA +218,131,130,Amelia Hanover/,Amelia,Hanover,F,7 AUG 1783,"Royal Lodge,Windsor,Berkshire,England",2 NOV 1810,"Augusta Lodge,Windsor,Berkshire,England",NA,39,NA +219,760,759,Adelaide Louisa Theresa /,NA,,F,13 AUG 1792,Meiningen,2 DEC 1849,"Near Stanmore,Middlesex,England",Princess,277,73 +220,219,203,Charlotte Augusta Louisa Hanover/,NA,Hanover,F,1819,NA,27 MAR 1819,"Furstenhof,Hanover",NA,73,NA +221,219,203,Elizabeth Georgiana Adelaide Hanover/,NA,Hanover,F,10 DEC 1820,St. James Palac,4 MAR 1821,St. James Palac,NA,73,NA +222,219,203,Twin-Boy_1 /,Twin-Boy_1,,M,23 APR 1822,Bushy Park,23 APR 1822,Bushy Park,NA,73,NA +223,219,203,Twin-Boy_2 /,Twin-Boy_2,,M,23 APR 1822,Bushy Park,23 APR 1822,Bushy Park,NA,73,NA +224,348,347,Marie /,Marie,,F,1852,NA,1923,NA,NA,109,171 +225,346,345,Christian_IX /,Christian_IX,,M,8 APR 1818,Gottorp,29 JAN 1906,Amalienborg,King of Denmark,108,74 +226,299,298,Louise of_Hesse-Cassel /,Louise of_Hesse-Cassel,,F,7 SEP 1817,Cassel,29 SEP 1898,Bernstorff,Princess,96,74 +227,226,225,William George_I of_the_Hellenes Oldenburg/,NA,Oldenburg,M,24 DEC 1845,"Copenhagen,Denmark",18 MAR 1913,Salonika,King of Greece,74,75 +228,354,353,Olga Constantinovna /,Olga Constantinovna,,F,1851,NA,1926,NA,Princess,112,75 +229,228,227,Nicholas of_Greece /,Nicholas of_Greece,,M,1872,NA,1938,NA,Prince,75,76 +230,76,405,Child_6 /,Child_6,,M,1913,NA,NA,NA,NA,139,NA +231,76,405,Child_5 /,Child_5,,M,NA,NA,NA,NA,NA,139,NA +232,76,405,Paul_I Oldenburg/,Paul_I,Oldenburg,M,14 DEC 1901,"Athens,Greece",6 MAR 1964,"Tatoi,Near Athens,Greece",King of Greece,139,162 +233,76,405,Helen of_Greece /,Helen of_Greece,,F,2 MAY 1896,"Athens,Greece",28 NOV 1982,"Lausanne,Switzerland",Princess,139,160 +234,76,405,Alexander_I Oldenburg/,Alexander_I,Oldenburg,M,1 AUG 1893,Tatoi,25 OCT 1920,"Athens,Greece",King of Greece,139,164 +235,NA,NA,Sumner M. Kirby/,Sumner M.,Kirby,F,NA,NA,1945,NA,NA,NA,1381 +236,1362,229,Child_2 /,Child_2,,M,NA,NA,NA,NA,NA,76,NA +237,1362,229,Child_3 /,Child_3,,M,NA,NA,NA,NA,NA,76,NA +238,38,100,Louise Alexandra Mountbatten/,Louise Alexandra,Mountbatten,F,13 JUL 1889,"Schloss,Heiligenberg",7 MAR 1965,"Stockholm,Sweden",Princess,27,77 +239,367,366,Edward John VIII Spencer/,NA,Spencer,M,24 JAN 1924,England,29 MAR 1992,"London,England",Earl of Spencer,118,"78, 79" +240,93,239,Sarah Spencer/,Sarah,Spencer,F,1955,NA,NA,NA,Hon.,78,301 +241,93,239,Jane Spencer/,Jane,Spencer,F,1957,NA,NA,NA,Hon.,78,300 +242,93,239,Charles Spencer/,Charles,Spencer,M,1964,NA,NA,NA,Vicount Althorp,78,1403 +243,806,2984,Raine of_Dartmouth McCorquodale/,Raine of_Dartmouth,McCorquodale,F,SEP 1929,NA,NA,NA,Countess,299,"1414, 79" +244,33,68,George Earl_of_Harewood Lascelles/,George Earl_of_Harewood,Lascelles,M,1923,NA,NA,NA,Viscount,18,"94, 101" +245,1705,2511,Louise Marie d'Orleans /,NA,,F,3 APR 1812,"Palermo,Italy",11 OCT 1850,Ostende,NA,1187,663 +246,NA,NA,Ludwig_IX of_Hesse- Darmstadt /,NA,,M,NA,NA,NA,NA,Landgrave,NA,81 +247,1068,1067,Frederick_I of_Wurttemberg /,Frederick_I of_Wurttemberg,,M,1754,NA,1816,NA,King,404,"82, 405" +248,496,564,Frederica of_Mecklenburg- Strelitz /,NA,,F,2 MAR 1778,"Hanover,Germany",29 JUN 1841,Hanover,Duchess,520,"201, 83" +249,248,212,George_V Hanover/,George_V,Hanover,M,27 MAY 1819,"Berlin,Germany",12 JUN 1878,"Paris,France",King of Hanover,83,84 +250,NA,NA,Mary of_Saxe- Altenburg /,NA,,F,14 APR 1818,Hildburghausen,9 JAN 1907,"Gmunden,Austria",Princess,NA,84 +251,250,249,Ernest Augustus of_Cumberland Hanover/,NA,Hanover,M,1845,NA,1923,NA,Duke,84,85 +252,250,249,Frederica Hanover/,Frederica,Hanover,F,1848,NA,1926,NA,NA,84,86 +253,250,249,Mary Hanover/,Mary,Hanover,F,1849,NA,1904,NA,NA,84,NA +254,226,225,Thyra of_Denmark /,Thyra of_Denmark,,F,1853,NA,1933,NA,Princess,74,85 +255,254,251,Marie Louise Hanover/,Marie Louise,Hanover,F,1879,NA,1948,NA,NA,85,397 +256,254,251,George William Hanover/,George William,Hanover,M,1880,NA,1912,NA,NA,85,NA +257,254,251,Alexandra Hanover/,Alexandra,Hanover,F,1882,NA,1963,NA,NA,85,398 +258,254,251,Olga Hanover/,Olga,Hanover,F,1884,NA,1958,NA,NA,85,NA +259,254,251,Christian Hanover/,Christian,Hanover,M,1885,NA,1901,NA,NA,85,NA +260,NA,NA,Rene of_Bourbon-Parma /,Rene of_Bourbon-Parma,,M,NA,NA,NA,NA,Prince,NA,399 +261,NA,NA,Alfons Pawel-Rammingen/,Alfons,Pawel-Rammingen,M,1843,NA,1932,NA,Baron von,NA,86 +262,134,132,George of_Cambridge /,George of_Cambridge,,M,1819,NA,1904,NA,Duke,40,87 +263,NA,NA,Sarah (Louisa) Fairbrother/,Sarah (Louisa),Fairbrother,F,1815/1816,NA,1890,NA,NA,NA,87 +264,263,262,George FitzGeorge/,George,FitzGeorge,M,1843,NA,1907,NA,NA,87,88 +265,263,262,Adolphus /,Adolphus,,M,1846,NA,1922,NA,NA,87,NA +266,263,262,Agustus /,Agustus,,M,1847,NA,1933,NA,NA,87,NA +267,NA,NA,Rosa Baring/,Rosa,Baring,F,NA,NA,NA,NA,NA,NA,88 +268,267,264,Son_1 /,Son_1,,M,NA,NA,NA,NA,NA,88,NA +269,267,264,Dau._1 /,Dau._1,,F,NA,NA,NA,NA,NA,88,NA +270,267,264,Dau._2 /,Dau._2,,F,NA,NA,NA,NA,NA,88,NA +271,NA,NA,Frederick William /,Frederick William,,M,1819,NA,1904,NA,Grand Duke,NA,89 +272,135,271,Adolphus Frederick_V /,Adolphus Frederick_V,,M,1848,NA,1914,NA,Grand Duke,89,90 +273,NA,NA,Elisabeth of_Anhalt /,Elisabeth of_Anhalt,,F,1857,NA,1933,NA,Princess,NA,90 +274,273,272,Son_1 /,Son_1,,M,NA,NA,NA,NA,NA,90,NA +275,273,272,Son_2 /,Son_2,,M,NA,NA,NA,NA,NA,90,NA +276,273,272,Dau._1 /,Dau._1,,F,NA,NA,NA,NA,NA,90,NA +277,273,272,Dau._2 /,Dau._2,,F,NA,NA,NA,NA,NA,90,NA +278,136,137,Adolphus 2nd /,Adolphus 2nd,,M,1868,NA,1927,NA,Duke of Teck,41,91 +279,136,137,Francis /,Francis,,M,1870,NA,1910,NA,Prince,41,NA +280,136,137,Alexander George of_Teck /,NA,,M,1874,NA,1957,NA,Earl of Athlone,41,38 +281,NA,NA,Margaret Grosvenor/,Margaret,Grosvenor,F,1873,NA,1929,NA,Lady,NA,91 +282,281,278,George of_Cambridge /,George of_Cambridge,,M,1895,NA,NA,NA,Marquess,91,666 +283,281,278,Son_2 /,Son_2,,M,NA,NA,NA,NA,NA,91,NA +284,281,278,Mary /,Mary,,F,1897,NA,NA,NA,Lady,91,667 +285,281,278,Helena /,Helena,,F,1899,NA,1969,NA,Lady,91,668 +286,1262,1261,Edward_II /,Edward_II,,M,25 APR 1284,"Caernarvon,Castle,Wales",21 SEP 1327,"Berkeley Castle,Gloucestershire",King of England,464,92 +287,24,280,Rupert /,Rupert,,M,NA,NA,1928,NA,Vicount Trematon,38,NA +288,24,280,Son_2 /,Son_2,,M,NA,NA,NA,NA,NA,38,NA +289,24,280,May Cambridge /,May Cambridge,,F,1906,NA,NA,NA,Lady,38,669 +290,762,336,William Frederick of_Gloucester /,NA,,M,1776,NA,1834,NA,Duke,279,93 +291,33,68,Gerald Lascelles/,Gerald,Lascelles,M,1924,NA,NA,NA,Hon.,18,"95, 102" +292,2983,2982,Marion (Maria) Donata Stein/,NA,Stein,F,1926,NA,NA,NA,Countess,1413,94 +293,292,244,David Lascelles/,David,Lascelles,M,1950,NA,NA,NA,Viscount,94,357 +294,292,244,James Lascelles/,James,Lascelles,M,1953,NA,NA,NA,Hon.,94,358 +295,292,244,Jeremy Lascelles/,Jeremy,Lascelles,M,1955,NA,NA,NA,Hon.,94,359 +296,NA,NA,Angela Dowding/,Angela,Dowding,F,1919,NA,NA,NA,NA,NA,95 +297,296,291,Henry Lascelles/,Henry,Lascelles,M,1953,NA,NA,NA,NA,95,368 +298,302,301,William of_Hesse-Cassel /,William of_Hesse-Cassel,,M,1787,NA,1867,NA,Landgrave,97,96 +299,1644,1643,Louise Charlotte of_Denmark /,NA,,F,1789,NA,1864,NA,Princess,642,96 +300,299,298,Other_issue /,Other_issue,,M,NA,NA,NA,NA,NA,96,NA +301,330,1604,Frederick of_Hesse-Cassel /,Frederick of_Hesse-Cassel,,M,1747,NA,1837,NA,Landgrave,622,97 +302,NA,NA,Caroline of_Nassau- Usingen /,NA,,F,1762,NA,1823,NA,Princess,NA,97 +303,485,484,Alexander of_Wurttemberg /,Alexander of_Wurttemberg,,M,1804,NA,1885,NA,Duke,170,98 +304,NA,NA,Claudine /,Claudine,,F,1814,NA,1841,NA,Countess Rhedey,NA,98 +305,304,303,Claudine /,Claudine,,F,1836,NA,1894,NA,Princess of Teck,98,NA +306,304,303,Amelie /,Amelie,,F,1838,NA,1893,NA,Princess of Teck,98,99 +307,NA,NA,Paul von_Hugel/,Paul,von_Hugel,M,1835,NA,1897,NA,Baron,NA,99 +308,306,307,Paul von_Hugel/,Paul,von_Hugel,M,1872,NA,1912,NA,Count,99,NA +309,1100,1099,Ferdinand_I of_Hohenzollern- Sigmaringen Hohenzollern/,NA,Hohenzollern,M,24 AUG 1865,"Sigmaringen,Germany",20 JUL 1927,"Sinaia,Romania",King of Romania,416,100 +310,7,117,Christian Victor /,Christian Victor,,M,1867,NA,1900,NA,NA,32,NA +311,7,117,Albert of_Schleswig- Holstein /,NA,,M,1869,NA,1931,NA,Duke,32,NA +312,7,117,Helena Victoria /,Helena Victoria,,F,1870,NA,1948,NA,Princess,32,NA +313,7,117,Frederick Harold /,Frederick Harold,,M,12 MAY 1876,NA,20 MAY 1876,NA,NA,32,NA +314,NA,NA,Patricia Tuckwell/,Patricia,Tuckwell,F,1923,NA,NA,NA,NA,NA,"101, 1412" +315,314,244,Mark Lascelles/,Mark,Lascelles,M,1964,NA,NA,NA,Hon.,101,NA +316,NA,NA,Elizabeth Collingwood Colvin/,Elizabeth Collingwood,Colvin,F,1924,NA,NA,NA,NA,NA,102 +317,89,88,Davina Elizabeth Alice Windsor/,NA,Windsor,F,19 NOV 1977,NA,NA,NA,Lady,23,NA +318,89,88,Rose Victoria Birgitte Windsor/,NA,Windsor,F,1 MAR 1980,"St. Marys Hosp.,Paddington,England",NA,NA,Lady,23,NA +319,NA,NA,Marie-Christine von_Reibnitz/,Marie-Christine,von_Reibnitz,F,15 JAN 1945,Czechoslovakia,NA,NA,Baroness,NA,"295, 103" +320,319,107,Frederick Windsor/,Frederick,Windsor,M,6 APR 1979,"St. Mary's Hosp.,Paddington,London,England",NA,NA,Lord,103,NA +321,342,341,George_II Hanover/,George_II,Hanover,M,30 OCT 1683,"Herrenhausen,Palace,Hannover,Germany",25 OCT 1760,"Kensington,Palace,London,England",King of England,106,104 +322,NA,1694,Caroline of_Ansbach /,Caroline of_Ansbach,,F,1683,NA,1737,NA,NA,661,104 +323,322,321,Frederick Louis Hanover/,Frederick Louis,Hanover,M,31 JAN 1701,Hanover,31 MAR 1751,"Leicester-House,,London,England",Prince of Wales,104,105 +324,322,321,Anne Hanover/,Anne,Hanover,F,2 NOV 1709,Herrenhausen,12 JAN 1759,The Hague,Princess Royal,104,238 +325,322,321,Amelia Sophia Eleanor Hanover/,NA,Hanover,F,10 JUL 1711,Herrenhausen,31 OCT 1786,"Cavendish Square,,London,England",NA,104,NA +326,322,321,Caroline Elizabeth Hanover/,Caroline Elizabeth,Hanover,F,21 JUN 1713,Herrenhausen,28 DEC 1757,"St. James Palace,,,England",NA,104,NA +327,322,321,Son /,Son,,M,20 NOV 1716,"St. James Palace,London,England",20 NOV 1716,"St. James Palace,London,England",NA,104,NA +328,322,321,George William Hanover/,George William,Hanover,M,13 NOV 1717,"St. James Palace,London,England",17 FEB 1718,"Kensington,Palace,London,England",NA,104,NA +329,322,321,William Augustus of_Cumberland Hanover/,NA,Hanover,M,26 APR 1721,Leicester House,31 OCT 1765,"London,,,England",Duke,104,NA +330,322,321,Mary Hanover/,Mary,Hanover,F,5 MAR 1723,Leicester House,14 JAN 1772,Hanau,NA,104,622 +331,322,321,Louisa Hanover/,Louisa,Hanover,F,18 DEC 1724,"Leicester House,London,England",19 DEC 1751,"Christiansborg,Denmark",NA,104,107 +332,2143,2142,Augusta of_Saxe-Gotha /,Augusta of_Saxe-Gotha,,F,30 NOV 1719,Gotha,8 FEB 1772,Carlton House,NA,956,105 +333,332,323,Augusta Hanover/,Augusta,Hanover,F,12 AUG 1737,"St. James Palace,London,England",23 MAR 1813,"London,England",NA,105,501 +334,332,323,Edward Augustus Hanover/,Edward Augustus,Hanover,M,25 MAR 1739,Norfolk House,17 SEP 1767,Monaco,Duke of York,105,NA +335,332,323,Elizabeth Caroline Hanover/,Elizabeth Caroline,Hanover,F,10 JAN 1741,NA,4 SEP 1759,Kew Palace,NA,105,NA +336,332,323,Edward Henry of_Gloucester Hanover/,NA,Hanover,M,25 NOV 1743,Leicester House,25 AUG 1805,Gloucester House,Duke,105,279 +337,332,323,Henry Frederick of_Cumberland Hanover/,NA,Hanover,M,7 NOV 1745,Leicester House,18 SEP 1790,"London,,,England",Duke,105,280 +338,332,323,Louisa Anne Hanover/,Louisa Anne,Hanover,F,19 MAR 1749,Leicester House,13 MAY 1768,Carlton House,NA,105,NA +339,332,323,Frederick William Hanover/,Frederick William,Hanover,M,24 MAY 1750,Leicester House,29 DEC 1765,Leicester House,NA,105,NA +340,332,323,Caroline Matilda Hanover/,Caroline Matilda,Hanover,F,22 JUL 1751,Leicester House,10 MAY 1775,Celle,NA,105,281 +341,736,758,George_I Hanover/,George_I,Hanover,M,28 MAY 1660,"Leineschloss,Osnabruck,Hanover,Germany",11 JUN 1727,Osnabruck,King of England,266,106 +342,2141,2140,Sophia Dorothea of_Celle /,NA,,F,10 SEP 1666,NA,13 NOV 1726,NA,NA,955,106 +343,342,341,Sophia Dorothea Hanover/,Sophia Dorothea,Hanover,F,26 MAR 1687,Hanover,28 JUN 1757,"Monbijou Palace,,Berlin,Germany",NA,106,435 +344,1621,1620,Frederick_V /,Frederick_V,,M,31 MAR 1723,"Copenhagen,Denmark",14 JAN 1766,Christiansborg,King of Denmark,631,"107, 630" +345,NA,NA,Frederick William of_Schleswig- /,NA,,M,1785,NA,1831,NA,Duke,NA,108 +346,1640,1641,Louise Caroline of_Hesse-Cassel /,NA,,F,1789,NA,1867,NA,Princess,641,108 +347,350,349,Alexander of_Hesse and_the_Rhine /,NA,,M,1823,NA,1888,NA,Prince,110,109 +348,352,351,Julia of_Battenberg von_Hauke/,Julia of_Battenberg,von_Hauke,F,1825,NA,1895,NA,Princess,111,109 +349,2912,2911,Louis_II of_Hesse and_the_Rhine /,NA,,M,1777,NA,1848,NA,Grand Duke,1371,110 +350,NA,NA,Wilhelmina of_Baden /,Wilhelmina of_Baden,,F,1788,NA,1836,NA,Princess,NA,110 +351,NA,NA,John Maurice von_Hauke/,John Maurice,von_Hauke,M,NA,NA,1830,NA,Count,NA,111 +352,NA,NA,Sophie la_Fontaine/,Sophie,la_Fontaine,F,NA,NA,1831,NA,NA,NA,111 +353,43,42,Constantine Nikolaievitch of_Russia /,NA,,M,1827,NA,1892,NA,Grand Duke,10,112 +354,356,355,Elizabeth Alexandra of_Saxe- /,NA,,F,1830,NA,1911,NA,Princess,113,112 +355,NA,NA,Joseph of_Saxe- Altenburg /,NA,,M,NA,NA,1868,NA,Duke,NA,113 +356,485,484,Amalie of_Wurttemberg /,Amalie of_Wurttemberg,,F,NA,NA,1848,NA,Duchess,170,113 +357,350,349,Charles of_Hesse /,Charles of_Hesse,,M,1809,NA,1877,NA,Prince,110,114 +358,NA,2622,Elizabeth of_Prussia /,Elizabeth of_Prussia,,F,1815,NA,1885,NA,Princess,1235,114 +359,NA,NA,Charles William Frederick Cavendish-Bentwi/,NA,Cavendish-Bentwi,M,NA,NA,1865,NA,Reverend,NA,NA +360,NA,NA,William Charles Augustus Cavendish-Bentin/,NA,Cavendish-Bentin,M,NA,NA,1826,NA,Lord,NA,115 +361,NA,1914,Anne Wellesley/,Anne,Wellesley,F,NA,NA,1875,NA,NA,803,115 +362,NA,NA,Edwyn Burnaby/,Edwyn,Burnaby,M,NA,NA,1867,NA,NA,NA,116 +363,NA,NA,Anne Caroline Salisbury/,Anne Caroline,Salisbury,F,NA,NA,1881,NA,NA,NA,116 +364,NA,NA,Oswald Smith/,Oswald,Smith,M,NA,NA,1863,NA,NA,NA,117 +365,NA,NA,Henrietta Mildred Hodgson/,Henrietta Mildred,Hodgson,F,NA,NA,NA,NA,NA,NA,117 +366,397,396,Albert Edward John Spencer/,NA,Spencer,M,1892,NA,1975,NA,Earl of Spencer,133,118 +367,385,384,Cynthia Elinor Beatrix Hamilton/,NA,Hamilton,F,1897,NA,1972,NA,Lady,127,118 +368,371,370,Edmund Maurice Burke_Roche/,Edmund Maurice,Burke_Roche,M,1885,NA,1955,NA,Baron Fermoy,120,119 +369,391,390,Ruth Sylvia Gill/,Ruth Sylvia,Gill,F,1908,NA,NA,NA,NA,130,119 +370,379,378,James Boothby Burke_Roche/,James Boothby,Burke_Roche,M,1851,NA,1920,NA,Baron Fermoy,124,120 +371,373,372,Frances Ellen Work/,Frances Ellen,Work,F,1857,NA,1947,NA,NA,121,120 +372,377,376,Frank Work/,Frank,Work,M,1819,NA,1911,NA,NA,123,121 +373,375,374,Ellen Wood/,Ellen,Wood,F,1831,NA,1877,NA,NA,122,121 +374,NA,NA,John Wood/,John,Wood,M,NA,NA,1847,NA,NA,NA,122 +375,NA,NA,Ellen Strong/,Ellen,Strong,F,NA,NA,1863,NA,NA,NA,122 +376,NA,NA,John Work/,John,Work,M,NA,NA,NA,NA,NA,NA,123 +377,NA,NA,Sarah Boude/,Sarah,Boude,F,NA,NA,NA,NA,NA,NA,123 +378,383,382,Edmund Burke_Roche/,Edmund,Burke_Roche,M,1815,NA,1874,NA,Baron Fermoy,126,124 +379,381,380,Elizabeth Caroline Boothby/,Elizabeth Caroline,Boothby,F,1821,NA,1897,NA,NA,125,124 +380,NA,NA,James Brownell Boothby/,James Brownell,Boothby,M,NA,NA,1850,NA,NA,NA,125 +381,NA,NA,Charlotte Cunningham/,Charlotte,Cunningham,F,NA,NA,1893,NA,NA,NA,125 +382,NA,NA,Edward Roche/,Edward,Roche,M,NA,NA,1855,NA,NA,NA,126 +383,NA,NA,Margaret Honoria Curtain/,Margaret Honoria,Curtain,F,NA,NA,1862,NA,NA,NA,126 +384,387,386,James Albert Edward Hamilton/,NA,Hamilton,M,1869,NA,1953,NA,Duke of Abercorn,128,127 +385,389,388,Rosalind Cecilia Caroline Bingham/,NA,Bingham,F,1869,NA,1958,NA,Lady,129,127 +386,787,788,James Hamilton/,James,Hamilton,M,1838,NA,1913,NA,Duke of Abercorn,288,128 +387,786,785,Mary Anna Curzon-Howe/,Mary Anna,Curzon-Howe,F,1848,NA,1929,NA,Lady,287,128 +388,790,789,George Bingham/,George,Bingham,M,1830,NA,1914,NA,Earl of Lucan,289,129 +389,791,792,Cecilia Catherine Gordon-Lennox/,Cecilia Catherine,Gordon-Lennox,F,1838,NA,1910,NA,Lady,290,129 +390,393,392,William Smith Gill/,William Smith,Gill,M,1865,NA,1957,NA,NA,131,130 +391,395,394,Ruth Littlejohn/,Ruth,Littlejohn,F,1879,NA,1964,NA,NA,132,130 +392,794,793,Alexander Ogston Gill/,Alexander Ogston,Gill,M,1833,NA,1908,NA,NA,291,131 +393,796,795,Barbara Smith Marr/,Barbara Smith,Marr,F,1843,NA,NA,NA,NA,292,131 +394,798,797,David Littlejohn/,David,Littlejohn,M,1841,NA,1924,NA,NA,293,132 +395,800,799,Jane Crombie/,Jane,Crombie,F,1843,NA,1917,NA,NA,294,132 +396,399,398,Charles Robert Spencer/,Charles Robert,Spencer,M,1857,NA,1922,NA,Earl of Spencer,134,133 +397,401,400,Margaret Baring/,Margaret,Baring,F,1868,NA,1906,NA,Hon.,135,133 +398,782,781,Frederick Spencer/,Frederick,Spencer,M,1798,NA,1857,NA,Earl of Spencer,285,"134, 683" +399,780,779,Adelaide Horatia Elizabeth Seymour/,NA,Seymour,F,1825,NA,1877,NA,NA,284,134 +400,784,783,Edward Charles Baring/,Edward Charles,Baring,M,1828,NA,1897,NA,Baron Revelstoke,286,135 +401,778,777,Louisa Emily Charlotte Bulteel/,NA,Bulteel,F,1839,NA,1892,NA,NA,283,135 +402,NA,NA,Augusta of_Schleswig- Holstein- /,NA,,F,22 OCT 1858,Dolzig,11 APR 1921,"Haus Doorn,Netherlands",NA,NA,136 +403,NA,NA,Bernard of_Saxe- Meiningen /,NA,,M,1851,NA,1928,NA,NA,NA,137 +404,NA,NA,Adolphus of_Schaumburg- Lippe /,NA,,M,1859,NA,1916,NA,NA,NA,138 +405,228,227,Constantine_I Oldenburg/,Constantine_I,Oldenburg,M,2 AUG 1868,"Athens,Greece",11 JAN 1923,"Palermo,Italy",King of Greece,75,139 +406,NA,NA,Frederick Charles of_Hesse /,NA,,M,1868,NA,1940,NA,NA,NA,140 +407,NA,NA,Victoria of_Schleswig- Holstein /,NA,,F,NA,NA,NA,NA,Princess,NA,141 +408,NA,2161,Irene Denison/,Irene,Denison,F,1890,NA,16 JUL 1956,NA,Lady,966,142 +409,682,683,Alfonso_XIII /,Alfonso_XIII,,M,1886,NA,1941,",,Portugal",King of Spain,254,143 +410,NA,NA,Louise of_Mecklenburg- Strelitz /,NA,,F,1776,NA,1810,NA,NA,NA,145 +411,410,162,Frederick William_IV /,Frederick William_IV,,M,15 OCT 1795,"Berlin,Germany",2 JAN 1861,NA,King of Prussia,145,434 +412,410,162,William_I of_Germany /,William_I of_Germany,,M,22 MAR 1797,"Berlin,Germany",9 MAR 1888,"Berlin,Germany",Emperor,145,147 +413,410,162,Frederica /,Frederica,,F,1799,NA,1800,NA,NA,145,NA +414,410,162,Charles /,Charles,,M,1801,NA,1883,NA,NA,145,184 +415,NA,NA,Charles /,Charles,,M,1766,NA,1806,NA,NA,NA,1257 +416,410,162,Ferdinand /,Ferdinand,,M,1804,NA,1806,NA,NA,145,NA +417,2610,2609,Charlemagne /,Charlemagne,,M,2 APR 742,"Aachen,West Germany",814,NA,King of Franks,1225,"182, 664, 1202, 1203, 1204" +418,410,162,Albert of_Prussia /,Albert of_Prussia,,M,1809,NA,1872,NA,Prince,145,"180, 181" +419,NA,NA,Hermine of_Reuss /,Hermine of_Reuss,,F,17 DEC 1887,Greiz,7 AUG 1947,"Frankfurt an der,Oder",Princess,NA,"278, 146" +420,402,21,William /,William,,M,1882,NA,1951/1952,NA,Crown Prince,136,186 +421,402,21,Eitel Frederick /,Eitel Frederick,,M,1883,NA,1942/1943,NA,NA,136,193 +422,402,21,Adalbert /,Adalbert,,M,1884,NA,1948,NA,NA,136,194 +423,402,21,Augustus William /,Augustus William,,M,1887,NA,1949,NA,NA,136,195 +424,402,21,Oscar /,Oscar,,M,1888,NA,1958,NA,NA,136,196 +425,402,21,Joachim /,Joachim,,M,1890,NA,1920,NA,NA,136,197 +426,402,21,Victoria Louise of_Prussia /,NA,,F,1892,NA,1980,NA,NA,136,198 +427,NA,NA,Augusta of_Saxe-Weimar /,Augusta of_Saxe-Weimar,,F,1811,NA,1890,NA,NA,NA,147 +428,427,412,Louise /,Louise,,F,1828,NA,1923,NA,NA,147,148 +429,NA,NA,Frederick of_Baden /,Frederick of_Baden,,M,1826,NA,1907,NA,Grand Duke,NA,148 +430,27,409,Alphonso of_Cavadonga /,Alphonso of_Cavadonga,,M,1907,NA,1938,NA,Count,143,"1248, 1249" +431,27,409,Don Jamie /,Don Jamie,,M,NA,NA,NA,NA,NA,143,NA +432,27,409,Don Juan of_Spain /,NA,,M,JUN 1913,"San Ildefonso,,Spain",NA,NA,NA,143,149 +433,27,409,Beatrice /,Beatrice,,F,1909,NA,NA,NA,NA,143,1251 +434,2637,2636,Maria de_las_Mercedes of_Bourbon /,NA,,F,1910,"Madrid,,Spain",NA,NA,Princess,1245,149 +435,434,432,Juan Carlos /,Juan Carlos,,M,1938,NA,NA,NA,King of Spain,149,152 +436,96,309,Marie (Mignon) Hohenzollern/,Marie (Mignon),Hohenzollern,F,1900,NA,1961,NA,NA,100,151 +437,96,309,Elizabeth of_Romania Hohenzollern/,Elizabeth of_Romania,Hohenzollern,F,12 OCT 1894,Pelesch,14 NOV 1956,"Cannes,France",Princess,100,150 +438,96,309,Carol_II Hohenzollern/,Carol_II,Hohenzollern,M,15 OCT 1893,"Castle Pelesch,Sinaia,Romania",4 APR 1953,"Villa Mar y Sol,Estoril,Portugal",King of Romania,100,"364, 160, 401" +439,76,405,George_II Oldenburg/,George_II,Oldenburg,M,19 JUL 1890,"Tatoi,Near Athens,Greece",1 APR 1947,"Athens,Greece",King of Greece,139,150 +440,2531,2530,Alexander_I of_Yugoslavia /,Alexander_I of_Yugoslavia,,M,1888,NA,1934,NA,King,1195,151 +441,470,232,Sophia of_Greece Oldenburg/,Sophia of_Greece,Oldenburg,F,1938,NA,NA,NA,NA,162,152 +442,441,435,Helen /,Helen,,F,1963,NA,NA,NA,NA,152,NA +443,441,435,Christine /,Christine,,F,1965,NA,NA,NA,NA,152,NA +444,441,435,Philip of_Asturias /,Philip of_Asturias,,M,1968,NA,NA,NA,Prince,152,NA +445,121,124,Gustav Adolf /,Gustav Adolf,,M,1906,NA,1947,NA,Prince,35,217 +446,457,456,Erik of_Vastmanland /,Erik of_Vastmanland,,M,1889,NA,1918,NA,Duke,155,NA +447,121,124,Sigvard Oscar Fredrik /,NA,,M,7 JUN 1907,NA,NA,NA,Count of Wisborg,35,"1291, 1292, 1289" +448,121,124,Bertil Gustaf Oscar /,NA,,M,28 FEB 1912,NA,NA,NA,Prince of Sweden,35,1290 +449,121,124,Carl Johan Arthur /,NA,,M,31 OCT 1916,NA,NA,NA,Count of Wisborg,35,"1293, 1294" +450,17,71,Olav_V /,Olav_V,,M,2 JUL 1903,"Appleton House,Sandringham,Norfolk,England",17 JAN 1991,Norway,King of Norway,21,153 +451,598,597,Martha of_Sweden /,Martha of_Sweden,,F,1901,NA,1954,NA,Crown Princess,215,153 +452,451,450,Harald /,Harald,,M,21 FEB 1937,"Skaugum,Near Oslo,Norway",NA,NA,Crown Prince,153,154 +453,NA,2705,Sonja Haraldsen/,Sonja,Haraldsen,F,1937,NA,NA,NA,Crown Princess,1282,154 +454,453,452,Martha Louise /,Martha Louise,,F,1971,NA,NA,NA,Princess,154,NA +455,453,452,Haakon of_Norway Magnus/,Haakon of_Norway,Magnus,M,1973,NA,NA,NA,Prince,154,NA +456,459,458,Gustav_V /,Gustav_V,,M,16 JUN 1858,"Drottningholm,Near Stockholm,Sweden",29 OCT 1950,"Drottningholm,Near Stockholm,Sweden",King of Sweden,156,155 +457,NA,NA,Victoria of_Baden /,Victoria of_Baden,,F,7 AUG 1862,Karlsruhe,4 APR 1930,"Rome,Italy",Sweden,NA,155 +458,1614,1613,Oscar_II /,Oscar_II,,M,21 JAN 1829,"Stockholm,Sweden",8 DEC 1907,"Stockholm,Sweden",King of Sweden,627,156 +459,579,578,Sophia /,Sophia,,F,9 JUL 1836,Biebrich,30 DEC 1913,"Stockholm,Sweden",NA,209,156 +460,NA,NA,Eleonore of_Solms- Hohensolms-Lich /,NA,,F,1871,NA,1937,NA,Princess,NA,157 +461,460,83,George Donatus of_Hesse /,NA,,M,1906,NA,1937,NA,Grand Duke,157,158 +462,460,83,Louis /,Louis,,M,1908,NA,1968,NA,NA,157,159 +463,101,104,Cecilie of_Greece Mountbatten/,Cecilie of_Greece,Mountbatten,F,1911,NA,1937,NA,Princess,28,158 +464,NA,2632,Margaret Campbell-Geddes/,Margaret,Campbell-Geddes,F,1913,NA,NA,NA,Hon.,1242,159 +465,228,227,Christopher Oldenburg/,Christopher,Oldenburg,M,1888,NA,1940,NA,NA,75,"1334, 1335" +466,228,227,George Oldenburg/,George,Oldenburg,M,1869,NA,1957,NA,NA,75,1276 +467,228,227,Olga /,Olga,,F,NA,NA,NA,NA,NA,75,NA +468,233,438,Michael Hohenzollern/,Michael,Hohenzollern,M,25 OCT 1921,"Pelesch,Sinaia,Romania",NA,NA,King of Romania,160,161 +469,1054,260,Anne of_Bourbon-Parma /,Anne of_Bourbon-Parma,,F,18 SEP 1923,"Paris,France",NA,NA,Princess,399,161 +470,426,552,Frederica of_Hanover Hanover/,Frederica of_Hanover,Hanover,F,18 APR 1917,"Blankenburg,Harz,Germany",6 FEB 1981,"Madrid,Spain",Princess,198,162 +471,470,232,Constantine_II Oldenburg/,Constantine_II,Oldenburg,M,2 JUN 1940,Psychiko,NA,NA,King of Greece,162,163 +472,1059,608,Anne-Marie of_Denmark /,Anne-Marie of_Denmark,,F,30 AUG 1946,"Copenhagen,Denmark",NA,NA,NA,402,163 +473,1066,1065,Aspasia Manos/,Aspasia,Manos,F,4 SEP 1896,"Athens,Greece",7 AUG 1972,"Venice,Italy",NA,403,164 +474,473,234,Alexandra of_Greece /,Alexandra of_Greece,,F,1921,NA,NA,NA,Princess,164,165 +475,436,440,Peter_II of_Yugoslavia /,Peter_II of_Yugoslavia,,M,6 SEP 1923,Belgrade,1970,NA,King,151,165 +476,101,104,Sophia /,Sophia,,F,1914,NA,NA,NA,NA,28,"168, 169" +477,NA,NA,Gottfried of_Hohenlohe- Lagenburg /,NA,,M,1897,NA,1960,NA,Prince,NA,166 +478,147,477,Five_children /,Five_children,,M,NA,NA,NA,NA,NA,166,NA +479,NA,NA,Berthold of_Baden /,Berthold of_Baden,,M,1906,NA,1963,NA,Margrave,NA,167 +480,148,479,Four_Children /,Four_Children,,M,NA,NA,NA,NA,NA,167,NA +481,NA,NA,Christopher of_Hesse /,Christopher of_Hesse,,M,1901,NA,1944,NA,Prince,NA,168 +482,NA,NA,George William of_Hanover /,NA,,M,1915,NA,NA,NA,Prince,NA,169 +483,476,482,Eight_children /,Eight_children,,M,NA,NA,NA,NA,NA,169,NA +484,NA,NA,Ludwig of_Wurttemberg /,Ludwig of_Wurttemberg,,M,NA,NA,NA,NA,Duke,NA,170 +485,575,574,Henriette /,Henriette,,F,NA,NA,NA,NA,NA,207,170 +486,348,347,Alexander of_Bulgaria /,Alexander of_Bulgaria,,M,1857,NA,1893,NA,Prince,109,172 +487,348,347,Francis Joseph /,Francis Joseph,,M,1861,NA,1924,NA,NA,109,173 +488,NA,NA,Gustav Ernst of_Erbach-Schonb /,NA,,M,1840,NA,1908,NA,Prince,NA,171 +489,NA,2623,Johanna Loisinger/,Johanna,Loisinger,F,1865,NA,1951,NA,NA,1236,172 +490,NA,NA,Anna of_Montenegro Princess /,NA,,F,NA,NA,NA,NA,NA,NA,173 +491,45,44,Alexandra Alexandrovna Romanov/,Alexandra Alexandrovna,Romanov,F,1842,NA,1849,NA,NA,11,NA +492,45,44,Nicholas Alexandrovich Romanov/,Nicholas Alexandrovich,Romanov,M,1843,NA,1865,NA,NA,11,NA +493,350,349,Louis_III of_Hesse /,Louis_III of_Hesse,,M,1806,NA,1877,NA,Grand Duke,110,"174, 1234" +494,NA,2160,Edwina Ashley/,Edwina,Ashley,F,1901,NA,1960,NA,Hon.,965,175 +495,1142,1138,Mathilde /,Mathilde,,F,1813,NA,1862,NA,Princess,432,174 +496,NA,NA,Frederica of_Hesse- Darmstadt /,NA,,F,NA,NA,NA,NA,NA,NA,520 +497,358,357,Henry /,Henry,,M,1838,NA,1900,NA,NA,114,"1240, 1241" +498,358,357,William /,William,,M,ABT 1845,NA,1900,NA,NA,114,1238 +499,358,357,Anna /,Anna,,F,1843,NA,1865,NA,NA,114,1237 +500,494,103,Patricia Mountbatten/,Patricia,Mountbatten,F,1924,NA,NA,NA,Lady,175,177 +501,494,103,Pamela Mountbatten/,Pamela,Mountbatten,F,1929,NA,NA,NA,Lady,175,178 +502,1354,155,Nadejda /,Nadejda,,F,1896,NA,1963,NA,Countess,498,176 +503,502,102,Tatiana Elizabeth Mountbatten/,Tatiana Elizabeth,Mountbatten,F,1917,NA,NA,NA,Lady,176,NA +504,502,102,David of_Milford_Haven Mountbatten/,David of_Milford_Haven,Mountbatten,M,1919,NA,14 APR 1970,NA,Marquess,176,"963, 964" +505,NA,NA,John Knatchbull Ulick/,John Knatchbull,Ulick,M,1918,NA,NA,NA,Lord Brabourne,NA,177 +506,500,505,Five_children /,Five_children,,M,NA,NA,NA,NA,NA,177,NA +507,NA,NA,David Hicks/,David,Hicks,M,1928,NA,NA,NA,NA,NA,178 +508,501,507,Two_Children /,Two_Children,,M,NA,NA,NA,NA,NA,178,NA +509,408,26,Iris Mountbatten/,Iris,Mountbatten,F,1920,NA,NA,NA,Lady,142,"967, 968, 969" +510,NA,NA,Auguste von_Harrach/,Auguste,von_Harrach,F,1800,NA,1873,NA,NA,NA,179 +511,410,162,Daughter Stillborn /,Daughter Stillborn,,F,NA,NA,NA,NA,NA,145,NA +512,1029,653,Frederick /,Frederick,,M,1833,NA,1834,NA,NA,388,NA +513,NA,NA,Rosalie of_Hohenau von_Rauch/,Rosalie of_Hohenau,von_Rauch,F,1820,NA,1879,NA,Countess,NA,181 +514,NA,NA,Himiltude /,Himiltude,,F,NA,NA,NA,NA,NA,NA,182 +515,NA,NA,Paul Frederick /,Paul Frederick,,M,1800,NA,1842,NA,Grand Duke,NA,183 +516,NA,NA,Marie of_Saxe-Weimar- Eisenach /,NA,,F,1808,NA,1877,NA,NA,NA,184 +517,NA,NA,Caroline of_Zweibrucken /,Caroline of_Zweibrucken,,F,NA,NA,NA,NA,NA,NA,81 +518,NA,NA,Cecilie of_Mecklenburg- Schwerin /,NA,,F,1886,NA,1954,NA,NA,NA,186 +519,518,420,William /,William,,M,1906,NA,1940,NA,NA,186,187 +520,518,420,Louis Ferdinand of_Prussia /,NA,,M,1907,NA,NA,NA,Prince,186,188 +521,518,420,Hubertus /,Hubertus,,M,1909,NA,1950,NA,NA,186,"189, 190" +522,518,420,Frederick /,Frederick,,M,1911,NA,1966,NA,NA,186,191 +523,518,420,Alexandrine /,Alexandrine,,F,1915,NA,1980,NA,NA,186,NA +524,518,420,Cecilie /,Cecilie,,F,1917,NA,1975,NA,NA,186,192 +525,NA,NA,Dorothea von_Salviati/,Dorothea,von_Salviati,F,1907,NA,1972,NA,NA,NA,187 +526,525,519,Dau._1 /,Dau._1,,F,NA,NA,NA,NA,NA,187,NA +527,525,519,Dau._2 /,Dau._2,,F,NA,NA,NA,NA,NA,187,NA +528,97,158,Kira of_Russia /,Kira of_Russia,,F,1909,NA,1967,NA,Grand Duchess,213,188 +529,741,740,Louis_XIII /,Louis_XIII,,M,27 SEP 1601,"Fontainebleau,France",14 MAY 1643,"Germain-en-Laye,France",King of France,271,521 +530,NA,NA,Joanna of_Austria /,Joanna of_Austria,,F,NA,NA,NA,NA,Arch Duchess,NA,489 +531,NA,NA,Francesco_I of_Tuscany Italy /,NA,,M,NA,NA,NA,NA,Grand Duke,NA,489 +532,NA,NA,Alice de_Courtenay /,Alice de_Courtenay,,F,NA,NA,NA,NA,NA,NA,351 +533,NA,NA,Aymer of_Angouleme Taillefer/,Aymer of_Angouleme,Taillefer,M,NA,NA,NA,NA,Count,NA,351 +534,528,520,Dau._2 /,Dau._2,,F,NA,NA,NA,NA,NA,188,NA +535,528,520,Dau._3 /,Dau._3,,F,NA,NA,NA,NA,NA,188,NA +536,NA,NA,Maria-Anna von_Humboldt/,Maria-Anna,von_Humboldt,F,1916,NA,NA,NA,NA,NA,189 +537,NA,NA,Magdalene Reuss/,Magdalene,Reuss,F,1920,NA,NA,NA,NA,NA,190 +538,537,521,Dau._1 /,Dau._1,,F,NA,NA,NA,NA,NA,190,NA +539,537,521,Dau._2 /,Dau._2,,F,NA,NA,NA,NA,NA,190,NA +540,NA,NA,Brigid Guinness/,Brigid,Guinness,F,1920,NA,NA,NA,Lady,NA,191 +541,540,522,Son_1 /,Son_1,,M,NA,NA,NA,NA,NA,191,NA +542,540,522,Son_2 /,Son_2,,M,NA,NA,NA,NA,NA,191,NA +543,540,522,Son_3 /,Son_3,,M,NA,NA,NA,NA,NA,191,NA +544,540,522,Dau._1 /,Dau._1,,F,NA,NA,NA,NA,NA,191,NA +545,540,522,Dau._2 /,Dau._2,,F,NA,NA,NA,NA,NA,191,NA +546,NA,NA,Clyde Harris/,Clyde,Harris,M,NA,NA,NA,NA,NA,NA,192 +547,NA,NA,Sophie Charlotte /,Sophie Charlotte,,F,1879,NA,1964,NA,NA,NA,193 +548,NA,NA,Adelheid of_Saxe- Meiningen /,NA,,F,1891,NA,1971,NA,NA,NA,194 +549,NA,NA,Alexandra of_Schleswig- /,Alexandra of_Schleswig-,,F,1887,NA,1957,NA,NA,NA,195 +550,NA,NA,Ina Maria von_Bassewitz/,Ina Maria,von_Bassewitz,F,1888,NA,1973,NA,NA,NA,196 +551,NA,NA,Marie Auguste of_Anhalt /,NA,,F,1898,NA,1983,NA,NA,NA,197 +552,254,251,Ernest Augustus of_Brunswick Hanover/,NA,Hanover,M,1887,NA,1953,NA,Duke,85,198 +553,569,568,Frederick William_II /,Frederick William_II,,M,25 SEP 1744,Berlin,16 DEC 1797,"Marmorpalais,Potsdam",King of Prussia,205,"199, 200" +554,NA,NA,Elizabeth Christine of_Brunswick /,NA,,F,8 NOV 1746,Wolfenbuttel,18 FEB 1840,Stettin,NA,NA,199 +555,554,553,Frederica Charlotte of_Prussia /,NA,,F,7 MAY 1767,Charlottenburg,6 AUG 1820,"Oatlands Park,Weybridge,Surrey,England",Princess,199,185 +556,517,246,Frederica of_Hesse- Darmstadt /,NA,,F,16 OCT 1751,Prenzlau,25 FEB 1805,Berlin,NA,81,200 +557,556,553,Christine /,Christine,,F,1772,NA,1773,NA,NA,200,NA +558,556,553,Louis /,Louis,,M,1773,NA,1796,NA,NA,200,201 +559,556,553,Wilhelmina /,Wilhelmina,,F,18 NOV 1774,Potsdam,12 OCT 1837,The Hague,NA,200,202 +560,556,553,Son Stillborn /,Son Stillborn,,M,NA,NA,NA,NA,NA,200,NA +561,556,553,Augusta /,Augusta,,F,1780,NA,1841,NA,NA,200,203 +562,556,553,Charles /,Charles,,M,1781,NA,1846,NA,NA,200,NA +563,556,553,William /,William,,M,1783,NA,1851,NA,NA,200,204 +564,NA,NA,Charles of_Mecklenburg- Strelitz /,NA,,M,NA,NA,NA,NA,Grand Duke,NA,520 +565,651,650,William_I of_Netherlands /,William_I of_Netherlands,,M,24 AUG 1772,"Oraniensaal,The Hague",12 DEC 1843,"Berlin,Germany",King,239,"202, 468" +566,NA,NA,William_II of_Hesse /,William_II of_Hesse,,M,NA,NA,NA,NA,Elector,NA,203 +567,NA,NA,Maria Anna of_Hesse /,NA,,F,1785,NA,1846,NA,NA,NA,204 +568,343,761,Augustus William /,Augustus William,,M,1722,NA,1758,NA,NA,435,205 +569,NA,NA,Louise of_Brunswick /,Louise of_Brunswick,,F,1722,NA,1780,NA,NA,NA,205 +570,569,568,Frederick Henry Charles /,NA,,M,1747,NA,1767,NA,NA,205,NA +571,569,568,Wilhelmine /,Wilhelmine,,F,1751,NA,1820,NA,NA,205,206 +572,569,568,George Charles Emil /,NA,,M,1758,NA,1759,NA,NA,205,NA +573,NA,NA,William_V of_Orange /,William_V of_Orange,,M,NA,NA,NA,NA,NA,NA,206 +574,NA,NA,Charles Christian of_Nassau-Weilb /,NA,,M,1735,NA,1788,NA,Prince,NA,207 +575,324,618,Caroline /,Caroline,,F,1743,NA,1787,NA,NA,238,207 +576,575,574,Friedrich Wilhelm of_Nassau-Weilb /,NA,,M,NA,NA,NA,NA,Prince,207,208 +577,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,208 +578,577,576,Wilhelm of_Nassau /,Wilhelm of_Nassau,,M,NA,NA,NA,NA,Duke,208,209 +579,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,209 +580,579,578,Adolphe of_Luxembourg /,Adolphe of_Luxembourg,,M,NA,NA,NA,NA,Grand Duke,209,210 +581,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,210 +582,581,580,Guillaume_IV of_Luxembourg /,Guillaume_IV of_Luxembourg,,M,NA,NA,NA,NA,Grand Duke,210,211 +583,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,211 +584,583,582,Charlotte of_Luxembourg /,Charlotte of_Luxembourg,,F,NA,NA,NA,NA,Grand Duchess,211,212 +585,NA,NA,Unknown /,Unknown,,M,NA,NA,NA,NA,NA,NA,212 +586,584,585,Jean of_Luxembourg /,Jean of_Luxembourg,,M,NA,NA,NA,NA,Grand Duke,212,NA +587,NA,NA,Marie-Josephe de_Saxe /,Marie-Josephe de_Saxe,,F,NA,NA,NA,NA,NA,NA,1185 +588,97,158,Vladimir Cyrilovitch Romanov/,Vladimir Cyrilovitch,Romanov,M,30 AUG 1917,"Near Borga,Finland,Finland",NA,NA,Grand Duke,213,"1381, 214" +589,NA,2683,Leonide Bagration- Moukhransky /,NA,,F,1914,Tiflis,NA,NA,Princess,1271,214 +590,741,740,Gaston /,Gaston,,M,1608,NA,1660,NA,Duke of Orleans,271,1372 +591,27,409,James /,James,,M,1908,NA,1975,NA,Duke of Segovia,143,"1252, 1253" +592,434,432,Dona_Maria of_Bourbon /,Dona_Maria of_Bourbon,,F,1937,NA,NA,NA,NA,149,1246 +593,434,432,Margarite /,Margarite,,F,1939,NA,NA,NA,Crown Princess,149,1247 +594,434,432,Alphonso /,Alphonso,,M,1941,NA,1956,",,Portugal",Crown Prince,149,NA +595,485,484,Maria /,Maria,,F,NA,NA,NA,NA,NA,170,255 +596,NA,1883,Isabella Marshal/,Isabella,Marshal,F,9 OCT 1200,Pembroke Castle,15 JAN 1240,Berkhamsted,Lady,778,599 +597,459,458,Charles of_Sweden /,Charles of_Sweden,,M,1861,NA,1951,NA,Prince,156,215 +598,605,604,Ingeborg of_Denmark /,Ingeborg of_Denmark,,F,1878,NA,1958,NA,NA,218,215 +599,598,597,Astrid of_Sweden /,Astrid of_Sweden,,F,17 NOV 1905,NA,29 AUG 1935,"Kussnacht,Switzerland",Princess,215,216 +600,1119,1118,Leopold_III /,Leopold_III,,M,3 NOV 1901,"Brussels,Belgium",25 SEP 1983,"Near Brussels,Belgium",King of Belgium,423,"216, 429" +601,599,600,Baudouin_I of_the_Belgians /,Baudouin_I of_the_Belgians,,M,7 SEP 1930,"Chateau de,Stuyvenberg",NA,NA,King,216,426 +602,NA,NA,Sibylla of_Saxe-Coburg /,Sibylla of_Saxe-Coburg,,F,1908,NA,1971,NA,NA,NA,217 +603,602,445,Carl_XVI Gustav /,Carl_XVI Gustav,,M,30 APR 1946,Haga Castle,NA,NA,King of Sweden,217,220 +604,226,225,Frederick_VIII /,Frederick_VIII,,M,3 JUN 1843,"Copenhagen,Denmark",14 MAY 1912,"Hamburg,Germany",King of Denmark,74,218 +605,1028,1027,Louise of_Sweden /,Louise of_Sweden,,F,31 OCT 1851,"Stockholm,Sweden",20 MAR 1926,Amalienborg,NA,387,218 +606,605,604,Christian_X /,Christian_X,,M,26 SEP 1870,"Charlottenlund,Nr: Copenhagen,Denmark",20 APR 1947,Amalienborg,King of Denmark,218,219 +607,2696,2695,Alexandrine of_Mecklenburg- Schwerin /,NA,,F,24 DEC 1879,Schwerin,28 DEC 1952,Copenhagen,NA,1278,219 +608,607,606,Frederick_IX /,Frederick_IX,,M,11 MAR 1899,"Sorgenfri,Nr: Copenhagen,Denmark",14 JAN 1972,"Copenhagen,Denmark",King of Denmark,219,402 +609,472,471,Alexia Oldenburg/,Alexia,Oldenburg,M,1965,NA,NA,NA,NA,163,NA +610,1059,608,Mergrethe_II /,Mergrethe_II,,F,16 APR 1940,"Copenhagen,Denmark",NA,NA,Queen of Denmark,402,626 +611,NA,NA,Johann Georg_II of_Anhalt-Dessau /,NA,,M,NA,NA,1693,NA,Prince,NA,221 +612,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,221 +613,612,611,Leopold_I of_Anhalt-Dessau /,Leopold_I of_Anhalt-Dessau,,M,NA,NA,NA,NA,Prince,221,244 +614,612,611,Henriette Amalie /,Henriette Amalie,,F,NA,NA,NA,NA,NA,221,222 +615,NA,NA,Heinrich Kasimir of_Nassau-Dietz /,NA,,M,NA,NA,NA,NA,Prince,NA,222 +616,614,615,John William of_Orange Friso/,NA,Friso,M,1686,NA,1711,NA,Prince,222,223 +617,NA,NA,Mary Louise /,Mary Louise,,F,1688,NA,1765,NA,NA,NA,223 +618,617,616,William_IV of_Orange /,William_IV of_Orange,,M,1711,NA,1751,NA,Prince,223,238 +619,617,616,Charlotte Amalia /,Charlotte Amalia,,F,1710,NA,1777,NA,NA,223,224 +620,NA,NA,Friedrich of_Baden-Durlach /,Friedrich of_Baden-Durlach,,M,1703,NA,1732,NA,Prince,NA,224 +621,619,620,Karl Friedrich of_Baden /,NA,,M,NA,NA,NA,NA,Grand Duke,224,225 +622,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,225 +623,622,621,Karl Ludwig of_Baden /,NA,,M,NA,NA,NA,NA,Prince,225,226 +624,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,226 +625,624,623,Karl of_Baden /,Karl of_Baden,,M,NA,NA,NA,NA,Grand Duke,226,227 +626,624,623,Caroline of_Baden /,Caroline of_Baden,,F,13 JUL 1776,Karlsruhe,13 NOV 1841,"Munich,Germany",NA,226,232 +627,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,227 +628,627,625,Marie /,Marie,,F,NA,NA,NA,NA,NA,227,228 +629,NA,NA,William Alexander of_Hamilton /,NA,,M,NA,NA,NA,NA,Duke,NA,228 +630,628,629,Mary /,Mary,,F,NA,NA,NA,NA,NA,228,229 +631,NA,NA,Albert_I of_Monaco /,Albert_I of_Monaco,,M,NA,NA,NA,NA,Prince,NA,229 +632,630,631,Louis_II of_Monaco /,Louis_II of_Monaco,,M,NA,NA,NA,NA,Prince,229,230 +633,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,230 +634,633,632,Charlotte /,Charlotte,,F,NA,NA,NA,NA,NA,230,231 +635,NA,NA,Pierre de_Polignac/,Pierre,de_Polignac,M,NA,NA,NA,NA,Prince,NA,231 +636,634,635,Rainier_III of_Monaco /,Rainier_III of_Monaco,,M,NA,NA,NA,NA,Prince,231,NA +637,NA,NA,Maximilian_I Joseph Wittelsbach/,Maximilian_I Joseph,Wittelsbach,M,27 MAY 1756,"Mannheim,Germany",13 OCT 1825,"Schloss,Nymphenburg,Germany",King of Bavaria,NA,"431, 232" +638,626,637,Sophie (twin) Wittelsbach/,Sophie (twin),Wittelsbach,F,1805,NA,1872,NA,NA,232,233 +639,NA,NA,Franz Karl of_Austria /,NA,,M,NA,NA,NA,NA,Archduke,NA,233 +640,647,646,Otto /,Otto,,M,NA,NA,NA,NA,NA,236,234 +641,647,646,Elisabeth Amalia /,Elisabeth Amalia,,F,NA,NA,NA,NA,NA,236,237 +642,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,234 +643,642,640,Karl_I of_Austria /,Karl_I of_Austria,,M,NA,NA,NA,NA,Emperor,234,235 +644,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,235 +645,644,643,Otto of_Austria /,Otto of_Austria,,M,NA,NA,NA,NA,Archduke,235,NA +646,638,639,Karl Ludwig /,Karl Ludwig,,M,NA,NA,NA,NA,NA,233,236 +647,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,236 +648,NA,NA,Aloys of_Liechtenstein /,Aloys of_Liechtenstein,,M,NA,NA,NA,NA,Prince,NA,237 +649,641,648,Franz_Joseph_II of_Liechtenstein /,Franz_Joseph_II of_Liechtenstein,,M,NA,NA,NA,NA,Prince,237,NA +650,324,618,William_V of_Orange /,William_V of_Orange,,M,1748,NA,1806,NA,Prince,238,239 +651,NA,NA,Wilhelmina /,Wilhelmina,,F,1751,NA,1820,NA,NA,NA,239 +652,559,565,William_II of_Netherlands /,William_II of_Netherlands,,M,6 DEC 1792,"The Hague,Netherlands",17 MAR 1849,Tilburg,King,202,240 +653,559,565,Frederik of_Netherlands /,Frederik of_Netherlands,,M,1797,NA,1881,NA,Prince,202,388 +654,1295,1294,Anna Pavlovna /,Anna Pavlovna,,F,18 JAN 1795,"St. Petersburg,Russia",1 MAR 1865,The Hague,NA,469,240 +655,654,652,William_III of_Netherlands /,William_III of_Netherlands,,M,19 FEB 1817,"Brussels,Belgium",23 NOV 1890,Het Loo,King,240,"447, 241" +656,1216,19,Emma of_Netherlands /,Emma of_Netherlands,,F,2 AUG 1858,Arolsen,20 MAR 1934,The Hague,Queen Regent,67,241 +657,656,655,Wilhelmina of_Netherlands /,Wilhelmina of_Netherlands,,F,31 AUG 1880,"The Hague,Netherlands",28 NOV 1962,Het Loo,Queen,241,242 +658,1214,1213,Henry of_Mecklenburg /,Henry of_Mecklenburg,,M,19 APR 1876,Schwerin,3 JUL 1934,"The Hague,Netherlands",Duke,445,242 +659,657,658,Juliana of_Netherlands /,Juliana of_Netherlands,,F,30 APR 1909,"The Hague,Netherlands",NA,NA,Queen,242,243 +660,NA,NA,Bernhard of_Lippe- Biesterfeld /,NA,,M,29 JUN 1911,Jena,NA,NA,Prince,NA,243 +661,659,660,Beatrix of_Netherlands /,Beatrix of_Netherlands,,F,31 JAN 1938,"Soetdijk,Palace,Netherlands",NA,NA,Queen,243,443 +662,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,244 +663,662,613,Leopold_II of_Anhalt-Dessau /,Leopold_II of_Anhalt-Dessau,,M,NA,NA,NA,NA,Prince,244,245 +664,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,245 +665,664,663,Agnes /,Agnes,,F,NA,NA,NA,NA,NA,245,246 +666,NA,NA,Johann Just/,Johann,Just,M,NA,NA,NA,NA,Baron von Loen,NA,246 +667,665,666,Agnes /,Agnes,,F,NA,NA,NA,NA,NA,246,247 +668,NA,NA,Ernst von_Seherr-Thoss /,Ernst von_Seherr-Thoss,,M,NA,NA,NA,NA,Count,NA,247 +669,667,668,Hermann von_Seherr-Thoss /,Hermann von_Seherr-Thoss,,M,NA,NA,NA,NA,Count,247,248 +670,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,248 +671,670,669,Marguerite /,Marguerite,,F,NA,NA,NA,NA,NA,248,249 +672,NA,NA,Lajos Apponyi_de Nagy-Appony /,NA,,M,NA,NA,NA,NA,Count,NA,249 +673,671,672,Cyula Apponyi_de Nagy-Appony /,NA,,M,NA,NA,NA,NA,Count,249,250 +674,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,250 +675,674,673,Geraldine /,Geraldine,,F,NA,NA,NA,NA,NA,250,251 +676,NA,NA,Zog_I of_Albania /,Zog_I of_Albania,,M,NA,NA,NA,NA,King,NA,251 +677,675,676,Leka_I of_Albania /,Leka_I of_Albania,,M,NA,NA,NA,NA,King,251,NA +678,NA,NA,Karl of_Austria /,Karl of_Austria,,M,NA,NA,NA,NA,Archduke,NA,252 +679,NA,NA,Henriette /,Henriette,,F,NA,NA,NA,NA,NA,NA,252 +680,679,678,Karl Ferdinand /,Karl Ferdinand,,M,NA,NA,NA,NA,NA,252,253 +681,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,253 +682,681,680,Maria Cristina of_Austria /,NA,,F,1858,NA,1929,NA,Queen of Spain,253,254 +683,1244,1245,Alfonso_XII /,Alfonso_XII,,M,1857,"Madrid,Spain",1885,NA,King of Spain,453,"1243, 254" +684,NA,NA,Joseph of_Austria /,Joseph of_Austria,,M,NA,NA,NA,NA,Archduke,NA,255 +685,595,684,Elisabeth of_Austria /,Elisabeth of_Austria,,F,NA,NA,NA,NA,Archduchess,255,256 +686,NA,NA,Ferdinand of_Austria-Este /,Ferdinand of_Austria-Este,,M,NA,NA,NA,NA,Archduke,NA,256 +687,685,686,Maria Theresa /,Maria Theresa,,F,2 JUL 1849,Brunn,3 FEB 1919,"Schloss,Wildenwart",NA,256,257 +688,1179,1150,Ludwig_III Wittelsbach/,Ludwig_III,Wittelsbach,M,7 JAN 1845,"Munich,Germany",18 OCT 1921,"Sarvar,Hungary",King of Bavaria,438,257 +689,687,688,Rupprecht of_Bavaria /,Rupprecht of_Bavaria,,M,1869,NA,1955,NA,Crown Prince,257,"258, 439" +690,1202,1197,Maria Gabriele of_Bavaria /,NA,,F,1878,NA,1912,NA,NA,441,258 +691,690,689,Albrecht (Albert) /,Albrecht (Albert),,M,1905,NA,NA,NA,Duke of Bavaria,258,NA +692,1631,1630,George of_Denmark /,George of_Denmark,,M,2 APR 1653,"Copenhagen,Denmark",28 OCT 1708,"Kensington,Palace,,England",Prince,637,259 +693,707,706,Anne Stuart/,Anne,Stuart,F,6 FEB 1665,"St. James Palace,London,England",1 AUG 1714,"Kensington,Palace,London,England",Queen of England,260,259 +694,693,692,Daughter /,Daughter,,F,12 MAY 1684,NA,12 MAY 1684,NA,NA,259,NA +695,693,692,Mary /,Mary,,F,2 JUN 1685,"Whitehall,,England",8 FEB 1687,"Windsor Castle,Berkshire,England",NA,259,NA +696,693,692,Anne Sophia /,Anne Sophia,,F,12 MAY 1686,"Windsor Castle,Berkshire,England",2 FEB 1687,"Windsor Castle,Berkshire,England",NA,259,NA +697,693,692,Son /,Son,,M,22 OCT 1687,NA,22 OCT 1687,NA,NA,259,NA +698,693,692,William of_Gloucester /,William of_Gloucester,,M,24 JUL 1689,"Hampton Court,Palace,England",30 JUL 1700,"Windsor Castle,Berkshire,England",Duke,259,NA +699,693,692,Mary /,Mary,,F,14 OCT 1690,"St. James Palace,London,England",14 OCT 1690,"St. James Palace,London,England",NA,259,NA +700,693,692,George /,George,,M,17 APR 1692,"Syon House,Brentford,Middlesex,England",17 APR 1692,"Syon House,Brentford,Middlesex,England",NA,259,NA +701,693,692,Daughter /,Daughter,,F,23 MAR 1693,"Berkeley House,,England",23 MAR 1693,"Berkeley House,,England",NA,259,NA +702,693,692,Daughter /,Daughter,,F,18 FEB 1696,NA,18 FEB 1696,NA,NA,259,NA +703,693,692,Son /,Son,,M,20 SEP 1696,"Windsor,Berkshire,England",20 SEP 1696,"Windsor,Berkshire,England",NA,259,NA +704,693,692,Son /,Son,,M,15 SEP 1698,NA,15 SEP 1698,NA,NA,259,NA +705,693,692,Daughter /,Daughter,,F,25 JAN 1700,NA,25 JAN 1700,NA,NA,259,NA +706,739,730,James_II Stuart/,James_II,Stuart,M,14 OCT 1633,"St. James Palace,London,England",6 SEP 1701,"St. Germain-,en-Laye,France",King of England,270,"260, 261" +707,NA,2127,Anne Hyde/,Anne,Hyde,F,12 MAR 1637/1638,"Cranbourne Lodge,Near,Windsor,England",31 MAR 1671,"St. James Palace,London,England",NA,944,260 +708,707,706,Charles of_Cambridge /,Charles of_Cambridge,,M,22 OCT 1660,"Worcester House,London,England",5 MAY 1661,Whitehall,Duke,260,NA +709,707,706,Mary_II /,Mary_II,,F,30 APR 1662,"St. James Palace,London,England",28 DEC 1694,"Kensington,Palace,London,England",Queen of England,260,276 +710,707,706,James of_Cambridge /,James of_Cambridge,,M,12 JUL 1663,"St. James Palace,London,England",22 MAY 1667,"St. James Palace,London,England",Duke,260,NA +711,707,706,Charles /,Charles,,M,4 JUL 1666,"St. James Palace,London,England",20 JUN 1667,"Richmond Palace,,England",Duke of Kendal,260,NA +712,707,706,Edgar of_Cambridge /,Edgar of_Cambridge,,M,14 SEP 1667,"St. James Palace,London,England",15 NOV 1669,"Richmond Palace,London,England",Duke,260,NA +713,707,706,Henrietta /,Henrietta,,F,13 JAN 1669,"Whitehall,,England",15 NOV 1669,"St. James Palace,,England",NA,260,NA +714,707,706,Catherine /,Catherine,,F,9 FEB 1671,"Whitehall,,England",5 DEC 1671,"St. James Palace,,England",NA,260,NA +715,756,755,Mary Beatrice of_Modena /,NA,,F,25 SEP 1658,NA,7 MAY 1718,"St. Germain-,en-Laye,France",NA,275,261 +716,715,706,Catherine Laura Stuart/,Catherine Laura,Stuart,F,10 JAN,"St. James Palace,London,England",3 OCT 1675,"St. James Palace,London,England",NA,261,NA +717,715,706,Charles of_Cambridge Stuart/,Charles of_Cambridge,Stuart,M,7 NOV 1677,"St. James Palace,London,England",12 DEC 1677,"St. James Palace,London,England",Duke,261,NA +718,715,706,Charlotte Maria Stuart/,Charlotte Maria,Stuart,F,16 AUG 1682,"St. James Palace,London,England",6 OCT 1682,"St. James Palace,London,England",NA,261,NA +719,715,706,James Francis Edward Stuart/,NA,Stuart,M,10 JUN 1688,"St. James Palace,London,England",1 JAN 1766,"Rome,,Italy",Prince of Wales,261,262 +720,715,706,Louisa Maria Theresa Stuart/,NA,Stuart,F,28 JUN 1692,"St. Germain-,en-Laye,France",8 APR 1712,"St. Germain-,en-Laye,France",NA,261,NA +721,NA,2137,Maria Casimire Clementina Sobieska/,NA,Sobieska,F,18 JUL 1702,NA,18 JAN 1735,"Rome,,Italy",NA,952,262 +722,721,719,Charles Edward Louis Stuart/,NA,Stuart,M,31 DEC 1720,"Rome,,Italy",31 JAN 1788,"Rome,,Italy",NA,262,263 +723,721,719,Henry Benedict Thomas Stuart/,NA,Stuart,M,6 MAR 1725,"Rome,,Italy",13 JUL 1807,"Frascati,,Italy",Duke of York,262,NA +724,NA,2139,Louise Maximilienne Caroline /,NA,,F,10 SEP 1752,Mons,29 JAN 1824,"Florence,,Italy",NA,954,263 +725,1247,1249,James_I Stuart/,James_I,Stuart,M,19 JUN 1566,"Edinburgh Castle,,Scotland",27 MAR 1625,"Theobalds Park,Hertfordshire,Herts,England",King of England,455,264 +726,738,737,Anne of_Denmark /,Anne of_Denmark,,F,14 OCT 1574,"Skanderborg,Castle",4 MAR 1619,"Hampton Court,Palace",NA,268,264 +727,726,725,Henry Frederick Stuart/,Henry Frederick,Stuart,M,19 FEB 1594,Stirling Castle,6 NOV 1612,"St. James Palace,,England",Prince of Wales,264,NA +728,726,725,Elizabeth Stuart/,Elizabeth,Stuart,F,19 AUG 1596,Dunfermline,13 FEB 1662,"Leicester House,London,England",NA,264,265 +729,726,725,Margaret Stuart/,Margaret,Stuart,F,24 DEC 1598,Dalkeith Palace,MAR 1600,Linlithgow,NA,264,NA +730,726,725,Charles_I Stuart/,Charles_I,Stuart,M,19 NOV 1600,"Dunfermline,Scotland",30 JAN 1649,"Whitehall Palace,,England",King of England,264,270 +731,726,725,Robert Stuart/,Robert,Stuart,M,18 JAN 1602,Dunfermline,27 MAY 1602,Dunfermline,Duke of Kintyre,264,NA +732,726,725,Son /,Son,,M,MAY 1603,Stirling,MAY 1603,Stirling,NA,264,NA +733,726,725,Mary Stuart/,Mary,Stuart,F,8 APR 1605,Greenwich Palace,16 SEP 1607,"Stanwell Park,Middlesex,England",NA,264,NA +734,726,725,Sophia Stuart/,Sophia,Stuart,F,22 JUN 1606,Greenwich Palace,23 JUN 1606,Greenwich Palace,NA,264,NA +735,NA,NA,Frederick_V of_Palatinate /,Frederick_V of_Palatinate,,M,1596,NA,1632,NA,King of Bohemia,NA,265 +736,728,735,Sophia Hanover/,Sophia,Hanover,F,1630,NA,1714,NA,NA,265,266 +737,1633,1632,Frederick_II of_Denmark and_Norway /,NA,,M,1 JUL 1534,Haderslevhus,4 APR 1588,"Antvorslev,Castle",King,638,268 +738,NA,NA,Sophia of_Mecklenburg- Gustrow /,NA,,F,4 SEP 1557,Wismar,4 OCT 1631,Nykobing,NA,NA,268 +739,741,740,Henrietta Maria of_France /,NA,,F,26 NOV 1609,"Hotel du Louvre,Paris,France",31 AUG 1669,"Colombe,Near Paris,France",NA,271,270 +740,198,1215,Henry_IV the_Great /,Henry_IV the_Great,,M,13 DEC 1553,"Pau,Navarre,France",14 MAY 1610,"Paris,France",King of France,446,"1184, 271" +741,530,531,Marie de'_Medici/,Marie,de'_Medici,F,1573,NA,1642,NA,NA,489,271 +742,739,730,Charles James Stuart/,Charles James,Stuart,M,13 MAY 1629,Greenwich Palace,13 MAY 1629,Greenwich Palace,Duke of Cornwall,270,NA +743,739,730,Charles_II Stuart/,Charles_II,Stuart,M,29 MAY 1630,"St. James Palace,London,England",6 FEB 1685,"Whitehall Palace,,England",King of England,270,273 +744,739,730,Mary Stuart/,Mary,Stuart,F,4 NOV 1631,"St. James Palace,London,England",24 DEC 1660,"Whitehall Palace,,England",Princess Royal,270,269 +745,739,730,Elizabeth Stuart/,Elizabeth,Stuart,F,29 DEC 1635,"St. James Palace,London,England",8 SEP 1650,"Carisbrooke,Castle,Isle of Wight,England",NA,270,NA +746,739,730,Anne Stuart/,Anne,Stuart,F,17 MAR 1637,"St. James Palace,London,England",5 NOV 1640,"Richmond Palace,,England",NA,270,NA +747,739,730,Catherine Stuart/,Catherine,Stuart,F,29 JUN 1639,"Whitehall Palace,,England",29 JUN 1639,"Whitehall Palace,,England",NA,270,NA +748,739,730,Henry of_Gloucester Stuart/,Henry of_Gloucester,Stuart,M,8 JUL 1640,"Oatlands,Surrey,England",13 SEP 1660,Whitehall Palace,Duke,270,NA +749,739,730,Henrietta Anne Stuart/,Henrietta Anne,Stuart,F,16 JUN 1644,"Bedford House,Exeter,England",30 JUN 1670,St. Cloud,NA,270,272 +750,NA,NA,William_II of_Orange /,William_II of_Orange,,M,1626,NA,1650,NA,Prince,NA,269 +751,920,529,Philippe of_Orleans /,Philippe of_Orleans,,M,1641,NA,1701,NA,Duke,521,"272, 1373" +752,754,753,Catherine of_Braganza /,Catherine of_Braganza,,F,25 NOV 1638,"Vila Vicosa,Lisbon,Portugal",31 DEC 1705,"Bemposta,Palace,Lisbon,Portugal",NA,274,273 +753,NA,NA,John_IV the_Fortunate /,John_IV the_Fortunate,,M,1605,NA,1656,NA,King of Portugal,NA,274 +754,NA,NA,Luiza Maria de_Guzman/,Luiza Maria,de_Guzman,F,NA,NA,NA,NA,NA,NA,274 +755,NA,NA,Alfonso_IV d'Este/,Alfonso_IV,d'Este,M,NA,NA,NA,NA,Duke of Modena,NA,275 +756,NA,NA,Laura Mortinozzi/,Laura,Mortinozzi,F,NA,NA,NA,NA,NA,NA,275 +757,744,750,William_III of_Orange Stuart/,William_III of_Orange,Stuart,M,14 NOV 1650,"The Hague,Netherlands",19 MAR 1702,"Kensington,Palace,England",King of England,269,276 +758,NA,NA,Ernest Augustus of_Brunswick /,NA,,M,1629,NA,1698,NA,Duke,NA,266 +759,NA,NA,George_I of_Saxe- Meiningen /,NA,,M,NA,NA,NA,NA,Duke,NA,277 +760,NA,NA,Louisa Eleonora of_Hohenlohe- /,NA,,F,NA,NA,NA,NA,Princess,NA,277 +761,771,772,Frederick William_I /,Frederick William_I,,M,14 AUG 1688,"Berlin,Germany",31 MAY 1740,"Potsdam,Germany",King of Prussia,267,435 +762,NA,2144,Maria of_Waldegrave Walpole/,Maria of_Waldegrave,Walpole,F,NA,NA,1790,NA,Countess,957,"958, 279" +763,NA,NA,Anne Horton/,Anne,Horton,F,NA,NA,1808,NA,Hon.,NA,280 +764,331,344,Christian_VII /,Christian_VII,,M,29 JAN 1749,"Copenhagen,Denmark",13 MAR 1808,Rendsborg,King of Denmark,107,281 +765,728,735,Charles Louis /,Charles Louis,,M,NA,NA,1680,NA,Elector Palatine,265,940 +766,728,735,Rupert of_Cumberland /,Rupert of_Cumberland,,M,1619,NA,1682,NA,Duke,265,NA +767,728,735,Maurice /,Maurice,,M,NA,NA,1654,NA,NA,265,NA +768,728,735,Edward /,Edward,,M,NA,NA,NA,NA,NA,265,942 +769,NA,2120,Charlotte Landgrave/,Charlotte,Landgrave,F,NA,NA,NA,NA,NA,941,940 +770,736,758,Ernest Augustus /,Ernest Augustus,,M,NA,NA,NA,NA,Duke of York,266,NA +771,736,758,Sophia Charlotte /,Sophia Charlotte,,F,20 OCT 1668,"Schloss Iburg,Near,Osnabruck",1 FEB 1705,Hanover,NA,266,267 +772,NA,NA,Frederick_I /,Frederick_I,,M,11 JUL 1657,"Konigsberg,Prussia",25 FEB 1713,"Berlin,Germany",King of Prussia,NA,"436, 267, 437" +773,1255,1254,Henry_VII Tudor/,Henry_VII,Tudor,M,28 JAN 1457,"Pembroke Castle,Pembrokeshire,England",21 APR 1509,"Richmond Palace,Richmond Surrey,England",King of England,461,282 +774,998,991,Elizabeth of_York /,Elizabeth of_York,,F,11 FEB 1466,"Westminster,Palace,London,England",11 FEB 1503,"Tower of London,London,England",NA,373,282 +775,774,773,Arthur Tudor/,Arthur,Tudor,M,20 SEP 1486,"St. Swithin's,Priory,Winchester,England",2 APR 1502,Ludlow Castle,Prince of Wales,282,313 +776,774,773,Margaret Tudor/,Margaret,Tudor,F,28 NOV 1489,"Westminster,Palace,London,England",18 OCT 1541,Methven Castle,NA,282,"314, 529, 316" +777,NA,NA,John Crocker Bulteel/,John Crocker,Bulteel,M,NA,NA,1843,NA,NA,NA,283 +778,NA,NA,Elizabeth Grey/,Elizabeth,Grey,F,NA,NA,1880,NA,Lady,NA,283 +779,2302,2301,Horace Beauchamp Seymour/,Horace Beauchamp,Seymour,M,1791,NA,1856,NA,Sir,1019,284 +780,NA,NA,Elizabeth Malet Palk/,Elizabeth Malet,Palk,F,NA,NA,1827,NA,NA,NA,284 +781,1292,1291,George John Spencer/,George John,Spencer,M,1758,NA,1834,NA,Earl of Spencer,467,285 +782,NA,1729,Lavinia Bingham/,Lavinia,Bingham,F,NA,NA,1831,NA,Lady,682,285 +783,NA,NA,Henry Baring/,Henry,Baring,M,NA,NA,1848,NA,NA,NA,286 +784,NA,NA,Cecilia Anne Windham/,Cecilia Anne,Windham,F,NA,NA,1874,NA,NA,NA,286 +785,NA,NA,/,NA,,M,NA,NA,1870,NA,Earl Howe I,NA,287 +786,NA,NA,Anne Gore/,Anne,Gore,F,NA,NA,1877,NA,NA,NA,287 +787,NA,1722,Louisa Jane Russell/,Louisa Jane,Russell,F,NA,NA,1905,NA,Lady,675,288 +788,NA,NA,/,NA,,M,NA,NA,1885,NA,Duke Albercorn I,NA,288 +789,NA,1728,George Charles Bingham/,George Charles,Bingham,M,1800,NA,1888,NA,Earl of Lucan,681,289 +790,NA,NA,Anne Brudenell/,Anne,Brudenell,F,NA,NA,1877,NA,Lady,NA,289 +791,NA,NA,Caroline Paget/,Caroline,Paget,F,NA,NA,1874,NA,Lady,NA,290 +792,NA,1716,Charles Lennox of_Richmond /,NA,,M,1791,NA,1860,NA,Duke,671,290 +793,NA,NA,David Gill/,David,Gill,M,NA,NA,NA,NA,NA,NA,291 +794,NA,NA,Sarah Ogston/,Sarah,Ogston,F,NA,NA,NA,NA,NA,NA,291 +795,NA,NA,William Smith Marr/,William Smith,Marr,M,NA,NA,1898,NA,NA,NA,292 +796,NA,NA,Helen Bean/,Helen,Bean,F,NA,NA,1852,NA,NA,NA,292 +797,NA,NA,William Littlejohn/,William,Littlejohn,M,NA,NA,1888,NA,NA,NA,293 +798,NA,NA,Janet Bentley/,Janet,Bentley,F,NA,NA,1848,NA,NA,NA,293 +799,NA,NA,James Crombie/,James,Crombie,M,NA,NA,1878,NA,NA,NA,294 +800,NA,NA,Katherine Scott Forbes/,Katherine Scott,Forbes,F,NA,NA,1893,NA,NA,NA,294 +801,319,107,Gabriella Marina Alexandra Windsor/,NA,Windsor,F,23 APR 1981,",,England",NA,NA,Lady,103,NA +802,NA,NA,Thomas Troubridge/,Thomas,Troubridge,M,NA,NA,NA,NA,NA,NA,295 +803,NA,NA,John_Charles of_Buccleuch VII /,NA,,M,NA,NA,NA,NA,Duke,NA,296 +804,NA,NA,Peter Shand-Kydde/,Peter,Shand-Kydde,M,NA,NA,NA,NA,NA,NA,"297, 298" +805,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,298 +806,2996,2995,Barbara Cartland/,Barbara,Cartland,F,JUL 1900,NA,NA,NA,Dame,1418,"299, 1415" +807,NA,810,Robert Fellowes/,Robert,Fellowes,M,1941,NA,NA,NA,Sir,302,300 +808,241,807,Laura Jane Fellowes/,Laura Jane,Fellowes,F,JUL 1980,NA,NA,NA,NA,300,NA +809,NA,NA,Neil McCorquodale/,Neil,McCorquodale,M,1951,NA,NA,NA,NA,NA,301 +810,NA,NA,William Fellowes/,William,Fellowes,M,NA,NA,NA,NA,Sir,NA,302 +811,2947,814,Andrew Ferguson/,Andrew,Ferguson,M,1899,NA,1966,NA,Major,304,303 +812,NA,2946,Marian -Scott Montagu-Douglas-/,Marian -Scott,Montagu-Douglas-,F,1980,NA,NA,NA,NA,1393,303 +813,812,811,John Andrew Ferguson/,John Andrew,Ferguson,M,NA,NA,NA,NA,NA,303,NA +814,NA,815,Algernon Francis Ferguson/,Algernon Francis,Ferguson,M,1867,NA,1943,NA,Brig. Gen.,305,304 +815,817,816,John Ferguson/,John,Ferguson,M,NA,NA,NA,NA,Colonel,306,305 +816,NA,818,Thomas Ferguson/,Thomas,Ferguson,M,NA,NA,NA,NA,NA,307,306 +817,NA,NA,Emma Benyon/,Emma,Benyon,F,NA,NA,NA,NA,NA,NA,306 +818,NA,819,John Ferguson/,John,Ferguson,M,NA,NA,NA,NA,NA,308,307 +819,NA,NA,James Ferguson/,James,Ferguson,M,NA,NA,1789,NA,Dr.,NA,308 +820,2937,2936,Fitzherbert Wright/,Fitzherbert,Wright,M,1905,NA,1975,NA,NA,1387,309 +821,NA,2933,Doreen Wingfield/,Doreen,Wingfield,F,1904,NA,NA,NA,Hon.,1385,309 +822,170,169,Jane Louisa Ferguson/,Jane Louisa,Ferguson,F,26 AUG 1957,",,England",NA,NA,NA,54,312 +823,NA,NA,Hector Barrantes/,Hector,Barrantes,M,ABT 1939,NA,10 AUG 1990,"Buenos Aires,Argentina",NA,NA,"310, 311" +824,NA,NA,Louise /,Louise,,F,NA,NA,ABT 1967,"Buenos Aires,,Argentina",NA,NA,310 +825,NA,NA,Alex Makim/,Alex,Makim,M,ABT 1951,NA,NA,NA,NA,NA,312 +826,822,825,Seamus Makim/,Seamus,Makim,M,ABT 1980,NA,NA,NA,NA,312,NA +827,168,60,Beatrice Elizabeth Mary Windsor/,NA,Windsor,F,8 AUG 1988,"Portland Hosp.,,England",NA,NA,Princess,53,NA +828,774,773,Henry_VIII Tudor/,Henry_VIII,Tudor,M,28 JUN 1491,"Greenwich Palace,,England",28 JAN 1547,"Whitehall,London,England",King of England,282,"319, 321, 322, 323, 325, 327" +829,774,773,Elizabeth Tudor/,Elizabeth,Tudor,F,2 JUL 1492,NA,14 SEP 1495,"Eltham Palace,,England",NA,282,NA +830,774,773,Mary Tudor/,Mary,Tudor,F,18 MAR 1496,"Richmond Palace,,England",25 JUN 1533,"Westhorpe,Suffolk,England",NA,282,"317, 318" +831,774,773,Edmund Tudor/,Edmund,Tudor,M,21 FEB 1499,"Greenwich,Palace,England",19 JUN 1500,"Bishops Hatfield,Herts,England",NA,282,NA +832,774,773,Katherine Tudor/,Katherine,Tudor,F,2 FEB 1503,"Tower of London,,England",1503,",,England",NA,282,NA +833,841,840,Catherine of_Aragon /,Catherine of_Aragon,,F,15 DEC 1485,"Near Madrid,,Spain",7 JAN 1536,"Kimbolton Castle,Hunts,England",NA,320,"313, 319" +834,1469,1252,James_IV /,James_IV,,M,1473,NA,9 SEP 1513,NA,King of Scotland,460,314 +835,776,834,James_V /,James_V,,M,1512,"Linlithgow,,Scotland",1542,NA,King of Scotland,314,"458, 459" +836,NA,NA,Archibald Douglas/,Archibald,Douglas,M,NA,NA,ABT 1557,NA,Earl of Angus VI,NA,529 +837,NA,NA,Henry Stewart/,Henry,Stewart,M,NA,NA,ABT 1551,NA,Lord Methven I,NA,316 +838,2546,1260,Louis_XII /,Louis_XII,,M,27 JUN 1462,"Blois,France",1 JAN 1515,"Paris,France",King of France,462,"1151, 1201, 317" +839,NA,NA,Charles Brandon/,Charles,Brandon,M,NA,NA,1545,NA,Duke of Suffolk,NA,318 +840,NA,NA,Ferdinand_V /,Ferdinand_V,,M,1452,NA,1516,NA,King of Aragon,NA,"320, 1353" +841,2443,2442,Isabella /,Isabella,,F,1451,NA,1504,NA,Queen of Castile,1152,320 +842,833,828,Daughter Tudor/,Daughter,Tudor,F,31 JAN 1510,NA,31 JAN 1510,NA,NA,319,NA +843,833,828,Henry_(1) Tudor/,Henry_(1),Tudor,M,1 JAN 1511,"Richmond Palace,,England",22 FEB 1511,"Richmond Palace,,England",Duke of Cornwall,319,NA +844,833,828,Henry_(2) Tudor/,Henry_(2),Tudor,M,NOV 1513,"Richmond Palace,,England",NOV 1513,"Richmond Palace,,England",Duke of Cornwall,319,NA +845,833,828,Son Tudor/,Son,Tudor,M,DEC 1514,NA,DEC 1514,NA,NA,319,NA +846,833,828,Mary_I Tudor/,Mary_I,Tudor,F,18 FEB 1516,"Greenwich Palace,London,England",17 NOV 1558,"St. James Palace,,England",Queen of England,319,334 +847,833,828,Daughter Tudor/,Daughter,Tudor,F,10 NOV 1518,NA,10 NOV 1518,NA,NA,319,NA +848,2337,2099,Anne Boleyn/,Anne,Boleyn,F,ABT 1501,"Blickling Hall,Norfolk,England",19 MAY 1536,"Tower of London,London,England",NA,931,321 +849,848,828,Elizabeth_I Tudor/,Elizabeth_I,Tudor,F,7 SEP 1533,"Greenwich Palace,London,England",23 MAR 1603,"Richmond Palace,London,England",Queen of England,321,NA +850,848,828,Son Tudor/,Son,Tudor,M,29 JAN 1536,"Greenwich,,England",29 JAN 1536,"Greenwich,,England",NA,321,NA +851,861,860,Jane Seymour/,Jane,Seymour,F,ABT 1505,"Wolf Hall,Savernake,Wilts",24 OCT 1537,"Hampton Court,Palace,England",NA,328,322 +852,851,828,Edward_VI Tudor/,Edward_VI,Tudor,M,12 OCT 1537,"Hampton Court,Palace,England",6 JUL 1553,"Greenwich,Palace,England",King of England,322,NA +853,855,854,Anne of_Cleves /,Anne of_Cleves,,F,22 SEP 1515,Dusseldorf,17 JUL 1557,"Chelsea,,England",NA,324,323 +854,NA,NA,John_III /,John_III,,M,NA,NA,NA,NA,Duke of Cleves,NA,324 +855,NA,NA,Marie of_Julich /,Marie of_Julich,,F,NA,NA,NA,NA,NA,NA,324 +856,858,857,Catherine Howard/,Catherine,Howard,F,ABT 1520,Lambeth,13 FEB 1542,"Tower of London,London,England",NA,326,325 +857,2342,2341,Edmund Howard/,Edmund,Howard,M,NA,NA,1513,NA,Lord,1096,"326, 1099" +858,NA,NA,Joyce Culpeper/,Joyce,Culpeper,F,NA,NA,NA,NA,NA,NA,326 +859,866,865,Catherine Parr/,Catherine,Parr,F,ABT 1512,Kendal Castle,5 SEP 1548,"Sudeley Castle,Gloucestershire",NA,332,"329, 330, 327, 331" +860,NA,NA,John Seymour/,John,Seymour,M,NA,NA,NA,NA,Sir,NA,328 +861,NA,NA,Margery Wentworth/,Margery,Wentworth,F,NA,NA,NA,NA,NA,NA,328 +862,NA,NA,Edward Borough/,Edward,Borough,M,NA,NA,BEF APR 1533,NA,Sir,NA,329 +863,NA,NA,John Nevill/,John,Nevill,M,NA,NA,2 MAR 1543,"London,England",Baron Latimer #3,NA,330 +864,NA,NA,Thomas Seymour/,Thomas,Seymour,M,NA,NA,NA,NA,Baron Seymour,NA,331 +865,NA,NA,Thomas of_Kendal Parr/,Thomas of_Kendal,Parr,M,NA,NA,NA,NA,Sir,NA,332 +866,NA,NA,Maud Green/,Maud,Green,F,NA,NA,NA,NA,NA,NA,332 +867,859,864,Daughter Seymour/,Daughter,Seymour,F,29 AUG 1548,NA,5 SEP 1548,NA,NA,331,NA +868,1427,1430,Jane Grey/,Jane,Grey,F,OCT 1537,"Bradgate,Leicestershire",12 FEB 1554,"Tower of London,Tower Green,London,England",Queen of England,527,333 +869,2311,2310,Guildford Dudley/,Guildford,Dudley,M,NA,NA,12 FEB 1554,"Tower of London,Tower Green,London,England",Lord,1078,333 +870,872,871,Philip_II /,Philip_II,,M,21 MAY 1527,Valladolid,13 SEP 1598,"El Escorial,Palace,Madrid,Spain",King of Spain,335,"949, 334, 950, 951" +871,2100,2885,Charles_V /,Charles_V,,M,1500,NA,1558,NA,Emperor,1352,335 +872,NA,NA,Isabella of_Portugal /,Isabella of_Portugal,,F,1503,NA,1539,NA,NA,NA,335 +873,NA,NA,Simon de_Montfort/,Simon,de_Montfort,M,NA,NA,4 AUG 1265,Evesham,Earl Leicester,NA,598 +874,436,440,Tomislav of_Yugoslavia /,Tomislav of_Yugoslavia,,M,1928,Belgrade,NA,NA,Prince,151,"338, 339" +875,436,440,Andrej of_Yugoslavia /,Andrej of_Yugoslavia,,M,1929,",,Yugoslavia",NA,NA,Prince,151,"340, 341, 342" +876,NA,NA,William Marshal/,William,Marshal,M,NA,NA,24 APR 1231,NA,Earl of Pembroke,NA,336 +877,474,475,Alexander /,Alexander,,M,1945,NA,NA,NA,Crown Prince,165,337 +878,NA,NA,Dona_Maria da_Gloria /,Dona_Maria da_Gloria,,F,NA,NA,NA,NA,Princess,NA,337 +879,878,877,Peter of_Yugoslavia /,Peter of_Yugoslavia,,M,1980,U.S.A.,NA,NA,Prince,337,NA +880,878,877,Philip of_Yugoslavia /,Philip of_Yugoslavia,,M,1982,"Washington D.C.,U.S.A.",NA,NA,Prince,337,NA +881,878,877,Alexander of_Yugoslavia /,Alexander of_Yugoslavia,,M,1982,"Washington D.C.,U.S.A.",NA,NA,Prince,337,NA +882,NA,NA,Alice Scholastica/,Alice,Scholastica,F,NA,NA,NA,NA,Grand Duchess,NA,338 +883,882,874,Nikolas K. George/,Nikolas K.,George,M,1958,NA,NA,NA,NA,338,NA +884,882,874,Katarina K. George/,Katarina K.,George,F,1959,NA,NA,NA,NA,338,NA +885,NA,NA,Linda Bonney/,Linda,Bonney,F,NA,NA,NA,NA,NA,NA,339 +886,885,874,George K. George/,George K.,George,M,1984,NA,NA,NA,NA,339,NA +887,NA,NA,Christina of_Hesse /,Christina of_Hesse,,F,NA,NA,NA,NA,NA,NA,340 +888,887,875,Tatiana Maria /,Tatiana Maria,,F,1957,NA,NA,NA,NA,340,NA +889,887,875,Christopher K. George/,Christopher K.,George,M,1960,NA,NA,NA,NA,340,NA +890,895,902,Kira Melita of_Leiningen /,NA,,F,1930,NA,NA,NA,NA,346,341 +891,890,875,Vladimir K. George/,Vladimir K.,George,M,1964,NA,NA,NA,NA,341,NA +892,890,875,Dimitrye K. George/,Dimitrye K.,George,M,1965,"London,England",NA,NA,NA,341,NA +893,NA,NA,Mitsi /,Mitsi,,F,NA,NA,NA,NA,NA,NA,342 +894,1423,1422,Louis /,Louis,,M,NA,NA,1765,NA,Dauphin,525,1185 +895,97,158,Maria of_Russia /,Maria of_Russia,,F,1907,NA,1951,NA,Grand Duchess,213,346 +896,741,740,Elizabeth of_France /,Elizabeth of_France,,F,1602,NA,1644,NA,NA,271,948 +897,587,894,Charles_X /,Charles_X,,M,1757,NA,NOV 1836,NA,King of France,1185,1186 +898,587,894,Louis_XVIII /,Louis_XVIII,,M,1755,"Versailles,France",16 SEP 1824,NA,King of France,1185,NA +899,589,588,Maria of_Russia /,Maria of_Russia,,F,1953,"Madrid,Spain,Spain",NA,NA,Grand Duchess,214,345 +900,NA,NA,Franz Wilhelm of_Prussia /,NA,,M,ABT 1943,NA,NA,NA,Prince,NA,345 +901,899,900,George of_Russia /,George of_Russia,,M,1981,",,Spain",NA,NA,Grand Duke,345,NA +902,NA,NA,Karl of_Leiningen /,Karl of_Leiningen,,M,1898,NA,1946,NA,Prince,NA,346 +903,895,902,Emich of_Leiningen /,Emich of_Leiningen,,M,1926,NA,NA,NA,Prince,346,347 +904,895,902,Karl of_Leiningen /,Karl of_Leiningen,,M,1928,NA,NA,NA,Prince,346,NA +905,895,902,Margarita /,Margarita,,F,1932,NA,NA,NA,Princess,346,NA +906,895,902,Mechtilde /,Mechtilde,,F,1936,NA,NA,NA,Princess,346,350 +907,895,902,Friedrich of_Leiningen /,Friedrich of_Leiningen,,M,1938,NA,NA,NA,Prince,346,NA +908,NA,NA,Eilika of_Oldenberg /,Eilika of_Oldenberg,,F,NA,NA,NA,NA,Duchess,NA,347 +909,908,903,Melita /,Melita,,F,1951,NA,NA,NA,Princess,347,NA +910,908,903,Karl /,Karl,,M,1952,NA,NA,NA,Prince,347,348 +911,908,903,Andreas /,Andreas,,M,1955,NA,NA,NA,Prince,347,349 +912,908,903,Stephanie /,Stephanie,,F,1958,NA,NA,NA,Princess,347,NA +913,NA,NA,Margarite of_Hohenloche- Ochringen /,NA,,F,NA,NA,NA,NA,Princess,NA,348 +914,NA,NA,Alexandra of_Hanover /,Alexandra of_Hanover,,F,NA,NA,NA,NA,Princess,NA,349 +915,914,911,Ferdinand /,Ferdinand,,M,1982,NA,NA,NA,Prince,349,NA +916,NA,NA,Karl Bauscher/,Karl,Bauscher,M,NA,NA,NA,NA,NA,NA,350 +917,906,916,Ulf Bauscher/,Ulf,Bauscher,M,1963,NA,NA,NA,NA,350,NA +918,906,916,Berthold Bauscher/,Berthold,Bauscher,M,1965,NA,NA,NA,NA,350,NA +919,906,916,Johan Bauscher/,Johan,Bauscher,M,1971,NA,NA,NA,NA,350,NA +920,1017,2132,Anne of_Austria /,Anne of_Austria,,F,1601,NA,1666,NA,NA,522,521 +921,528,520,Friedrich Wilhelm of_Prussia /,NA,,M,1939,NA,NA,NA,Prince,188,"355, 356" +922,528,520,Michael of_Prussia /,Michael of_Prussia,,M,1939,NA,NA,NA,Prince,188,354 +923,528,520,Marie-Cecile of_Prussia /,Marie-Cecile of_Prussia,,F,1942,NA,NA,NA,Princess,188,NA +924,528,520,Louis Ferdinand of_Prussia /,NA,,M,1944,NA,1977,NA,Prince,188,353 +925,528,520,Christian Sigismund of_Prussia /,NA,,M,1946,NA,NA,NA,Prince,188,352 +926,NA,NA,Nina zu_Reventlow /,Nina zu_Reventlow,,F,NA,NA,NA,NA,Countess,NA,352 +927,926,925,Daughter /,Daughter,,F,NA,NA,NA,NA,NA,352,NA +928,NA,NA,Donata of_Castell- Rudenhausen /,NA,,F,NA,NA,NA,NA,NA,NA,353 +929,928,924,Georg Friedrich /,Georg Friedrich,,M,1976,NA,NA,NA,Prince,353,NA +930,928,924,Corneilie-Cecile /,Corneilie-Cecile,,F,1978,NA,NA,NA,Princess,353,NA +931,NA,NA,Jutta Jorn/,Jutta,Jorn,F,NA,NA,NA,NA,NA,NA,354 +932,931,922,Micaela /,Micaela,,M,1967,NA,NA,NA,Prince,354,NA +933,931,922,Nataly /,Nataly,,F,1970,NA,NA,NA,Princess,354,NA +934,NA,NA,Waltraud Freydag/,Waltraud,Freydag,F,NA,NA,NA,NA,NA,NA,355 +935,934,921,Philip /,Philip,,M,1968,NA,NA,NA,Prince,355,NA +936,NA,NA,Ehrengard von_Reden/,Ehrengard,von_Reden,F,NA,NA,NA,NA,NA,NA,356 +937,936,921,Friedrich /,Friedrich,,M,1979,NA,NA,NA,Prince,356,NA +938,936,921,Viktoria /,Viktoria,,F,1982,NA,NA,NA,Princess,356,NA +939,936,921,Joachim /,Joachim,,M,1984,NA,NA,NA,Prince,356,NA +940,NA,NA,Margaret Messenger/,Margaret,Messenger,F,NA,NA,NA,NA,NA,NA,357 +941,940,293,Emily /,Emily,,F,1976,NA,NA,NA,Hon.,357,NA +942,940,293,Benjamin /,Benjamin,,M,1978,NA,NA,NA,Hon.,357,NA +943,940,293,Alexander Lascelles/,Alexander,Lascelles,M,1980,NA,NA,NA,Hon.,357,NA +944,940,293,Edward Lascelles/,Edward,Lascelles,M,1982,NA,NA,NA,NA,357,NA +945,NA,NA,Fredericka Ann Duhrrson/,Fredericka Ann,Duhrrson,F,NA,NA,NA,NA,NA,NA,358 +946,945,294,Sophie Lascelles/,Sophie,Lascelles,F,1973,NA,NA,NA,NA,358,NA +947,945,294,Rowan Lascelles/,Rowan,Lascelles,M,1977,NA,NA,NA,NA,358,NA +948,NA,NA,Julie Bayliss/,Julie,Bayliss,F,NA,NA,NA,NA,NA,NA,359 +949,948,295,Thomas Lascelles/,Thomas,Lascelles,M,1982,NA,NA,NA,NA,359,NA +950,948,295,Ellen Lascelles/,Ellen,Lascelles,F,1984,NA,NA,NA,NA,359,NA +951,749,751,Marie Louise /,Marie Louise,,F,1662,NA,1689,NA,NA,272,946 +952,15,105,Maud Carnegie/,Maud,Carnegie,F,1893,NA,1945,NA,Lady,29,360 +953,NA,NA,Charles of_Southesk /,Charles of_Southesk,,M,1893,NA,NA,NA,Earl XI,NA,360 +954,952,953,James George Alexander Carnegie/,NA,Carnegie,M,1929,NA,NA,NA,Duke of Fife,360,361 +955,NA,NA,Caroline Dewar/,Caroline,Dewar,F,NA,NA,NA,NA,Hon.,NA,361 +956,955,954,Alexandra Carnegie/,Alexandra,Carnegie,F,1959,NA,NA,NA,Lady,361,NA +957,955,954,David Charles Carnegie/,David Charles,Carnegie,M,1961,NA,NA,NA,Earl of Macduff,361,NA +958,451,450,Ragnhild Alexandra /,Ragnhild Alexandra,,F,1930,"Oslo,Norway",NA,NA,Princess,153,363 +959,451,450,Astrid Maud Ingeborg /,NA,,F,1932,NA,NA,NA,Princess,153,362 +960,NA,NA,Johan Martin Ferner/,Johan Martin,Ferner,M,1927,NA,NA,NA,NA,NA,362 +961,959,960,Cathrine Ferner/,Cathrine,Ferner,F,1962,NA,NA,NA,NA,362,NA +962,959,960,Benedickte Ferner/,Benedickte,Ferner,M,1963,NA,NA,NA,NA,362,NA +963,959,960,Alexander Ferner/,Alexander,Ferner,M,1965,NA,NA,NA,NA,362,NA +964,959,960,Elisabeth Ferner/,Elisabeth,Ferner,F,1969,NA,NA,NA,NA,362,NA +965,959,960,Carl Christian Ferner/,Carl Christian,Ferner,M,1972,NA,NA,NA,NA,362,NA +966,NA,NA,Erling Lorentzen/,Erling,Lorentzen,M,NA,NA,NA,NA,NA,NA,363 +967,958,966,Haakon Lorentzen/,Haakon,Lorentzen,M,NA,NA,NA,NA,NA,363,NA +968,958,966,Ingeborg Lorentzen/,Ingeborg,Lorentzen,F,NA,NA,NA,NA,NA,363,NA +969,958,966,Ragnhild Alexandra Lorentzen/,Ragnhild Alexandra,Lorentzen,F,1968,",,Brazil",NA,NA,NA,363,NA +970,NA,NA,Anne of_Bourbon-Parma /,Anne of_Bourbon-Parma,,F,NA,NA,NA,NA,Princess,NA,NA +971,1056,1055,Joana Maria Valentina Lambrino/,NA,Lambrino,F,3 OCT 1898,"Roman,Romania",11 MAR 1953,"Paris,France",NA,400,364 +972,469,468,Margarita of_Romania /,Margarita of_Romania,,F,1949,Lausanne,NA,NA,Princess,161,NA +973,469,468,Helen of_Romania /,Helen of_Romania,,F,1950,Lausanne,NA,NA,Princess,161,365 +974,469,468,Irina /,Irina,,F,1953,Lausanne,NA,NA,Princess,161,366 +975,469,468,Sophie /,Sophie,,F,1957,NA,NA,NA,Princess,161,NA +976,469,468,Maria /,Maria,,F,1964,NA,NA,NA,Princess,161,NA +977,NA,NA,Robin Medforth-Mills/,Robin,Medforth-Mills,M,NA,NA,NA,NA,Professor,NA,365 +978,973,977,Nicholas Medforth-Mills/,Nicholas,Medforth-Mills,M,1985,NA,NA,NA,NA,365,NA +979,NA,NA,John Kreuger/,John,Kreuger,M,NA,NA,NA,NA,NA,NA,366 +980,974,979,Michael Kreuger/,Michael,Kreuger,M,1985,NA,NA,NA,NA,366,NA +981,NA,NA,William Worsley/,William,Worsley,M,NA,NA,NA,NA,Sir,NA,367 +982,316,291,Martin Lascelles/,Martin,Lascelles,M,1963,NA,NA,NA,NA,102,NA +983,NA,NA,Alexandra Morton/,Alexandra,Morton,F,NA,NA,NA,NA,NA,NA,368 +984,989,988,Richard_III /,Richard_III,,M,2 OCT 1452,"Fotheringay,Castle",22 AUG 1485,Bosworth,King of England,371,369 +985,1339,987,Anne Nevill/,Anne,Nevill,F,11 JUN 1456,"Warwick Castle,Warwick,England",16 MAR 1485,"Westminster,Palace,London,England",Lady,370,"380, 369" +986,985,984,Edward /,Edward,,M,ABT DEC 1473,"Middleham Castle,Yorkshire,England",9 APR 1484,"Middleham Castle,Yorkshire,England",Prince of Wales,369,NA +987,NA,1342,Richard Neville/,Richard,Neville,M,NA,NA,1471,NA,Earl of Warwick,490,370 +988,1024,1023,Richard Plantagenet/,Richard,Plantagenet,M,NA,NA,1460,NA,Duke of York,385,371 +989,1331,990,Cicely Nevill/,Cicely,Nevill,F,NA,NA,1495,NA,Lady,372,371 +990,NA,NA,Ralph of_Westmoreland 1st /,NA,,M,NA,NA,NA,NA,Earl,NA,372 +991,989,988,Edward_IV /,Edward_IV,,M,28 APR 1442,"Rouen,France",9 APR 1483,"Westminster,Palace,London,England",King of England,371,373 +992,989,988,Edmund /,Edmund,,M,NA,NA,1460,NA,Earl of Rutland,371,NA +993,989,988,George /,George,,M,NA,NA,NA,NA,Duke of Clarence,371,381 +994,989,988,Anne /,Anne,,F,NA,NA,1476,NA,NA,371,"382, 383" +995,989,988,Elizabeth /,Elizabeth,,F,NA,NA,1503,NA,NA,371,1056 +996,989,988,Margaret /,Margaret,,F,NA,NA,NA,NA,NA,371,384 +997,989,988,Ursula /,Ursula,,F,NA,NA,NA,NA,NA,371,NA +998,1327,2271,Elizabeth Woodville/,Elizabeth,Woodville,F,ABT 1437,"Grafton Regis,Northants",8 JUN 1492,Bermondsey Abbey,NA,1051,"379, 373" +999,998,991,Mary /,Mary,,F,AUG 1466,"Windsor Castle,Berkshire,England",23 MAY 1482,"Greenwich,,England",NA,373,NA +1000,998,991,Cicely /,Cicely,,F,20 MAR 1469,NA,24 AUG 1507,"Quarr Abbey,Isle of Wight,England",NA,373,"374, 375" +1001,998,991,Edward_V /,Edward_V,,M,4 NOV 1470,"Sanctuary,Westminster,England",1483,NA,King of England,373,NA +1002,998,991,Margaret /,Margaret,,F,10 APR 1472,NA,11 DEC 1472,NA,NA,373,NA +1003,998,991,Richard /,Richard,,M,17 AUG 1473,Shrewsbury,AFT 1483,NA,Duke of York,373,376 +1004,998,991,Anne /,Anne,,F,2 NOV 1475,"Westminster,Palace",23 NOV 1511,NA,NA,373,377 +1005,998,991,George /,George,,M,MAR 1477,"Windsor Castle,Berkshire,England",MAR 1479,"Windsor Castle,Berkshire,England",Duke of Bedford,373,NA +1006,998,991,Catherine /,Catherine,,F,ABT 14 AUG 1479,Eltham Palace,15 NOV 1527,Tiverton,NA,373,378 +1007,998,991,Bridget /,Bridget,,F,10 NOV 1480,Eltham Palace,1517,Dartford,NA,373,NA +1008,NA,NA,John 1st Welles/,John 1st,Welles,M,NA,NA,9 FEB 1499,"London,,England",Viscount Welles,NA,374 +1009,NA,NA,Thomas of_Isle_of_Wight Kyme/,Thomas of_Isle_of_Wight,Kyme,M,NA,NA,NA,NA,NA,NA,375 +1010,NA,NA,Anne Mowbray/,Anne,Mowbray,F,NA,NA,19 NOV 1481,"Greenwich,,England",Lady,NA,376 +1011,NA,NA,Thomas 3rd Howard/,Thomas 3rd,Howard,M,NA,NA,NA,NA,Duke of Norfolk,NA,377 +1012,NA,NA,William Courtenay/,William,Courtenay,M,NA,NA,NA,NA,Earl of Devon,NA,378 +1013,NA,NA,John Grey/,John,Grey,M,NA,NA,17 FEB 1461,NA,Sir,NA,379 +1014,998,1013,Son Grey/,Son,Grey,M,BEF 1461,NA,NA,NA,NA,379,NA +1015,998,1013,Son_2 Grey/,Son_2,Grey,M,BEF 1461,NA,NA,NA,NA,379,NA +1016,1218,1217,Edward /,Edward,,M,13 OCT 1453,"Westminster,Palace,England",4 MAY 1471,Tewkesbury,Prince of Wales,448,380 +1017,NA,2884,Margaret of_Austria /,Margaret of_Austria,,F,1584,NA,1611,NA,NA,1351,522 +1018,1340,993,Edward /,Edward,,M,NA,NA,1499,NA,Earl of Warwick,381,NA +1019,1340,993,Margaret of_Salisbury /,Margaret of_Salisbury,,F,ABT 1469,NA,1541,NA,Countess,381,1055 +1020,NA,NA,Henry /,Henry,,M,NA,NA,NA,NA,Duke of Exeter,NA,382 +1021,NA,NA,Thomas St._Leger/,Thomas,St._Leger,M,NA,NA,NA,NA,Sir,NA,383 +1022,NA,NA,Charles the_Bold /,Charles the_Bold,,M,NA,NA,NA,NA,Duke of Burgundy,NA,384 +1023,1337,1237,Richard of_Cambridge Plantagenet/,Richard of_Cambridge,Plantagenet,M,NA,NA,1415,NA,Earl,488,"385, 535" +1024,1345,1344,Anne Mortimer/,Anne,Mortimer,F,NA,NA,NA,NA,Lady,492,385 +1025,1024,1023,Isabel Plantagenet/,Isabel,Plantagenet,F,NA,NA,1484,NA,NA,385,"1053, 386" +1026,1603,1602,Henry 1st Bourchier/,Henry 1st,Bourchier,M,NA,NA,NA,NA,Earl of Essex,621,386 +1027,1614,1613,Charles_XV /,Charles_XV,,M,3 MAY 1826,"Stockholm,Sweden",19 AUG 1872,Malmo,King of Sweden,627,387 +1028,1029,653,Louise /,Louise,,F,5 AUG 1828,The Hague,30 MAR 1871,"Stockholm,Sweden",NA,388,387 +1029,410,162,Louisa of_Prussia /,Louisa of_Prussia,,F,1808,NA,1870,NA,NA,145,388 +1030,426,552,Ernest Augustus of_Hanover Hanover/,NA,Hanover,M,1914,NA,1987,NA,Prince,198,392 +1031,426,552,George William Hanover/,George William,Hanover,M,1915,NA,NA,NA,NA,198,391 +1032,NA,NA,Mireille Dutry/,Mireille,Dutry,F,1946,NA,NA,NA,NA,NA,389 +1033,426,552,Christian Hanover/,Christian,Hanover,M,1919,NA,1981,NA,NA,198,389 +1034,426,552,Guelph Henry Hanover/,Guelph Henry,Hanover,M,1923,NA,NA,NA,NA,198,390 +1035,426,552,Monika of_Solms-Laubach Hanover/,Monika of_Solms-Laubach,Hanover,F,1929,NA,NA,NA,NA,198,NA +1036,NA,NA,Alexandra of_Ysenburg_and Budingen /,NA,,F,1938,NA,NA,NA,NA,NA,390 +1037,NA,NA,Sophie of_Greece /,Sophie of_Greece,,F,1914,NA,NA,NA,NA,NA,391 +1038,NA,NA,Ortrud of_Schleswig- Holstein /,NA,,F,1925,NA,1980,NA,NA,NA,392 +1039,1038,1030,Marie Hanover/,Marie,Hanover,F,1952,NA,NA,NA,NA,392,393 +1040,1038,1030,Ernest Augustus of_Hanover Hanover/,NA,Hanover,M,1954,NA,NA,NA,Prince,392,394 +1041,1038,1030,Ludwig Rudolph Hanover/,Ludwig Rudolph,Hanover,M,28 NOV 1955,NA,29 NOV 1989,NA,Prince,392,395 +1042,1038,1030,Olga Hanover/,Olga,Hanover,F,1958,NA,NA,NA,NA,392,NA +1043,1038,1030,Alexandra Hanover/,Alexandra,Hanover,F,1959,NA,NA,NA,NA,392,396 +1044,1038,1030,Heinrich Julius Hanover/,Heinrich Julius,Hanover,M,1961,NA,NA,NA,NA,392,NA +1045,NA,NA,Michael von_Hochberg/,Michael,von_Hochberg,M,NA,NA,NA,NA,Count,NA,393 +1046,NA,NA,Chantal Hochuli/,Chantal,Hochuli,F,NA,NA,NA,NA,NA,NA,394 +1047,1046,1040,Ernest Augustus Hanover/,Ernest Augustus,Hanover,M,1983,NA,NA,NA,NA,394,NA +1048,1046,1040,Christian Heinrich Hanover/,Christian Heinrich,Hanover,M,1985,NA,NA,NA,NA,394,NA +1049,NA,NA,Isabella Valsassina von_Thurn/,Isabella Valsassina,von_Thurn,F,1962,NA,29 NOV 1989,NA,Countess,NA,395 +1050,1049,1041,Otto Hanover/,Otto,Hanover,M,1988,NA,NA,NA,NA,395,NA +1051,NA,NA,Andreas of_Leiningen /,Andreas of_Leiningen,,M,NA,NA,NA,NA,Prince,NA,396 +1052,NA,NA,Max of_Baden /,Max of_Baden,,M,NA,NA,NA,NA,Prince,NA,397 +1053,NA,NA,Frederick Francis_IV of_Mecklenburg /,NA,,M,NA,NA,NA,NA,Grand Duke,NA,398 +1054,NA,NA,Margrethe of_Denmark /,Margrethe of_Denmark,,F,NA,NA,NA,NA,NA,NA,399 +1055,NA,NA,Constantine Lambrino/,Constantine,Lambrino,M,NA,NA,NA,NA,Col.,NA,400 +1056,NA,NA,Euphrosine Alcaz/,Euphrosine,Alcaz,F,NA,NA,NA,NA,NA,NA,400 +1057,971,438,Son Hohenzollern/,Son,Hohenzollern,M,NA,NA,NA,NA,NA,364,NA +1058,NA,NA,Elena (Magda) Lupescu/,Elena (Magda),Lupescu,F,15 SEP 1895,Jassy,28 JUN 1977,"Estoril,Portugal",NA,NA,401 +1059,121,124,Ingrid Victoria of_Sweden /,NA,,F,28 MAR 1910,Stockholm,NA,NA,Princess,35,402 +1060,472,471,Paul of_Sparta Oldenburg/,Paul of_Sparta,Oldenburg,M,1967,NA,NA,NA,Duke,163,NA +1061,472,471,Nicholas Oldenburg/,Nicholas,Oldenburg,M,1969,NA,NA,NA,NA,163,NA +1062,472,471,Oldenburg/,NA,Oldenburg,F,NA,NA,NA,NA,NA,163,NA +1063,472,471,Oldenburg/,NA,Oldenburg,F,NA,NA,NA,NA,NA,163,NA +1064,470,232,Irene of_Greece Oldenburg/,Irene of_Greece,Oldenburg,F,1942,NA,NA,NA,Crown Princess,162,NA +1065,NA,NA,Petros Manos/,Petros,Manos,M,NA,NA,NA,NA,Col.,NA,403 +1066,NA,NA,Maria Argyropoulos/,Maria,Argyropoulos,F,NA,NA,NA,NA,NA,NA,403 +1067,NA,NA,Frederick Eugene Wurttemberg/,Frederick Eugene,Wurttemberg,M,1732,NA,1797,NA,NA,NA,404 +1068,NA,NA,Frederica of_Brandenburg- Schwedt /,NA,,F,1736,NA,1798,NA,NA,NA,404 +1069,NA,NA,Augusta of_Brunswick /,Augusta of_Brunswick,,F,1764,NA,1788,NA,NA,NA,405 +1070,1069,247,William_I of_Wurttemberg Wurttemberg/,William_I of_Wurttemberg,Wurttemberg,M,1781,NA,1864,NA,King,405,"406, 407, 408" +1071,1069,247,Catherine Wurttemberg/,Catherine,Wurttemberg,F,1783,NA,1835,NA,NA,405,NA +1072,1069,247,Sophia Dorothea Wurttemberg/,Sophia Dorothea,Wurttemberg,F,1783,NA,1784,NA,NA,405,NA +1073,1069,247,Paul Wurttemberg/,Paul,Wurttemberg,M,1785,NA,1852,NA,NA,405,411 +1074,1137,637,Charlotte of_Bavaria Wittelsbach/,Charlotte of_Bavaria,Wittelsbach,F,1792,NA,1873,NA,NA,431,406 +1075,NA,NA,Catherine of_Russia /,Catherine of_Russia,,F,1788,NA,1819,NA,Grand Duchess,NA,407 +1076,1075,1070,Marie Wurttemberg/,Marie,Wurttemberg,F,1816,NA,1887,NA,NA,407,NA +1077,1075,1070,Sophie Wurttemberg/,Sophie,Wurttemberg,F,17 JUN 1818,Stuttgart,3 JUN 1877,"Het Loo,Apeldoorn",NA,407,447 +1078,NA,NA,Pauline of_Wurttemberg /,Pauline of_Wurttemberg,,F,1800,NA,1873,NA,NA,NA,408 +1079,1078,1070,Catherine Wurttemberg/,Catherine,Wurttemberg,F,1821,NA,1898,NA,NA,408,412 +1080,1078,1070,Charles_I of_Wurttemberg Wurttemberg/,Charles_I of_Wurttemberg,Wurttemberg,M,1823,NA,1891,NA,King,408,409 +1081,1078,1070,Augusta Wurttemberg/,Augusta,Wurttemberg,F,1826,NA,1898,NA,NA,408,410 +1082,NA,NA,Olga of_Russia /,Olga of_Russia,,F,1822,NA,1892,NA,Grand Duchess,NA,409 +1083,NA,NA,Hermann of_Saxe-Weimar /,Hermann of_Saxe-Weimar,,M,NA,NA,NA,NA,Prince,NA,410 +1084,NA,NA,Charlotte of_Saxe- Hildburghausen /,NA,,F,1787,NA,1847,NA,NA,NA,411 +1085,1084,1073,Charlotte Wurttemberg/,Charlotte,Wurttemberg,F,1807,NA,1873,NA,NA,411,NA +1086,1084,1073,Frederick Wurttemberg/,Frederick,Wurttemberg,M,1808,NA,1870,NA,NA,411,412 +1087,1084,1073,Paul Wurttemberg/,Paul,Wurttemberg,M,1809,NA,1810,NA,NA,411,NA +1088,1084,1073,Pauline Wurttemberg/,Pauline,Wurttemberg,F,1810,NA,1856,NA,NA,411,NA +1089,1084,1073,August Wurttemberg/,August,Wurttemberg,M,1813,NA,1885,NA,NA,411,NA +1090,1079,1086,William_II of_Wurttemberg Wurttemberg/,William_II of_Wurttemberg,Wurttemberg,M,1848,NA,1921,NA,King,412,"413, 415" +1091,NA,NA,Marie of_Waldeck and_Pyrmont /,NA,,F,1857,NA,1882,NA,NA,NA,413 +1092,1091,1090,Pauline Wurttemberg/,Pauline,Wurttemberg,F,1877,NA,1965,NA,NA,413,414 +1093,1091,1090,Ulrich Wurttemberg/,Ulrich,Wurttemberg,M,1880,NA,1880,NA,NA,413,NA +1094,NA,NA,Frederick /,Frederick,,M,NA,NA,NA,NA,Prince of Wied,NA,414 +1095,NA,NA,Charlotte of_Schaumburg- Lippe /,NA,,F,1864,NA,1946,NA,NA,NA,415 +1096,96,309,Nicholas Hohenzollern/,Nicholas,Hohenzollern,M,1903,NA,1978,NA,NA,100,NA +1097,96,309,Ileana Hohenzollern/,Ileana,Hohenzollern,F,1909,NA,NA,NA,NA,100,NA +1098,96,309,Mircea Hohenzollern/,Mircea,Hohenzollern,NA,1913,NA,2 NOV 1916,NA,NA,100,NA +1099,1105,1104,Leopold of_Hohenzollern Hohenzollern/,Leopold of_Hohenzollern,Hohenzollern,M,1835,NA,1905,NA,Prince,418,416 +1100,NA,NA,Antonia of_Portugal /,Antonia of_Portugal,,F,1845,NA,1913,NA,NA,NA,416 +1101,1100,1099,William of_Hohenzollern Hohenzollern/,William of_Hohenzollern,Hohenzollern,M,1864,NA,1927,NA,Prince,416,NA +1102,1100,1099,Charles Anthony Hohenzollern/,Charles Anthony,Hohenzollern,M,1868,NA,1919,NA,NA,416,417 +1103,1110,1114,Josephine of_Belgium /,Josephine of_Belgium,,F,1872,NA,1958,NA,NA,422,417 +1104,NA,NA,Charles Anthony Hohenzollern/,Charles Anthony,Hohenzollern,M,1811,NA,1885,NA,Prince,NA,418 +1105,NA,NA,Josephine of_Baden /,Josephine of_Baden,,F,1813,NA,1900,NA,NA,NA,418 +1106,1105,1104,Stephanie Hohenzollern/,Stephanie,Hohenzollern,F,1837,NA,1859,NA,NA,418,419 +1107,1105,1104,Carol_I of_Romania Hohenzollern/,Carol_I of_Romania,Hohenzollern,M,20 APR 1839,"Sigmaringen,Germany",10 OCT 1914,"Castle Pelesch,Sinaia,Romania",Prince,418,420 +1108,1105,1104,Anthony Hohenzollern/,Anthony,Hohenzollern,M,1841,NA,1866,NA,NA,418,NA +1109,1105,1104,Frederick Hohenzollern/,Frederick,Hohenzollern,M,1843,NA,1904,NA,NA,418,421 +1110,1105,1104,Marie Hohenzollern/,Marie,Hohenzollern,F,1845,NA,1912,NA,NA,418,422 +1111,NA,NA,Pedro_V /,Pedro_V,,M,NA,NA,NA,NA,King of Portugal,NA,419 +1112,NA,NA,Elisabeth of_Wied /,Elisabeth of_Wied,,F,29 DEC 1843,"Neuwied,Germany",3 MAR 1916,"Curtea de Arges,Romania",NA,NA,420 +1113,NA,NA,Louise of_Thurn and_Taxis /,NA,,F,NA,NA,NA,NA,NA,NA,421 +1114,245,1696,Philip of_Flanders /,Philip of_Flanders,,M,1837,NA,1905,NA,Count,663,422 +1115,1110,1114,Baudouin /,Baudouin,,M,1869,NA,1891,NA,NA,422,NA +1116,1110,1114,Henriette (twin) /,Henriette (twin),,F,1870,NA,1948,NA,NA,422,1362 +1117,1110,1114,Josephine (twin) /,Josephine (twin),,F,1870,NA,1871,NA,NA,422,NA +1118,1110,1114,Albert_I /,Albert_I,,M,8 APR 1875,"Brussels,Belgium",17 FEB 1934,"Marche-les-Dames,Near Namur",King of Belgians,422,423 +1119,1202,1197,Elisabeth of_Bavaria /,Elisabeth of_Bavaria,,F,25 JUL 1876,Possenhofen,23 NOV 1965,"Chateau de,Stuyvenberg",NA,441,423 +1120,1119,1118,Charles of_Belgium /,Charles of_Belgium,,M,1903,NA,1983,NA,Regent,423,NA +1121,1119,1118,Marie Jose /,Marie Jose,,F,1906,NA,NA,NA,NA,423,424 +1122,NA,NA,Umberto_II /,Umberto_II,,M,1904,NA,1983,NA,King of Italy,NA,424 +1123,599,600,Josephine Charlotte /,Josephine Charlotte,,F,1927,NA,NA,NA,NA,216,425 +1124,599,600,Albert /,Albert,,M,1934,NA,NA,NA,Prince of Liege,216,427 +1125,NA,NA,Jean of_Luxembourg /,Jean of_Luxembourg,,M,1921,NA,NA,NA,Grand Duke,NA,425 +1126,NA,NA,Fabiola de_Mora_y_Aragon /,Fabiola de_Mora_y_Aragon,,F,11 JUN 1928,"Madrid,Spain",NA,NA,NA,NA,426 +1127,NA,NA,Paola di_Calabria Ruffo/,Paola di_Calabria,Ruffo,F,1937,NA,NA,NA,NA,NA,427 +1128,1127,1124,Philippe /,Philippe,,M,1960,NA,NA,NA,NA,427,NA +1129,1127,1124,Astrid /,Astrid,,F,1962,NA,NA,NA,NA,427,428 +1130,1127,1124,Laurent /,Laurent,,M,1963,NA,NA,NA,NA,427,NA +1131,NA,NA,Lorenz of_Austria-Este /,Lorenz of_Austria-Este,,M,1955,NA,NA,NA,Archduke,NA,428 +1132,NA,NA,Mary Liliane Baels/,Mary Liliane,Baels,F,28 NOV 1916,"Highbury,London,England",NA,NA,NA,NA,429 +1133,1132,600,Alexandre /,Alexandre,,M,1942,NA,NA,NA,NA,429,NA +1134,1132,600,Marie Christine /,Marie Christine,,F,1951,NA,NA,NA,NA,429,430 +1135,1132,600,Marie Esmeralda /,Marie Esmeralda,,F,1956,NA,NA,NA,NA,429,NA +1136,NA,NA,Paul Druker/,Paul,Druker,M,NA,NA,NA,NA,NA,NA,430 +1137,NA,NA,Augusta Wilhelmine of_Hesse- /,NA,,F,14 APR 1765,Darmstadt,30 MAR 1796,"Near,Heidelberg,Germany",NA,NA,431 +1138,1137,637,Ludwig_I Wittelsbach/,Ludwig_I,Wittelsbach,M,25 AUG 1786,Strassburg,29 FEB 1868,Nice,King of Bavaria,431,432 +1139,1137,637,Auguste Wittelsbach/,Auguste,Wittelsbach,F,1788,NA,1851,NA,NA,431,NA +1140,1137,637,Amelia Wittelsbach/,Amelia,Wittelsbach,F,1790,NA,1794,NA,NA,431,NA +1141,1137,637,Charles Wittelsbach/,Charles,Wittelsbach,M,1795,NA,1875,NA,NA,431,NA +1142,NA,NA,Therese of_Saxe- Hildburghausen /,NA,,F,8 JUL 1792,Hildburghausen,26 OCT 1854,Munich,NA,NA,432 +1143,1142,1138,Maximilian_II /,Maximilian_II,,M,28 NOV 1811,Munich,10 MAR 1864,Munich,King of Bavaria,432,433 +1144,NA,NA,Marie of_Prussia /,Marie of_Prussia,,F,15 OCT 1825,Berlin,17 MAY 1889,"Schloss,Hohenschwangau",Princess,NA,433 +1145,1144,1143,Ludwig_II Wittelsbach/,Ludwig_II,Wittelsbach,M,25 AUG 1845,"Schloss,Nymphenburg",13 JUN 1886,"Starnbergersee,Near Schloss,Berg",King of Bavaria,433,NA +1146,1144,1143,Otto_I Wittelsbach/,Otto_I,Wittelsbach,M,27 APR 1848,Munich,11 OCT 1916,"Near,Munich",King of Bavaria,433,NA +1147,1370,873,5sons_1dau /,5sons_1dau,,NA,NA,NA,NA,NA,NA,598,NA +1148,1142,1138,Otto_I Friedrich Ludwig Wittelsbach/,NA,Wittelsbach,M,1 JUN 1815,"Salzburg,Austria",26 JUL 1867,"Bamberg,Germany",King of Greece,432,662 +1149,1142,1138,Theodolinde /,Theodolinde,,NA,1816,NA,1817,NA,NA,432,NA +1150,1142,1138,Luitpold /,Luitpold,,M,1821,NA,1912,NA,Regent,432,438 +1151,1142,1138,Adelgunde /,Adelgunde,,F,1823,NA,1914,NA,NA,432,NA +1152,1142,1138,Hildegarde /,Hildegarde,,F,1825,NA,1864,NA,NA,432,NA +1153,1142,1138,Adalbert /,Adalbert,,M,1828,NA,1875,NA,NA,432,NA +1154,626,637,Maximilian Wittelsbach/,Maximilian,Wittelsbach,M,1800,NA,1803,NA,NA,232,NA +1155,626,637,Elizabeth (twin) of_Bavaria Wittelsbach/,NA,Wittelsbach,F,1801,NA,1873,NA,NA,232,434 +1156,626,637,Amelia (twin) Wittelsbach/,Amelia (twin),Wittelsbach,F,1801,NA,1877,NA,NA,232,NA +1157,626,637,Maria (twin) Wittelsbach/,Maria (twin),Wittelsbach,F,1805,NA,1877,NA,NA,232,NA +1158,626,637,Ludovica (Louise) Wittelsbach/,Ludovica (Louise),Wittelsbach,F,1808,NA,1892,NA,NA,232,440 +1159,626,637,Maximiliana Wittelsbach/,Maximiliana,Wittelsbach,F,1810,NA,1821,NA,NA,232,NA +1160,343,761,Frederick Louis /,Frederick Louis,,M,1707,NA,1708,NA,NA,435,NA +1161,343,761,Frederick William /,Frederick William,,M,1710,NA,1711,NA,NA,435,NA +1162,343,761,Frederick_II the_Great /,Frederick_II the_Great,,M,24 JAN 1712,"Berlin,Germany",17 AUG 1786,"Sans Souci,Potsdam,Germany",King of Prussia,435,623 +1163,343,761,Charlotte Albertine /,Charlotte Albertine,,F,1713,NA,1714,NA,NA,435,NA +1164,343,761,Frederica Louise /,Frederica Louise,,F,1714,NA,1784,NA,NA,435,NA +1165,343,761,Philippine Charlotte /,Philippine Charlotte,,F,1716,NA,1801,NA,NA,435,NA +1166,343,761,Louis Charles William /,NA,,M,1717,NA,1719,NA,NA,435,NA +1167,343,761,Sophia /,Sophia,,F,1719,NA,1765,NA,NA,435,NA +1168,343,761,Louise Ulrika /,Louise Ulrika,,F,1720,NA,1782,NA,NA,435,NA +1169,343,761,Anna Amelia /,Anna Amelia,,F,1725,NA,1787,NA,NA,435,NA +1170,343,761,Henry /,Henry,,M,1726,NA,1802,NA,NA,435,NA +1171,343,761,Ferdinand /,Ferdinand,,M,1730,NA,1813,NA,NA,435,NA +1172,NA,NA,Heinrich_XXII Reuss/,Heinrich_XXII,Reuss,M,NA,NA,NA,NA,Prince,NA,278 +1173,NA,NA,Elizabeth Henrietta of_Hesse-Cassel /,NA,,F,8 NOV 1661,Cassel,27 JUN 1683,"Coln au Der,Spree",NA,NA,436 +1174,1173,772,Louise /,Louise,,F,1680,NA,1705,NA,NA,436,NA +1175,1173,772,Frederick_I /,Frederick_I,,M,NA,NA,NA,NA,King of Sweden,436,NA +1176,NA,NA,Sophia Louise of_Mecklenburg- /,NA,,F,16 MAY 1685,NA,29 JUL 1735,Grabow,NA,NA,437 +1177,771,772,Frederick Augustus /,Frederick Augustus,,M,1685,NA,1686,NA,NA,267,NA +1178,771,772,Son (stillborn) /,Son (stillborn),,M,NA,NA,NA,NA,NA,267,NA +1179,NA,NA,Augusta of_Austria- Tuscany /,NA,,F,1825,NA,1864,NA,Archduchess,NA,438 +1180,1179,1150,Leopold /,Leopold,,M,1846,NA,1930,NA,NA,438,NA +1181,1179,1150,Therese /,Therese,,F,1850,NA,1925,NA,NA,438,NA +1182,1179,1150,Amulf /,Amulf,,M,1852,NA,1907,NA,NA,438,NA +1183,690,689,Luitpold /,Luitpold,,M,1901,NA,1914,NA,NA,258,NA +1184,690,689,Irmingard /,Irmingard,,F,1902,NA,1903,NA,NA,258,NA +1185,690,689,Rudolf /,Rudolf,,M,1909,NA,1912,NA,NA,258,NA +1186,NA,NA,Antoinette of_Luxembourg /,Antoinette of_Luxembourg,,F,1899,NA,1954,NA,NA,NA,439 +1187,1186,689,Henry /,Henry,,M,1922,NA,1958,NA,NA,439,NA +1188,1186,689,Irmingard /,Irmingard,,F,1923,NA,NA,NA,NA,439,NA +1189,1186,689,Editha /,Editha,,F,1924,NA,NA,NA,NA,439,NA +1190,1186,689,Hilda /,Hilda,,F,1926,NA,NA,NA,NA,439,NA +1191,1186,689,Gabriele /,Gabriele,,F,1927,NA,NA,NA,NA,439,NA +1192,1186,689,Sophie /,Sophie,,F,1935,NA,NA,NA,NA,439,NA +1193,NA,NA,Maximilian Joseph /,Maximilian Joseph,,M,NA,NA,NA,NA,Duke of Bavaria,NA,440 +1194,1158,1193,Ludwig /,Ludwig,,M,1831,NA,1920,NA,NA,440,NA +1195,1158,1193,Helene /,Helene,,F,1834,NA,1858,NA,NA,440,NA +1196,1158,1193,Elizabeth /,Elizabeth,,F,1837,NA,1898,NA,Empress,440,532 +1197,1158,1193,"Karl Theodor ""Gackl"" /",NA,,M,1839,NA,1909,NA,NA,440,441 +1198,1158,1193,Maria /,Maria,,F,1841,NA,1925,NA,NA,440,NA +1199,1158,1193,Mathilde /,Mathilde,,F,1843,NA,1925,NA,NA,440,NA +1200,1158,1193,Sophie /,Sophie,,F,1847,NA,1897,NA,NA,440,533 +1201,1158,1193,Maximilian /,Maximilian,,M,1849,NA,1893,NA,NA,440,NA +1202,NA,2899,Maria Josepha of_Portugal /,NA,,F,1857,NA,1943,NA,NA,1361,441 +1203,NA,NA,Alexander Zoubkoff/,Alexander,Zoubkoff,M,NA,NA,NA,NA,NA,NA,442 +1204,659,660,Irene /,Irene,,F,1939,NA,NA,NA,NA,243,657 +1205,659,660,Margaret /,Margaret,,F,1943,NA,NA,NA,NA,243,658 +1206,659,660,Mary Christina /,Mary Christina,,F,1947,NA,NA,NA,NA,243,659 +1207,1212,1211,Claus von_Amsberg/,Claus,von_Amsberg,M,6 SEP 1926,Dotzingen,NA,NA,NA,444,443 +1208,661,1207,William Alexander /,William Alexander,,M,1967,NA,NA,NA,Prince of Orange,443,NA +1209,661,1207,John Friso /,John Friso,,M,1968,NA,NA,NA,NA,443,NA +1210,661,1207,Constantine /,Constantine,,M,1969,NA,NA,NA,NA,443,NA +1211,NA,NA,Claus von_Amsberg/,Claus,von_Amsberg,M,NA,NA,NA,NA,NA,NA,444 +1212,NA,NA,Gosta von_dem_Bussche-/,Gosta,von_dem_Bussche-,F,NA,NA,NA,NA,Baroness,NA,444 +1213,2654,515,Frederick Francis_II of_Mecklenburg- /,NA,,M,1823,NA,1883,NA,Grand Duke,183,445 +1214,2652,2651,Marie of_Schwarzburg- Rudolstadt /,NA,,F,NA,NA,NA,NA,NA,1256,445 +1215,NA,NA,Antoine de_Bourbon of_France /,NA,,M,NA,NA,NA,NA,NA,NA,446 +1216,NA,NA,Helene of_Nassau Henrietta /,NA,,F,1831,NA,1888,NA,NA,NA,67 +1217,1220,1219,Henry_VI /,Henry_VI,,M,6 DEC 1421,"Windsor Castle,Berkshire,England",21 MAY 1471,"Tower of London,London,England",King of England,449,448 +1218,NA,2272,Margaret of_Anjou /,Margaret of_Anjou,,F,23 MAR 1429,"Pont-a-Mousson,Lorraine",25 AUG 1482,"Chateau de,Dampiere,Near Saumur",NA,1052,448 +1219,1222,1221,Henry_V /,Henry_V,,M,9 AUG 1387,Monmouth,31 AUG 1422,"Bois de,Vincennes",King of England,450,449 +1220,2074,2075,Catherine of_Valois /,Catherine of_Valois,,F,27 OCT 1401,Paris,3 JAN 1437,"Bermondsey,Abbey",NA,915,"449, 497" +1221,1243,1236,Henry_IV /,Henry_IV,,M,4 APR 1366,"Bolingbrooke,Castle",20 MAR 1413,"London,England",King of England,452,"450, 620" +1222,NA,1332,Mary De_Bohun/,Mary,De_Bohun,F,NA,NA,4 JUL 1394,"Peterborough,Castle",NA,914,450 +1223,1222,1221,Son /,Son,,M,APR 1382,NA,ABT 1382,NA,NA,450,NA +1224,1222,1221,Thomas /,Thomas,,M,1388,Kenilworth,22 MAR 1421,Beauge,Duke of Clarence,450,613 +1225,1222,1221,John /,John,,M,20 JUN 1389,NA,15 SEP 1435,Rouen,Duke of Bedford,450,"614, 484" +1226,1222,1221,Humphrey of_Gloucester /,Humphrey of_Gloucester,,M,SEP 1390,NA,23 FEB 1447,Bury St. Edmunds,Duke,450,"615, 616" +1227,1222,1221,Blanche /,Blanche,,F,1392,"Peterborough,Castle",21 MAY 1409,Germany,NA,450,617 +1228,1222,1221,Philippa /,Philippa,,F,4 JUL 1394,"Peterborough,Castle",5 JAN 1430,"Convent,of Vadstena",NA,450,618 +1229,127,286,Edward_III /,Edward_III,,M,13 NOV 1312,"Windsor Castle,Berkshire,England",21 JUN 1377,Sheen Palace,King of England,92,451 +1230,NA,2057,Philippa of_Hainault /,Philippa of_Hainault,,F,24 JUN 1311,Valenciennes,14 AUG 1369,"Windsor Castle,Windsor,Berkshire,England",NA,900,451 +1231,1230,1229,Edward /,Edward,,M,15 JUN 1330,"Woodstock,Oxfordshire,England",8 JUN 1376,"Westminster,Palace,London,England",Prince of Wales,451,513 +1232,1230,1229,Isabella /,Isabella,,F,16 JUN 1332,Woodstock,BEF OCT 1382,London,NA,451,516 +1233,1230,1229,Joan (Joanna) /,Joan (Joanna),,F,ABT FEB 1335,Woodstock,2 SEP 1348,Bayonne,NA,451,NA +1234,1230,1229,William of_Hatfield /,William of_Hatfield,,M,BEF 16 FEB 1337,Hatfield Herts,BEF 8 JUL 1337,NA,NA,451,NA +1235,1230,1229,Lionel of_Antwerp /,Lionel of_Antwerp,,M,29 NOV 1338,"Antwerp,Belgium",10 DEC 1363,"Dublin,Ireland",Duke of Clarence,451,"519, 493" +1236,1230,1229,John of_Gaunt /,John of_Gaunt,,M,MAR 1340,Ghent,3 FEB 1399,Leicester Castle,Duke of Lancast.,451,"452, 517, 485" +1237,1230,1229,Edmund of_Langley /,Edmund of_Langley,,M,5 JUN 1341,"Kings Langley,Herts",1 AUG 1402,"Kings Langley,Herts",Duke of York,451,"488, 534" +1238,1230,1229,Blanche /,Blanche,,F,MAR 1342,Tower of London,MAR 1342,Tower of London,NA,451,NA +1239,1230,1229,Mary /,Mary,,F,10 OCT 1344,"Waltham,Near Winchester",1361/1362,NA,NA,451,612 +1240,1230,1229,Margaret /,Margaret,,F,20 JUL 1346,"Windsor Castle,Berkshire,England",AFT 1 OCT 1361,NA,NA,451,518 +1241,1230,1229,William of_Windsor /,William of_Windsor,,M,24 JUN 1348,"Windsor Castle,Berkshire,England",SEP 1348,NA,NA,451,NA +1242,1230,1229,Thomas of_Woodstock /,Thomas of_Woodstock,,M,7 JAN 1355,Woodstock,15 SEP 1396/1397,Calais,Duke of Glouces.,451,491 +1243,1500,1499,Blanche of_Lancaster /,Blanche of_Lancaster,,F,1341,NA,12 SEP 1369,"Bolingbroke,Castle",NA,560,452 +1244,2874,1246,Isabella_II /,Isabella_II,,F,1830,"Madrid,Spain",1904,NA,Queen of Spain,454,453 +1245,NA,NA,Don_Francisco de_Asis/,Don_Francisco,de_Asis,M,1822,NA,1902,NA,NA,NA,453 +1246,2879,2878,Ferdinand_VII /,Ferdinand_VII,,M,1784,NA,1833,NA,King of Spain,1348,"1345, 1346, 1347, 454" +1247,1251,835,Mary Stuart/,Mary,Stuart,F,7 DEC 1542,"Linlithgow,Scotland",8 FEB 1587,",England",Queen of Scots,459,"456, 455, 457" +1248,2439,2438,Francis_II /,Francis_II,,M,19 JAN 1544,"Fontainebleau,France",5 DEC 1560,"Orleans,France",King of France,1148,456 +1249,1431,1432,Henry Stuart/,Henry,Stuart,M,1545,NA,1567,NA,Lord Darnley,528,455 +1250,NA,NA,James Hepburn/,James,Hepburn,M,NA,NA,1576,NA,Earl Bothwell-4,NA,457 +1251,NA,1815,Mary of_Guise /,Mary of_Guise,,F,1515,NA,1560,NA,NA,727,459 +1252,1467,1466,James_III /,James_III,,M,1451,"Stirling,Scotland",1488,NA,King of Scotland,547,460 +1253,NA,NA,Richard de_Burgh /,Richard de_Burgh,,M,NA,NA,NA,NA,Earl of Ulster,NA,548 +1254,1220,1352,Edmund Tudor/,Edmund,Tudor,M,ABT 1430,NA,1456,NA,Earl of Richmond,497,461 +1255,1336,1334,Margaret of_Richmond Beaufort/,Margaret of_Richmond,Beaufort,F,NA,NA,1509,NA,Countess,487,"461, 495, 496" +1256,127,286,John of_Eltham /,John of_Eltham,,M,ABT 15 AUG 1316,"Eltham Palace,Kent",14 SEP 1336,Perth,Earl of Cornwall,92,NA +1257,127,286,Eleanor /,Eleanor,,F,18 JUN 1318,Woodstock,22 APR 1355,Deventer,NA,92,463 +1258,127,286,Joan of_the_Tower /,Joan of_the_Tower,,F,5 JUL 1321,"Tower of London,London,England",7 SEP 1362,Hertford,NA,92,540 +1259,NA,NA,Rainald_II of_Gueldres /,Rainald_II of_Gueldres,,M,NA,NA,NA,NA,Duke,NA,463 +1260,NA,NA,Charles of_Orleans /,Charles of_Orleans,,M,1391,NA,1465,NA,Duke of Orleans,NA,462 +1261,1282,1281,Edward_I (Longshanks) /,Edward_I (Longshanks),,M,17 JUN 1239,"Westminster,Palace,London,England",7 JUL 1307,Near Carlisle,King of England,466,"464, 465" +1262,NA,1746,Eleanor of_Castile /,Eleanor of_Castile,,F,ABT 1244,Castile,24 NOV 1290,"Herdeby,Near Grantham,Lincolnshire",NA,693,464 +1263,1262,1261,Eleanor /,Eleanor,,F,17 JUN 1264,"Windsor Castle,Berkshire,England",12 OCT 1297,Ghent,NA,464,NA +1264,1262,1261,Joan /,Joan,,F,1265,NA,1265,NA,NA,464,NA +1265,1262,1261,John /,John,,M,10 JUL 1266,"Windsor,Berkshire,England",3 AUG 1271,"Westminster,London,England",NA,464,NA +1266,1262,1261,Henry /,Henry,,M,13 JUL 1267,"Windsor,Berkshire,England",14 OCT 1274,"Merton,Surrey",NA,464,NA +1267,1262,1261,Julian (Katherine) /,Julian (Katherine),,F,1271,Holy Land,1271,Holy Land,NA,464,NA +1268,1262,1261,Joan of_Acre /,Joan of_Acre,,F,1272,"Acre,Palestine",23 APR 1307,"Clare,Suffolk,England",NA,464,"606, 607" +1269,1262,1261,Alfonso /,Alfonso,,M,24 NOV 1273,Bordeaux,19 AUG 1284,"Windsor Castle,Berkshire,England",Earl of Chester,464,NA +1270,1262,1261,Margaret /,Margaret,,F,11 SEP 1275,"Windsor Castle,Berkshire,England",1318,Brussels,NA,464,608 +1271,1262,1261,Berengaria /,Berengaria,,F,1276,Kennington,ABT 1279,NA,NA,464,NA +1272,1262,1261,Mary /,Mary,,F,11 MAR 1278,"Windsor Castle,Berkshire,England",BEF 8 JUL 1332,Amesbury,NA,464,NA +1273,1262,1261,Alice /,Alice,,F,12 MAR 1279,Woodstock,1291,NA,NA,464,NA +1274,1262,1261,Elizabeth /,Elizabeth,,F,AUG 1282,Rhuddlan Castle,5 MAY 1316,NA,NA,464,"609, 610" +1275,1262,1261,Beatrice /,Beatrice,,F,ABT 1286,Aquitaine,NA,NA,NA,464,NA +1276,1262,1261,Blanche /,Blanche,,F,1290,NA,1290,NA,NA,464,NA +1277,2485,1739,Marguerite of_France /,Marguerite of_France,,F,1279,Paris,14 FEB 1317,"Marlborough,Castle",NA,688,465 +1278,1277,1261,Thomas of_Brotherton /,Thomas of_Brotherton,,M,1 JUN 1300,"Brotherton,Yorkshire,England",AUG 1338,NA,Earl of Norfolk,465,"562, 611" +1279,1277,1261,Edmund of_Woodstock /,Edmund of_Woodstock,,M,5 AUG 1301,Woodstock,19 MAR 1330,Winchester,Earl of Kent,465,564 +1280,1277,1261,Eleanor /,Eleanor,,F,4 MAY 1306,Winchester,1311,Amesbury,NA,465,NA +1281,1366,1364,Henry_III /,Henry_III,,M,1 OCT 1207,"Winchester,Castle",16 NOV 1272,"Westminster,Palace,London,England",King of England,503,466 +1282,NA,1881,Eleanor of_Provence /,Eleanor of_Provence,,F,ABT 1217,Aix-en-Provence,24 JUN 1291,"Amesbury,Wiltshire",NA,777,466 +1283,1282,1281,Margaret /,Margaret,,F,29 SEP 1240,"Windsor Castle,Berkshire,England",26 FEB 1275,"Cupar Castle,Fife",NA,466,603 +1284,1282,1281,Beatrice /,Beatrice,,F,25 JUN 1242,Bordeaux,24 MAR 1275,"London,England",NA,466,604 +1285,1282,1281,Edmund Crouchback of_Leicester /,NA,,M,16 JAN 1245,"London,England",5 JUN 1296,Bayonne,Earl,466,"605, 558" +1286,1282,1281,Richard /,Richard,,M,ABT 1247,NA,BEF 1256,NA,NA,466,NA +1287,1282,1281,John /,John,,M,ABT 1250,NA,BEF 1256,NA,NA,466,NA +1288,1282,1281,Katherine /,Katherine,,F,25 NOV 1253,Westminster,3 MAY 1257,"Windsor Castle,Berkshire,England",NA,466,NA +1289,1282,1281,William /,William,,M,ABT 1256,NA,ABT 1256,NA,NA,466,NA +1290,1282,1281,Henry /,Henry,,M,AFT 1256,NA,ABT 1257,NA,NA,466,NA +1291,NA,1735,John Spencer/,John,Spencer,M,1734,NA,1783,NA,Hon.,685,467 +1292,NA,NA,Georgiana Carteret/,Georgiana,Carteret,F,NA,NA,1780,NA,Lady,NA,467 +1293,NA,NA,Henrietta /,Henrietta,,F,28 FEB 1792,Maastricht,26 OCT 1864,"Schloss Rahr,Near Aachen",NA,NA,468 +1294,1299,1300,Paul_I Romanov/,Paul_I,Romanov,M,1754,NA,1801,NA,Emperor,471,469 +1295,2690,2689,Maria Feodorovna of_Wurttemberg /,NA,,F,1759,NA,1828,NA,NA,1274,469 +1296,1295,1294,Alexander_I Romanov/,Alexander_I,Romanov,M,1777,NA,1825,NA,Tsar of Russia,469,470 +1297,NA,NA,Yelizaveta Alekseyevna of_Baden /,NA,,F,NA,NA,NA,NA,NA,NA,470 +1298,1297,1296,Konstantin Romanov/,Konstantin,Romanov,M,1779,NA,NA,NA,NA,470,NA +1299,2692,2691,Catherine_II the_Great /,Catherine_II the_Great,,F,2 MAY 1729,"Szczecin,Poland",17 NOV 1796,"St. Petersburg,Russia",Empress,1275,471 +1300,1303,1419,Peter_III Romanov/,Peter_III,Romanov,M,1728,"Kiel,Germany",17 JUL 1762,NA,Emperor Russia,473,471 +1301,1314,1309,Peter_I the_Great Romanov/,Peter_I the_Great,Romanov,M,1672,NA,1725,NA,Emperor,478,"472, 474" +1302,NA,NA,Catherine_I /,Catherine_I,,F,1683,"Jakobstadt,Latvia",1727,NA,Empress,NA,472 +1303,1302,1301,Anna Petrovna Romanov/,Anna Petrovna,Romanov,F,1708,NA,1728,NA,NA,472,473 +1304,1302,1301,Elizabeth Petrovna Romanov/,Elizabeth Petrovna,Romanov,F,1709,"Near Moscow,Russia",1761/1762,NA,Empress,472,NA +1305,NA,NA,Yevdokiya Lopukhina /,Yevdokiya Lopukhina,,F,NA,NA,NA,NA,NA,NA,474 +1306,1305,1301,Alexis Romanov/,Alexis,Romanov,M,1690,NA,1718,NA,NA,474,475 +1307,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,475 +1308,1307,1306,Peter_II Romanov/,Peter_II,Romanov,M,1715,NA,1730,NA,NA,475,NA +1309,1313,1312,Alexis_I Michaylovich Romanov/,Alexis_I Michaylovich,Romanov,M,1629,NA,1675/1676,NA,Emperor,477,"476, 478" +1310,NA,NA,Maria Miroslavkaya /,Maria Miroslavkaya,,F,NA,NA,1668,NA,NA,NA,476 +1311,1310,1309,Feodor_III (Theodore) Romanov/,Feodor_III (Theodore),Romanov,M,1662,NA,1682,NA,Emperor,476,479 +1312,2661,2660,Mikhail_III Feodorovich Romanov/,Mikhail_III Feodorovich,Romanov,M,1597,NA,1645,NA,NA,1261,477 +1313,2659,2658,Eudoxia Streshniev/,Eudoxia,Streshniev,F,1608,NA,1645,NA,NA,1260,477 +1314,2662,1326,Natalia Narishkina /,Natalia Narishkina,,F,1651,NA,1694,NA,NA,483,478 +1315,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,479 +1316,1315,1311,Ivan_V Romanov/,Ivan_V,Romanov,M,1666,NA,1696,NA,Emperor,479,480 +1317,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,480 +1318,1317,1316,Anna Ioannovna Romanov/,Anna Ioannovna,Romanov,F,1693,NA,1740,NA,Empress,480,NA +1319,1317,1316,Yekaterina of_Mecklenburg /,Yekaterina of_Mecklenburg,,F,NA,NA,NA,NA,NA,480,481 +1320,NA,NA,Unknown /,Unknown,,M,NA,NA,NA,NA,NA,NA,481 +1321,1319,1320,Anna Leopoldovna of_Brunswick /,NA,,F,NA,NA,NA,NA,NA,481,482 +1322,NA,NA,Unknown /,Unknown,,M,NA,NA,NA,NA,NA,NA,482 +1323,1321,1322,Ivan_VI Romanov/,Ivan_VI,Romanov,M,1740,NA,1741,NA,Emperor,482,NA +1324,1310,1309,Ivan Romanov/,Ivan,Romanov,M,NA,NA,NA,NA,NA,476,NA +1325,1310,1309,Sophia Romanov/,Sophia,Romanov,F,ABT 1657,NA,NA,NA,NA,476,NA +1326,NA,NA,Cyril Naryshkin/,Cyril,Naryshkin,M,1623,NA,1691,NA,NA,NA,483 +1327,NA,2270,Jacquetta of_Luxembourg /,Jacquetta of_Luxembourg,,F,NA,NA,NA,NA,NA,1050,"484, 1051" +1328,NA,2063,Catherine Swynford Roet/,Catherine Swynford,Roet,F,1350,NA,10 MAY 1403,Lincoln,NA,906,"907, 485" +1329,1328,1236,John Beaufort /,John Beaufort,,M,NA,NA,1410,NA,Earl Sommerset,485,"486, 736" +1330,1328,1236,Henry Beaufort /,Henry Beaufort,,M,NA,NA,1447,NA,Cardinal,485,NA +1331,1328,1236,Joan Beaufort /,Joan Beaufort,,F,NA,NA,NA,NA,NA,485,"916, 372" +1332,NA,NA,Humphrey De_Bohun/,Humphrey,De_Bohun,M,NA,NA,NA,NA,Earl of Hereford,NA,914 +1333,1595,1329,Henry Beaufort/,Henry,Beaufort,M,1401,NA,1418,NA,Earl Sommerset,486,NA +1334,1595,1329,John Beaufort/,John,Beaufort,M,1403,NA,1444,NA,Duke Sommerset,486,487 +1335,1595,1329,Edmund Beaufort/,Edmund,Beaufort,M,NA,NA,1455,NA,Duke Sommerset,486,920 +1336,NA,NA,Margaret Beauchamp/,Margaret,Beauchamp,F,NA,NA,NA,NA,NA,NA,487 +1337,NA,2062,Isabella of_Castile /,Isabella of_Castile,,F,NA,NA,23 NOV 1393,NA,NA,908,488 +1338,1337,1237,Edward /,Edward,,M,NA,NA,1415,Agincourt,Duke of York,488,1072 +1339,NA,NA,Anne Beauchamp/,Anne,Beauchamp,F,NA,NA,NA,NA,Lady,NA,370 +1340,1339,987,Isabel Nevill/,Isabel,Nevill,F,NA,NA,NA,NA,Lady,370,381 +1341,920,529,Louis_XIV /,Louis_XIV,,M,5 SEP 1638,"St Germain-en-,Laye,France",1 SEP 1715,"Versailles,France",King of France,521,"523, 524" +1342,1331,990,Richard Nevill/,Richard,Nevill,M,NA,NA,1460,NA,Earl Salisbury,372,490 +1343,NA,2069,Eleanor De_Bohun/,Eleanor,De_Bohun,F,NA,NA,3 OCT 1399,"Barking Abbey,Essex,England",Lady,912,491 +1344,1348,1349,Roger Mortimer/,Roger,Mortimer,M,NA,NA,1398,",,,Ireland",Earl of March IV,494,492 +1345,NA,2277,Eleanor Holland/,Eleanor,Holland,F,NA,NA,1405,NA,NA,1057,"492, 1058" +1346,1345,1344,Edmund Mortimer/,Edmund,Mortimer,M,NA,NA,1425,NA,Earl of March,492,536 +1347,NA,2060,Violante of_Milan Visconti/,Violante of_Milan,Visconti,F,NA,NA,1404,NA,NA,903,"493, 904" +1348,1418,1235,Philippa of_Ulster /,Philippa of_Ulster,,F,NA,NA,1382,NA,Countess,519,494 +1349,NA,1904,Edmund Mortimer/,Edmund,Mortimer,M,NA,NA,1381,NA,Earl of March 3d,795,494 +1350,NA,NA,Henry Stafford/,Henry,Stafford,M,NA,NA,1481,NA,Sir,NA,495 +1351,NA,NA,Thomas Stanley/,Thomas,Stanley,M,NA,NA,1504,NA,Lord,NA,496 +1352,NA,2174,Owen Tudor/,Owen,Tudor,M,NA,NA,1461,NA,NA,976,497 +1353,1220,1352,Jasper Tudor/,Jasper,Tudor,M,NA,NA,1495/1496,NA,Earl of Pembroke,497,537 +1354,NA,NA,Natalia Sheremetevskaya/,Natalia,Sheremetevskaya,F,1880,NA,1952,NA,NA,NA,498 +1355,163,152,Maria Pavlovna Romanov/,Maria Pavlovna,Romanov,F,1890,NA,1958,NA,NA,50,512 +1356,NA,2927,Olga Karnovich/,Olga,Karnovich,F,1866,NA,1929,NA,Princess,1382,499 +1357,1356,152,Vladimir Romanov/,Vladimir,Romanov,M,1896,NA,1918,NA,NA,499,NA +1358,1356,152,Natalie Romanov/,Natalie,Romanov,F,1905,NA,NA,NA,NA,499,NA +1359,1356,152,Irina Romanov/,Irina,Romanov,F,1908,NA,NA,NA,NA,499,NA +1360,1354,155,George Romanov/,George,Romanov,M,1910,NA,1931,NA,NA,498,NA +1361,NA,NA,Peter of_Oldenburg /,Peter of_Oldenburg,,M,1868,NA,1924,NA,Prince,NA,500 +1362,157,149,Helen Vladimirovna of_Russia Romanov/,NA,Romanov,F,1882,NA,1957,NA,Grand Duchess,47,76 +1363,NA,NA,Charles of_Brunswick- Wolfenbuttel /,NA,,M,NA,NA,NA,NA,Duke,NA,501 +1364,1372,1371,John Lackland /,John Lackland,,M,24 DEC 1167,"Beaumont Palace,Oxford,England",19 OCT 1216,"Newark Castle,Newark,Nottinghamshire,England",King of England,504,"502, 503" +1365,NA,1877,Isabella De_Clare of_Gloucester /,NA,,F,NA,NA,NOV 1217,NA,Countess,773,"502, 774, 775" +1366,532,533,Isabella of_Angouleme /,Isabella of_Angouleme,,F,ABT 1188,Angouleme,31 MAY 1246,Fontevraud,NA,351,"503, 776" +1367,1366,1364,Richard /,Richard,,M,5 JAN 1209,"Winchester,Castle,England",1272,"Newark Castle,Newark,England",Earl of Cornwall,503,"599, 600, 601" +1368,1366,1364,Joan /,Joan,,F,22 JUL 1210,"Gloucester,England",4 MAR 1238,"Near London,England",NA,503,781 +1369,1366,1364,Isabella /,Isabella,,F,1214,Gloucester,1 DEC 1241,Foggia,NA,503,602 +1370,1366,1364,Eleanor /,Eleanor,,F,1215,Gloucester,13 APR 1275,"Montargis,France",NA,503,"336, 598" +1371,1395,1405,Henry_II Curtmantle /,Henry_II Curtmantle,,M,25 MAR 1133,Le Mans,6 JUL 1189,Chinon,King of England,510,504 +1372,NA,1868,Eleanor of_Aquitaine /,Eleanor of_Aquitaine,,F,ABT 1122,Bordeaux/Berlin,1 APR 1204,Fontevraud,Duchess,765,"766, 504" +1373,1372,1371,William /,William,,M,17 AUG 1152,"Normandy,England",ABT APR 1156,"Wallingford,Castle,Berkshire,England",NA,504,NA +1374,1372,1371,Henry the_Young_King /,Henry the_Young_King,,M,28 FEB 1155,Bermondsey,11 JUN 1183,Martel,King of England,504,567 +1375,1372,1371,Matilda (Maud) /,Matilda (Maud),,F,1156,"London,England",28 JUN 1189,Brunswick,NA,504,566 +1376,1372,1371,Richard_I Coeur_de_Lion /,Richard_I Coeur_de_Lion,,M,1157,"Beaumont Palace,Oxford,England",6 APR 1199,"Chalus,Limousin",King of England,504,565 +1377,1372,1371,Geoffrey /,Geoffrey,,M,23 SEP 1158,NA,19 AUG 1186,Paris,Duke of Brittany,504,563 +1378,1372,1371,Eleanor /,Eleanor,,F,13 OCT 1162,"Domfront,Normandy",31 OCT 1214,Burgos,NA,504,571 +1379,1372,1371,Joan Plantagenet/,Joan,Plantagenet,F,OCT 1165,Angers,4 SEP 1199,NA,NA,504,"590, 591" +1380,1526,1525,William_I the_Conqueror /,William_I the_Conqueror,,M,1027/1028,"Falaise,Normandy,France",7 SEP 1087,"Near Rouen,France",King of England,572,505 +1381,NA,1850,Matilda of_Flanders /,Matilda of_Flanders,,F,ABT 1031,"Flanders,France",2 NOV 1083,Caen,NA,752,505 +1382,1381,1380,Robert Curthose /,Robert Curthose,,M,1054,"Normandy,France",10 FEB 1134,Cardiff Castle,Duke of Normandy,505,753 +1383,1381,1380,Richard /,Richard,,M,ABT 1055,NA,ABT 1081,New Forest,NA,505,NA +1384,1381,1380,William_II Rufus /,William_II Rufus,,M,1056/1060,"Normandy,France",2 AUG 1100,New Forest,King of England,505,NA +1385,1381,1380,Cecilia of_Holy_Trinity /,Cecilia of_Holy_Trinity,,F,NA,NA,30 JUL 1126,Caen,Abess,505,NA +1386,1381,1380,Agatha /,Agatha,,F,NA,NA,NA,NA,NA,505,NA +1387,1381,1380,Adeliza a_nun /,Adeliza a_nun,,F,NA,NA,NA,NA,NA,505,NA +1388,1381,1380,Adela /,Adela,,F,ABT 1062,"Normandy,France",8 MAR 1137/1138,"Marcigny-sur-,Loire,France",NA,505,569 +1389,1381,1380,Matilda /,Matilda,,F,NA,NA,NA,NA,NA,505,NA +1390,1381,1380,Constance /,Constance,,F,ABT 1066,"Normandy,France",13 AUG 1090,"Brittany,France",NA,505,586 +1391,1381,1380,Henry_I Beauclerc /,Henry_I Beauclerc,,M,ABT SEP 1068,"Selby,Yorkshire,England",1 DEC 1135,"St Denis-le-,Fermont,Near Gisors",King of England,505,"506, 507" +1392,1512,1511,Matilda (Edith) of_Scotland /,NA,,F,1079/1080,Dunfermline,1 MAY 1118,"Westminster,Palace,London,England",NA,568,506 +1393,1392,1391,Robert of_Gloucester /,Robert of_Gloucester,,M,NA,NA,1147,NA,NA,506,NA +1394,1392,1391,William /,William,,M,BEF 5 AUG 1103,Winchester,25 NOV 1120,NA,Duke of Normandy,506,759 +1395,1392,1391,Matilda /,Matilda,,F,ABT 1103/1104,Winchester,10 SEP 1167,Rouen,NA,506,"509, 510" +1396,NA,1859,Adeliza of_Louvain /,Adeliza of_Louvain,,F,ABT 1105,"Louvain,Belgium",ABT 23 APR 1151,"Afflighem,Flanders",NA,756,"507, 625" +1397,1388,1517,Stephen /,Stephen,,M,ABT 1096,"Blois,France",25 OCT 1154,Dover Castle,King of England,569,508 +1398,1516,1522,Matilda of_Boulogne /,Matilda of_Boulogne,,F,ABT 1103/1105,Boulogne,3 MAY 1152,"Hedingham Castle,Essex,England",NA,589,508 +1399,1398,1397,Baldwin /,Baldwin,,M,ABT 1126,NA,BEF 2 DEC 1135,"London,England",NA,508,NA +1400,1398,1397,Eustace of_Boulongne /,Eustace of_Boulongne,,M,1130/1131,NA,10 AUG 1153,Bury St Edmunds,Count,508,570 +1401,1398,1397,Matilda /,Matilda,,F,ABT 1133,NA,ABT 1135,NA,NA,508,NA +1402,1398,1397,William of_Boulogne /,William of_Boulogne,,M,ABT 1134,NA,11 OCT 1159,Toulouse,Count,508,587 +1403,1398,1397,Mary of_Boulogne /,Mary of_Boulogne,,F,ABT 1136,NA,1182,St Austrebert,Countess,508,588 +1404,NA,NA,Henry_V /,Henry_V,,M,1086,NA,23 MAY 1125,Utrecht,Holy Roman Empr,NA,509 +1405,NA,NA,Geoffrey_V Plantagenet/,Geoffrey_V,Plantagenet,M,NA,NA,7 SEP 1151,Chateau-du-Loir,Count of Anjou,NA,510 +1406,NA,2928,Audrey Emery/,Audrey,Emery,F,1904,NA,NA,NA,NA,1383,511 +1407,1406,164,Paul Romanov/,Paul,Romanov,M,NA,NA,NA,NA,Prince Ilynsky,511,NA +1408,457,456,William /,William,,M,1884,NA,1965,NA,Prince of Sweden,155,512 +1409,1355,1408,Lennart Gustaf Nicholas /,NA,,M,8 MAY 1909,"Stockholm,Sweden",NA,NA,Count of Wisborg,512,"1295, 1296" +1410,1505,1279,Joan /,Joan,,F,29 SEP 1328,NA,8 AUG 1385,"Wallingford,Castle,Berkshire,England",Countess of Kent,564,"901, 513" +1411,1410,1231,Edward /,Edward,,M,27 JAN 1365,Angouleme,1372,"Bordeaux,France",NA,513,NA +1412,1410,1231,Richard_II /,Richard_II,,M,6 JAN 1367,"Bordeaux,France",6 JAN 1400,"Pontefract,Castle",King of England,513,"514, 515" +1413,NA,2291,Anne of_Bohemia /,Anne of_Bohemia,,F,11 MAY 1366,Prague,BEF 3 JUN 1394,Sheen Palace,NA,1066,514 +1414,2074,2075,Isabella of_France /,Isabella of_France,,F,9 NOV 1387,"Hotel du Louvre,Paris,France",13 SEP 1409,Blois,NA,915,515 +1415,NA,NA,Enguerrand_VII de_Courcy /,Enguerrand_VII de_Courcy,,M,NA,NA,1396,NA,Earl of Bedford,NA,516 +1416,NA,2062,Constanza (Constance) /,Constanza (Constance),,F,NA,NA,24 MAR 1394,"Leicester,England",Queen of Castile,905,517 +1417,NA,NA,John 2d Hastings/,John 2d,Hastings,M,NA,NA,1375,NA,Earl of Pembroke,NA,518 +1418,NA,2059,Elizabeth de_Burgh /,Elizabeth de_Burgh,,F,NA,NA,10 DEC 1363,Dublin,Lady,902,519 +1419,NA,NA,Charles Frederick of_Holstein- /,NA,,M,1700,NA,1739,NA,Duke,NA,473 +1420,896,2131,Marie-Therese of_Spain /,Marie-Therese of_Spain,,F,20 SEP 1638,"Madrid,Spain",30 JUL 1683,"Versailles,France",NA,948,523 +1421,NA,NA,Francoise d'Aubigne /,Francoise d'Aubigne,,F,27 NOV 1635,"Niort,France",15 APR 1719,"St Cyr,France",NA,NA,524 +1422,2920,2426,Louis_XV /,Louis_XV,,M,15 FEB 1710,"Versailles,France",10 MAY 1774,"Versailles,France",King of France,344,525 +1423,NA,2504,Maria of_Poland Leczinska/,Maria of_Poland,Leczinska,F,1703,NA,1768,NA,NA,1183,525 +1424,587,894,Louis_XVI /,Louis_XVI,,M,23 AUG 1754,"Versailles,France",21 JAN 1793,"Paris,France",King of France,1185,526 +1425,NA,NA,Marie Antoinette of_Austria /,NA,,F,2 NOV 1755,"Vienna,Austria",16 OCT 1793,"Paris,France",NA,NA,526 +1426,830,839,Henry Brandon/,Henry,Brandon,M,1516,NA,1534,NA,Earl of Lincoln,318,NA +1427,830,839,Frances Brandon/,Frances,Brandon,F,1517,NA,1559,NA,NA,318,"527, 935" +1428,830,839,Eleanor Brandon/,Eleanor,Brandon,F,NA,NA,1547,NA,NA,318,934 +1429,2440,1816,Madeleine of_France /,Madeleine of_France,,F,NA,NA,1537,NA,NA,728,458 +1430,NA,NA,Henry Grey/,Henry,Grey,M,NA,NA,1554,NA,Duke of Suffolk,NA,527 +1431,776,836,Margaret Douglas/,Margaret,Douglas,F,1515,NA,1578,NA,Lady,529,528 +1432,1479,1478,Matthew Stuart/,Matthew,Stuart,M,1516,NA,1571,NA,Earl Lennox 4th,551,528 +1433,1431,1432,Charles Stuart/,Charles,Stuart,M,NA,NA,1576,NA,Earl Lennox 6th,528,530 +1434,NA,2101,Elizabeth Cavendish/,Elizabeth,Cavendish,F,NA,NA,1581,NA,NA,930,530 +1435,1434,1433,Arabella Stuart/,Arabella,Stuart,F,NA,NA,1615,NA,NA,530,531 +1436,2112,2109,William Seymour/,William,Seymour,M,NA,NA,1660,NA,Duke Sommerset,938,"531, 932" +1437,1328,1236,Thomas Beaufort/,Thomas,Beaufort,M,NA,NA,NA,NA,Duke of Exeter,485,917 +1438,NA,2437,Franz Josef of_Austria /,NA,,M,18 AUG 1830,"Vienna,Austria",21 NOV 1916,NA,Emperor,1150,532 +1439,1196,1438,Rudolf /,Rudolf,,M,1858,NA,1889,NA,Archduke,532,NA +1440,1196,1438,Daughter_1 /,Daughter_1,,F,NA,NA,NA,NA,NA,532,NA +1441,1196,1438,Daughter_2 /,Daughter_2,,F,NA,NA,NA,NA,NA,532,NA +1442,NA,NA,/,NA,,M,NA,NA,NA,NA,duc d' Alencon,NA,533 +1443,NA,NA,Joan Holland/,Joan,Holland,F,NA,NA,1434,NA,NA,NA,534 +1444,NA,2299,Maud Clifford/,Maud,Clifford,F,NA,NA,NA,NA,NA,1073,"1074, 535" +1445,NA,2279,Anne Stafford/,Anne,Stafford,F,NA,NA,NA,NA,NA,1059,536 +1446,NA,NA,Catherine Woodville/,Catherine,Woodville,F,NA,NA,NA,NA,NA,NA,537 +1447,1831,1830,Robert_I Bruce/,Robert_I,Bruce,M,1274,NA,1329,"Cardoss Castle,Firth of Clyde,Scotland",King of Scotland,740,"538, 539" +1448,NA,1818,Isobel of_Mar /,Isobel of_Mar,,F,NA,NA,NA,NA,NA,730,538 +1449,1448,1447,Margery Bruce/,Margery,Bruce,F,NA,NA,1316,NA,NA,538,542 +1450,1829,1253,Elizabeth de_Burgh /,Elizabeth de_Burgh,,F,NA,NA,1327,NA,NA,548,539 +1451,1450,1447,David_II Bruce/,David_II,Bruce,M,1329,NA,1371,NA,King of Scotland,539,"540, 541" +1452,NA,1752,Thored /,Thored,,M,NA,NA,NA,NA,Ealdorman,698,697 +1453,NA,1841,Margaret Drummond/,Margaret,Drummond,F,NA,NA,1375,NA,NA,747,"746, 541" +1454,NA,NA,Walter Stewart/,Walter,Stewart,M,1292,NA,1326,NA,NA,NA,542 +1455,1449,1454,Robert_II /,Robert_II,,M,1316,NA,1390,NA,King of Scotland,542,"543, 545" +1456,NA,1819,Elizabeth of_Rowallan Mure/,Elizabeth of_Rowallan,Mure,F,NA,NA,NA,NA,NA,731,543 +1457,1456,1455,Robert_III /,Robert_III,,M,NA,NA,NA,NA,King of Scotland,543,544 +1458,1456,1455,Walter /,Walter,,M,NA,NA,NA,NA,NA,543,NA +1459,1456,1455,Robert /,Robert,,M,NA,NA,NA,NA,Earl of Fife,543,554 +1460,1456,1455,Alexander /,Alexander,,M,NA,NA,NA,NA,NA,543,NA +1461,NA,1825,Annabella /,Annabella,,F,NA,NA,1401,NA,NA,737,544 +1462,1461,1457,David of_Rothesay /,David of_Rothesay,,M,NA,NA,NA,NA,Duke,544,NA +1463,1461,1457,James_I /,James_I,,M,1394,"Dunfermline,Scotland",1437,NA,King of Scotland,544,546 +1464,NA,1820,Euphemia of_Ross /,Euphemia of_Ross,,F,NA,NA,NA,NA,NA,732,545 +1465,1595,1329,Joan Beaufort/,Joan,Beaufort,F,NA,NA,1445,NA,NA,486,"546, 555" +1466,1465,1463,James_II /,James_II,,M,1430,"Edinburgh,Scotland",1460,"Roxburgh Castle,Scotland",King of Scotland,546,547 +1467,NA,1826,Marie of_Gueldres /,Marie of_Gueldres,,F,NA,NA,1463,NA,NA,738,547 +1468,1828,1827,John /,John,,M,1455,NA,1513,NA,King of Denmark,739,1343 +1469,1828,1827,Margaret of_Denmark /,Margaret of_Denmark,,F,ABT 1457,NA,1486,NA,NA,739,460 +1470,1467,1466,Alexander /,Alexander,,M,ABT 1454,NA,1485,NA,Duke of Albany,547,"553, 1344" +1471,1467,1466,John /,John,,M,NA,NA,NA,NA,Earl of Mar,547,NA +1472,1467,1466,Mary /,Mary,,F,NA,NA,NA,NA,NA,547,"315, 549" +1473,NA,NA,Thomas Boyd/,Thomas,Boyd,M,NA,NA,NA,NA,Earl of Arran,NA,315 +1474,NA,NA,James Hamilton/,James,Hamilton,M,1479,NA,NA,NA,Lord 1st,NA,549 +1475,1472,1474,Elizabeth /,Elizabeth,,F,NA,NA,NA,NA,NA,549,550 +1476,1472,1474,James Hamilton/,James,Hamilton,M,1477,NA,1529,NA,Earl of Arran I,549,556 +1477,NA,NA,Matthew Stewart/,Matthew,Stewart,M,NA,NA,NA,NA,Earl Lennox II,NA,550 +1478,1475,1477,John Stewart/,John,Stewart,M,NA,NA,NA,NA,Earl Lennox III,550,551 +1479,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,551 +1480,1479,1478,John Stuart/,John,Stuart,M,NA,NA,NA,NA,Lord d'Aubigny V,551,552 +1481,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,552 +1482,1481,1480,Esme Stuart/,Esme,Stuart,M,NA,NA,1583,NA,Duke Lennox I,552,NA +1483,NA,NA,Catherine Sinclair/,Catherine,Sinclair,F,NA,NA,NA,NA,NA,NA,553 +1484,2865,1470,John /,John,,M,1484,NA,1536,NA,Duke of Albany,1344,NA +1485,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,554 +1486,1485,1459,Murdoch /,Murdoch,,M,NA,NA,NA,NA,Duke of Albany,554,NA +1487,NA,NA,James Stewart/,James,Stewart,M,NA,NA,NA,NA,Sir,NA,555 +1488,1465,1487,John Stewart/,John,Stewart,M,NA,NA,NA,NA,Earl of Atholl,555,NA +1489,1465,1487,James Stewart/,James,Stewart,M,NA,NA,NA,NA,Earl of Buchan,555,NA +1490,1465,1487,Andrew Stewart/,Andrew,Stewart,M,NA,NA,NA,NA,Bishop of Moray,555,NA +1491,NA,NA,Janet Beaton/,Janet,Beaton,F,NA,NA,ABT 1522,NA,NA,NA,556 +1492,1491,1476,James Hamilton/,James,Hamilton,M,1515,NA,1575,NA,Earl of Arran II,556,557 +1493,NA,NA,Margaret Douglas/,Margaret,Douglas,F,NA,NA,NA,NA,NA,NA,557 +1494,1493,1492,James Hamilton/,James,Hamilton,M,NA,NA,1609,NA,3d Earl of Arran,557,NA +1495,1895,1894,Blanche of_Artois /,Blanche of_Artois,,F,NA,NA,2 MAY 1302,NA,NA,786,558 +1496,1495,1285,Thomas /,Thomas,,M,NA,NA,NA,NA,Earl Lancaster,558,NA +1497,1495,1285,Henry /,Henry,,M,NA,NA,NA,NA,Earl Lancaster,558,559 +1498,NA,NA,Maud Chaworth/,Maud,Chaworth,F,NA,NA,NA,NA,NA,NA,559 +1499,1498,1497,Henry /,Henry,,M,NA,NA,1361,NA,Duke Lancaster I,559,560 +1500,NA,NA,Isabel de_Beaumont/,Isabel,de_Beaumont,F,NA,NA,NA,NA,NA,NA,560 +1501,1243,1236,Philippa of_Lancaster /,Philippa of_Lancaster,,F,ABT 1360,NA,1415,NA,NA,452,561 +1502,1243,1236,Elizabeth /,Elizabeth,,F,1364,NA,1426,NA,NA,452,"1067, 1068" +1503,NA,NA,John_I /,John_I,,M,1357,NA,1433,NA,King of Portugal,NA,561 +1504,NA,1898,Alice (Itayls) Hayles/,Alice (Itayls),Hayles,F,NA,NA,AFT 8 MAY 1326,NA,NA,789,562 +1505,NA,1901,Margaret of_Liddell Wake/,Margaret of_Liddell,Wake,F,NA,NA,29 SEP 1349,NA,Baroness,792,"793, 564" +1506,NA,1874,Constance of_Brittany /,Constance of_Brittany,,F,NA,NA,1201,NA,Duchess,770,"563, 771, 772" +1507,1506,1377,Arthur /,Arthur,,M,1187,NA,1203,NA,NA,563,NA +1508,NA,1872,Berengaria of_Navarre /,Berengaria of_Navarre,,F,1163,NA,1230,NA,NA,769,565 +1509,NA,NA,Henry the_Lion /,Henry the_Lion,,M,NA,NA,1195,NA,Duke of Saxony,NA,566 +1510,1372,1869,Margaret of_France /,Margaret of_France,,F,NA,NA,1198,NA,NA,766,567 +1511,2240,2239,Malcolm_III Canmore /,Malcolm_III Canmore,,M,NA,NA,1093,NA,King of Scotland,1028,"1020, 568" +1512,1546,1545,St_Margaret /,St_Margaret,,F,NA,NA,1093,NA,NA,582,568 +1513,1512,1511,Edgar /,Edgar,,M,ABT 1074,NA,1107,NA,King of Scotland,568,NA +1514,1512,1511,Alexander_I the_Fierce /,Alexander_I the_Fierce,,M,1078,NA,1124,NA,King of Scotland,568,1018 +1515,1512,1511,David_I the_Saint /,David_I the_Saint,,M,ABT 1080,NA,1153,NA,King of Scotland,568,1022 +1516,1512,1511,Mary of_Scotland /,Mary of_Scotland,,F,NA,NA,NA,NA,NA,568,589 +1517,NA,NA,Stephen Henry /,Stephen Henry,,M,NA,NA,1102,NA,Count of Blois,NA,569 +1518,1388,1517,Theobald /,Theobald,,M,NA,NA,1151,NA,Count of Blois,569,763 +1519,1388,1517,Henry of_Winchester /,Henry of_Winchester,,M,NA,NA,NA,NA,Bishop,569,NA +1520,NA,1748,Alfonso_VIII /,Alfonso_VIII,,M,1155,NA,1214,NA,King of Castile,695,571 +1521,NA,1871,Matthew of_Alsace /,Matthew of_Alsace,,M,NA,NA,NA,NA,Count Boulogne,768,588 +1522,NA,NA,Eustace_III of_Boulogne /,Eustace_III of_Boulogne,,M,NA,NA,NA,NA,Count,NA,589 +1523,NA,1870,Isabel de_Warrenne /,Isabel de_Warrenne,,F,NA,NA,NA,NA,NA,767,587 +1524,NA,NA,Constance of_Toulouse /,Constance of_Toulouse,,F,NA,NA,NA,NA,NA,NA,570 +1525,1528,1527,Robert the_Devil /,Robert the_Devil,,M,NA,NA,1035,NA,Duke,573,572 +1526,NA,NA,Herleva /,Herleva,,F,NA,NA,NA,NA,NA,NA,"572, 585" +1527,1531,1530,Richard_II of_Normandy /,Richard_II of_Normandy,,M,NA,NA,1026,NA,Duke,574,573 +1528,NA,NA,Judith of_Brittany /,Judith of_Brittany,,F,NA,NA,NA,NA,NA,NA,573 +1529,1528,1527,Richard_III of_Normandy /,Richard_III of_Normandy,,M,NA,NA,1028,NA,Duke,573,NA +1530,NA,NA,Richard_I the_Fearless of_Normandy /,NA,,M,NA,NA,996,NA,Count,NA,574 +1531,NA,NA,Gunnor of_Denmark /,Gunnor of_Denmark,,F,NA,NA,NA,NA,NA,NA,574 +1532,1531,1530,Emma of_Normandy /,Emma of_Normandy,,F,NA,NA,1052,NA,NA,574,"575, 584" +1533,1780,1779,Ethelred_II the_Unready /,Ethelred_II the_Unready,,M,ABT 968,NA,1016,NA,King of Kent,710,"580, 575" +1534,1532,1533,Edward the_Confessor /,Edward the_Confessor,,M,ABT 1002,"Islip,Oxfordshire,England",5 JAN 1066,NA,King of England,575,576 +1535,1537,1536,Edith (Eadgyth) /,Edith (Eadgyth),,F,NA,NA,18 DEC 1075,NA,NA,577,576 +1536,NA,NA,Godwin /,Godwin,,M,NA,NA,NA,NA,Earl of Wessex,NA,577 +1537,NA,NA,Gytha /,Gytha,,F,NA,NA,NA,NA,NA,NA,577 +1538,1537,1536,Harold_II /,Harold_II,,M,ABT 1022,NA,14 OCT 1066,Hastings,NA,577,578 +1539,NA,1774,Edith Swan-neck (Ealdgyth) /,NA,,F,NA,NA,NA,NA,NA,706,"813, 578" +1540,1539,1538,Gytha /,Gytha,,F,NA,NA,NA,NA,NA,578,579 +1541,NA,NA,Vladimir of_Kiev Monomakh/,Vladimir of_Kiev,Monomakh,M,NA,NA,1125,NA,Grand Duke,NA,579 +1542,NA,1452,Elfreda (Elfgiva) /,Elfreda (Elfgiva),,F,NA,NA,NA,NA,NA,697,580 +1543,1542,1533,Edmund_II Ironside /,Edmund_II Ironside,,M,NA,NA,1016,NA,NA,580,581 +1544,NA,NA,Ealdgyth /,Ealdgyth,,F,NA,NA,NA,NA,NA,NA,581 +1545,1544,1543,Edward Athling/,Edward,Athling,M,ABT 1016,NA,1057,NA,NA,581,582 +1546,NA,1763,Agatha /,Agatha,,F,NA,NA,NA,NA,NA,699,582 +1547,1546,1545,Edgar Athling/,Edgar,Athling,M,NA,NA,NA,NA,NA,582,NA +1548,1777,1776,Canute_II the_Great /,Canute_II the_Great,,M,ABT 995,NA,12 NOV 1035,"Shaftesbury,England",NA,708,"583, 584" +1549,NA,1775,Elfgiva of_Northampton /,Elfgiva of_Northampton,,F,NA,NA,NA,NA,NA,707,583 +1550,1549,1548,Harold_I Harefoot /,Harold_I Harefoot,,M,ABT 1015,NA,17 MAR 1040,"Oxford,England",NA,583,NA +1551,1549,1548,Sweyn /,Sweyn,,M,NA,NA,1036,NA,King of Norway,583,NA +1552,1532,1548,Hardicanute /,Hardicanute,,M,1018,NA,8 JUN 1042,Lambeth,King of Denmark,584,NA +1553,NA,NA,Herluin of_Conteville /,Herluin of_Conteville,,M,NA,NA,NA,NA,Viscount,NA,585 +1554,1526,1553,Odo of_Bayeux /,Odo of_Bayeux,,M,NA,NA,1097,NA,Bishop,585,NA +1555,1526,1553,Robert /,Robert,,M,NA,NA,NA,NA,Count of Mortain,585,NA +1556,NA,NA,Alan_IV of_Brittany Fergant/,Alan_IV of_Brittany,Fergant,M,NA,NA,NA,NA,Count,NA,586 +1557,NA,2467,William_II the_Good /,William_II the_Good,,M,1166,NA,18 NOV 1189,NA,King of Sicily,1166,590 +1558,NA,NA,Raymond_VI of_Toulouse /,Raymond_VI of_Toulouse,,M,NA,NA,NA,NA,Count,NA,591 +1559,NA,NA,Nicholas Koulikovsky/,Nicholas,Koulikovsky,M,1881,NA,1958,"Cooksville,Near Toronto,Ontario,Canada",Colonel,NA,592 +1560,156,1559,Tikhon Koulikovsky/,Tikhon,Koulikovsky,M,1917,NA,NA,NA,NA,592,NA +1561,156,1559,Goury Koulikovsky/,Goury,Koulikovsky,M,1919,NA,NA,NA,NA,592,NA +1562,154,2675,Andrew /,Andrew,,M,1897,NA,NA,NA,NA,51,NA +1563,154,2675,Theodore /,Theodore,,M,1898,NA,NA,NA,NA,51,NA +1564,154,2675,Nikita /,Nikita,,M,1900,NA,NA,NA,NA,51,NA +1565,154,2675,Dimitri /,Dimitri,,M,1901,NA,NA,NA,NA,51,NA +1566,154,2675,Rostislav /,Rostislav,,M,1902,NA,NA,NA,NA,51,NA +1567,154,2675,Vassily /,Vassily,,M,1907,NA,NA,NA,NA,51,NA +1568,41,40,Alexander Alexandrovich Romanov/,Alexander Alexandrovich,Romanov,M,1869,NA,1870,NA,NA,9,NA +1569,NA,NA,Catherine Yourievska/,Catherine,Yourievska,F,1847,NA,1922,NA,Princess,NA,593 +1570,1569,44,George Romanov/,George,Romanov,M,1872,NA,1913,NA,NA,593,594 +1571,1569,44,Olga Romanov/,Olga,Romanov,F,1874,NA,1925,NA,NA,593,595 +1572,1569,44,Catherine Romanov/,Catherine,Romanov,F,1878,NA,1959,NA,NA,593,"596, 597" +1573,NA,NA,Alexandra Zarnekau/,Alexandra,Zarnekau,F,1883,NA,NA,NA,Countess,NA,594 +1574,1573,1570,Alexander Alexandrovich Romanov/,Alexander Alexandrovich,Romanov,M,1900,NA,NA,NA,NA,594,NA +1575,NA,NA,von_Merenberg/,NA,von_Merenberg,M,1871,NA,1948,NA,Count,NA,595 +1576,1571,1575,George /,George,,M,1897,NA,NA,NA,NA,595,NA +1577,1571,1575,Olga /,Olga,,F,1898,NA,NA,NA,NA,595,NA +1578,NA,NA,Alexander V. Bariatinsky/,Alexander V.,Bariatinsky,M,1870,NA,1910,NA,Prince,NA,596 +1579,1572,1578,Andrei Bariatinsky/,Andrei,Bariatinsky,M,1902,NA,1931,NA,NA,596,NA +1580,1572,1578,Alexander Bariatinsky/,Alexander,Bariatinsky,M,1905,NA,NA,NA,NA,596,NA +1581,NA,NA,Serge Obelensky/,Serge,Obelensky,M,1890,NA,NA,NA,Prince,NA,597 +1582,NA,1884,Sanchia of_Provence /,Sanchia of_Provence,,F,ABT 1225,Aix-en-Provence,9 NOV 1261,Berkhamsted,NA,779,600 +1583,NA,1885,Beatrix of_Falkenburg /,Beatrix of_Falkenburg,,F,ABT 1253,NA,17 OCT 1277,NA,NA,780,601 +1584,NA,NA,Frederick_II of_Germany /,Frederick_II of_Germany,,M,NA,NA,NA,NA,Emperor,NA,602 +1585,2233,1886,Alexander_III /,Alexander_III,,M,1241,NA,1286,NA,King of Scotland,1025,"603, 787" +1586,NA,NA,John of_Dreux /,John of_Dreux,,M,NA,NA,NA,NA,Earl of Richmond,NA,604 +1587,NA,1893,Aveline de_Forz /,Aveline de_Forz,,F,NA,NA,10 NOV 1274,Stockwell,NA,785,605 +1588,NA,NA,Gilbert De_Clare /,Gilbert De_Clare,,M,NA,NA,1295,NA,Earl Gloucester,NA,606 +1589,NA,NA,Ralph de_Monthermer /,Ralph de_Monthermer,,M,NA,NA,1305,NA,Baron,NA,607 +1590,NA,NA,John_II /,John_II,,M,NA,NA,NA,NA,Duke of Brabant,NA,608 +1591,NA,NA,John_I /,John_I,,M,NA,NA,NA,NA,Count of Holland,NA,609 +1592,NA,NA,Humphrey De_Bohun /,Humphrey De_Bohun,,M,NA,NA,NA,NA,Earl of Hereford,NA,610 +1593,NA,1899,Mary de_Ros /,Mary de_Ros,,F,NA,NA,NA,NA,NA,790,"791, 611" +1594,NA,NA,John_V de_Montfort/,John_V,de_Montfort,M,NA,NA,1 NOV 1399,NA,Duke of Brittany,NA,"612, 619" +1595,1410,2058,Margaret Holland/,Margaret,Holland,F,NA,NA,31 DEC 1439,NA,NA,901,"486, 613" +1596,NA,2269,Anne of_Burgundy /,Anne of_Burgundy,,F,NA,NA,14 NOV 1432,"Paris,France",NA,1049,614 +1597,NA,NA,Jacqueline of_Holland /,Jacqueline of_Holland,,F,NA,NA,NA,NA,Countess,NA,615 +1598,NA,2268,Eleanor de_Cobham /,Eleanor de_Cobham,,F,NA,NA,7 JUL 1452,Beaumaris Castle,NA,1048,616 +1599,NA,NA,Ludwig_III /,Ludwig_III,,M,NA,NA,NA,NA,Elector Palatine,NA,617 +1600,NA,NA,Eric_X of_Pomerania /,Eric_X of_Pomerania,,M,NA,NA,NA,NA,King of Denmark,NA,618 +1601,NA,2267,Joan of_Navarre /,Joan of_Navarre,,F,ABT 1370,Pamplona,9 JUL 1437,"Havering atte,Bower,Essex,England",NA,1047,"619, 620" +1602,NA,NA,William Bourchier/,William,Bourchier,M,NA,NA,1420,NA,Count,NA,621 +1603,1343,1242,Anne of_Gloucester /,Anne of_Gloucester,,F,NA,NA,NA,NA,NA,491,"913, 621" +1604,NA,NA,Frederick_II of_Hesse-Cassel /,Frederick_II of_Hesse-Cassel,,M,1720,NA,1785,NA,Landgrave,NA,622 +1605,NA,1606,Elizabeth Christine /,Elizabeth Christine,,F,1715,NA,1797,NA,NA,624,623 +1606,NA,NA,Ferdinand Albert_II of_Brunswick /,NA,,M,1680,NA,1735,NA,NA,NA,624 +1607,NA,NA,Margaret Alice Bridgeman/,Margaret Alice,Bridgeman,F,NA,NA,NA,NA,Lady,NA,296 +1608,NA,NA,William d'Aubigny/,William,d'Aubigny,M,NA,NA,12 OCT 1176,NA,Earl of Arundel,NA,625 +1609,NA,NA,Henri de_Laborde/,Henri,de_Laborde,M,11 JUN 1934,"Talence,Gironde,France",NA,NA,NA,NA,626 +1610,610,1609,Frederick /,Frederick,,M,1968,NA,NA,NA,NA,626,NA +1611,610,1609,Joachim /,Joachim,,M,1969,NA,NA,NA,NA,626,NA +1612,2445,2444,Silvia Renate Sommerlath/,Silvia Renate,Sommerlath,F,23 DEC 1943,"Heidelberg,Germany",NA,NA,NA,1153,220 +1613,1616,1615,Oscar_I /,Oscar_I,,M,4 JUL 1799,"Paris,France",8 MAR 1844,"Stockholm,Sweden",King of Sweden,628,627 +1614,2436,2435,Josephine de_Beauharnais/,Josephine,de_Beauharnais,F,14 MAR 1807,"Milan,Italy",7 JUN 1876,"Stockholm,Sweden",NA,1149,627 +1615,NA,NA,Charles_XIV John /,Charles_XIV John,,M,26 JAN 1763,"Pau,Bearn,France",8 MAR 1844,"Stockholm,Sweden",King of Sweden,NA,628 +1616,NA,NA,Desiree /,Desiree,,F,9 NOV 1777,"Marseilles,France",17 DEC 1860,"Stockholm,Sweden",NA,NA,628 +1617,340,764,Frederick_VI /,Frederick_VI,,M,28 JAN 1768,"Christiansborg,Nr: Copenhagen,Denmark",3 DEC 1839,Amalienborg,King of Denmark,281,629 +1618,1640,1641,Marie /,Marie,,F,28 OCT 1767,Hanau,21 MAR 1852,"Amalienborg,Denmark",NA,641,629 +1619,NA,NA,Juliana Maria /,Juliana Maria,,F,4 SEP 1729,Wolfenbuttel,10 OCT 1796,"Fredensborg,Denmark",NA,NA,630 +1620,1623,1622,Christian_VI /,Christian_VI,,M,10 DEC 1699,"Copenhagen,Denmark",6 AUG 1746,"Copenhagen,Denmark",King of Denmark,632,631 +1621,NA,NA,Sophie Magdalene /,Sophie Magdalene,,F,28 NOV 1700,NA,27 MAY 1770,"Christiansborg,Denmark",NA,NA,631 +1622,1626,1625,Frederick_IV /,Frederick_IV,,M,21 OCT 1671,"Copenhagen,Denmark",12 OCT 1730,"Copenhagen,Denmark",King of Denmark,634,"632, 633" +1623,NA,NA,Louise /,Louise,,F,28 AUG 1667,NA,15 MAR 1721,NA,NA,NA,632 +1624,NA,NA,Anna Sophie /,Anna Sophie,,F,16 APR 1693,NA,7 JAN 1743,Klausholm,NA,NA,633 +1625,1631,1630,Christian_V /,Christian_V,,M,15 APR 1646,Flensborg,25 AUG 1699,NA,King of Denmark,637,634 +1626,NA,NA,Charlotte Amelia /,Charlotte Amelia,,F,27 APR 1650,Cassel,27 MAR 1714,Copenhagen,NA,NA,634 +1627,738,737,Christian_IV /,Christian_IV,,M,12 APR 1577,Frederiksborg,28 FEB 1648,"Copenhagen,Denmark",King of Denmark,268,"635, 636" +1628,2549,2274,Anne Catherine /,Anne Catherine,,F,26 JUN 1575,NA,29 MAR 1612,NA,NA,1054,635 +1629,NA,NA,Christine of_Schleswig- Holstein /,NA,,F,6 JUL 1598,NA,19 APR 1658,Odense,Countess,NA,636 +1630,1628,1627,Frederick_III /,Frederick_III,,M,18 MAR 1609,"Haderslev,Denmark",9 FEB 1670,"Copenhagen,Denmark",King of Denmark,635,637 +1631,NA,NA,Sophia Amelia /,Sophia Amelia,,F,24 MAR 1628,Herzberg,20 FEB 1685,Copenhagen,NA,NA,637 +1632,1635,1634,Christian_III /,Christian_III,,M,12 AUG 1503,Gottorp,1 JAN 1559,Coldingen,King of Denmark,639,638 +1633,NA,NA,Dorothea /,Dorothea,,F,9 JUL 1511,NA,7 OCT 1571,Sonderburg,NA,NA,638 +1634,1828,1827,Frederick_I /,Frederick_I,,M,7 OCT 1471,NA,10 APR 1533,Gottorp,King of Denmark,739,"639, 640" +1635,NA,NA,Anna /,Anna,,F,27 AUG 1487,NA,3 MAY 1547,Kiel,NA,NA,639 +1636,NA,NA,Sophie /,Sophie,,F,1498,NA,13 MAY 1568,Keil,NA,NA,640 +1637,331,344,Christian /,Christian,,M,1745,NA,1747,NA,NA,107,NA +1638,331,344,Sophia Magdalena /,Sophia Magdalena,,F,1746,NA,1813,NA,NA,107,1339 +1639,331,344,Caroline /,Caroline,,F,1747,NA,1820,NA,NA,107,1340 +1640,331,344,Louise /,Louise,,F,1750,NA,1831,NA,NA,107,641 +1641,NA,NA,Charles of_Hesse-Cassel /,Charles of_Hesse-Cassel,,M,1744,NA,1836,NA,NA,NA,641 +1642,1618,1617,Christian /,Christian,,M,1791,NA,1791,NA,NA,629,NA +1643,1619,344,Frederick /,Frederick,,M,1753,NA,1805,NA,NA,630,642 +1644,NA,NA,Sophia Frederica of_Mecklenburg- /,NA,,F,1758,NA,1794,NA,NA,NA,642 +1645,1644,1643,Christian_VIII /,Christian_VIII,,M,18 SEP 1786,Christiansborg,20 JAN 1848,Amalienborg,King of Denmark,642,"643, 644" +1646,1644,1643,Ferdinand /,Ferdinand,,M,1792,NA,1863,NA,NA,642,649 +1647,NA,NA,Charlotte /,Charlotte,,F,4 DEC 1784,Ludwigslust,13 JUL 1840,"Rome,Italy",NA,NA,643 +1648,1653,1654,Caroline /,Caroline,,F,22 JUN 1796,Copenhagen,9 MAR 1881,Amalienborg,NA,648,644 +1649,1647,1645,Frederick_VII /,Frederick_VII,,M,6 OCT 1808,Amalienborg,15 NOV 1863,Glucksburg,King of Denmark,643,"645, 646, 647" +1650,1618,1617,Wilhelmine /,Wilhelmine,,F,18 JAN 1808,Kiel,30 MAY 1891,Glucksburg,NA,629,"645, 650" +1651,NA,NA,Caroline /,Caroline,,F,10 JAN 1821,Neustrelitz,1 JUN 1876,Neustrelitz,NA,NA,646 +1652,NA,NA,Louise Rasmussen/,Louise,Rasmussen,F,21 APR 1815,Copenhagen,6 MAR 1874,Cannes,Countess,NA,647 +1653,340,764,Louise Augusta /,Louise Augusta,,F,1771,NA,1843,NA,NA,281,648 +1654,NA,NA,Frederick Christian of_Schleswig- /,NA,,M,1765,NA,1814,NA,Duke,NA,648 +1655,1618,1617,Marie Louise /,Marie Louise,,F,1792,NA,1793,NA,NA,629,NA +1656,1618,1617,Caroline /,Caroline,,F,1793,NA,1881,NA,NA,629,649 +1657,1618,1617,Louise /,Louise,,F,1795,NA,1795,NA,NA,629,NA +1658,1618,1617,Christian /,Christian,,M,1797,NA,1797,NA,NA,629,NA +1659,1618,1617,Louise Juliane /,Louise Juliane,,F,1802,NA,1802,NA,NA,629,NA +1660,1618,1617,Frederica Maria /,Frederica Maria,,F,1805,NA,1805,NA,NA,629,NA +1661,NA,NA,Charles /,Charles,,M,1813,NA,1878,NA,Duke,NA,650 +1662,NA,NA,Maximilian of_Austria /,Maximilian of_Austria,,M,1832,NA,1867,NA,Archduke,NA,686 +1663,226,225,Valdemar /,Valdemar,,M,1858,NA,1939,NA,NA,74,687 +1664,605,604,Harold /,Harold,,M,1876,NA,1949,NA,NA,218,652 +1665,605,604,Thyra /,Thyra,,F,1880,NA,1945,NA,NA,218,NA +1666,605,604,Gustav /,Gustav,,M,1887,NA,1944,NA,NA,218,NA +1667,605,604,Dagmar /,Dagmar,,F,1890,NA,1961,NA,NA,218,651 +1668,NA,NA,Jorgen Castenskiold/,Jorgen,Castenskiold,M,1893,NA,NA,NA,NA,NA,651 +1669,NA,NA,Helene of_Schleswig- Holstein /,NA,,F,1888,NA,1962,NA,NA,NA,652 +1670,1669,1664,Caroline Mathilde /,Caroline Mathilde,,F,1912,NA,NA,NA,NA,652,654 +1671,607,606,Knud /,Knud,,M,1900,NA,1976,NA,Her. Prince,219,654 +1672,1059,608,Benedikte /,Benedikte,,F,1944,NA,NA,NA,NA,402,653 +1673,NA,NA,Richard of_Sayn- Wittgenstein- /,NA,,M,1934,NA,NA,NA,Prince,NA,653 +1674,1670,1671,Elizabeth /,Elizabeth,,F,1935,NA,NA,NA,NA,654,NA +1675,1670,1671,Ingolf /,Ingolf,,M,1940,NA,NA,NA,NA,654,1281 +1676,1670,1671,Christian /,Christian,,M,1942,NA,NA,NA,NA,654,655 +1677,NA,NA,Anne Dorothy Maltoft-Nielsen /,NA,,F,1947,NA,NA,NA,NA,NA,655 +1678,1077,655,William /,William,,M,1840,NA,1879,NA,NA,447,NA +1679,1077,655,Maurice /,Maurice,,M,1843,NA,1850,NA,NA,447,NA +1680,1077,655,Alexander /,Alexander,,M,1851,NA,1884,NA,NA,447,NA +1681,559,565,Charlotte /,Charlotte,,F,1800,NA,1806,NA,NA,202,NA +1682,559,565,Marianne of_Netherlands /,Marianne of_Netherlands,,F,1810,NA,1883,NA,NA,202,180 +1683,1029,653,William /,William,,M,1836,NA,1846,NA,NA,388,NA +1684,1029,653,Marie /,Marie,,F,1841,NA,1910,NA,NA,388,656 +1685,NA,NA,William of_Wied /,William of_Wied,,M,1845,NA,1907,NA,Prince,NA,656 +1686,NA,NA,Carlos Hugo /,Carlos Hugo,,M,1930,NA,NA,NA,Prince,NA,657 +1687,NA,NA,Peter van_Vollenhoven/,Peter,van_Vollenhoven,M,1939,NA,NA,NA,NA,NA,658 +1688,NA,NA,Jorge Guillermo/,Jorge,Guillermo,M,1946,NA,NA,NA,NA,NA,659 +1689,654,652,Alexander /,Alexander,,M,1818,NA,1848,NA,NA,240,NA +1690,654,652,Henry /,Henry,,M,1820,NA,1879,NA,NA,240,"1258, 1259" +1691,654,652,Ernest /,Ernest,,M,1822,NA,1822,NA,NA,240,NA +1692,654,652,Sophie /,Sophie,,F,1824,NA,1897,NA,NA,240,660 +1693,NA,NA,Charles Alexander of_Saxe-Weimar /,NA,,M,1818,NA,1901,NA,Grand Duke,NA,660 +1694,NA,NA,John Frederick of_Brandenburg- /,NA,,M,NA,NA,NA,NA,Margrave,NA,661 +1695,NA,NA,Amalia /,Amalia,,F,21 DEC 1818,"Oldenburg,Germany",20 MAY 1875,"Bamberg,Germany",NA,NA,662 +1696,2614,2448,Leopold_I George of_Saxe-Coburg /,NA,,M,16 DEC 1790,"Coburg,Germany",10 DEC 1865,"Laeken,Belgium",King of Belgium,1147,"80, 663" +1697,245,1696,Leopold /,Leopold,,M,1833,NA,1834,NA,NA,663,NA +1698,245,1696,Leopold_II /,Leopold_II,,M,9 APR 1835,"Brussels,Belgium",17 DEC 1909,Laeken,King of Belgium,663,1154 +1699,245,1696,Marie Charlotte /,Marie Charlotte,,F,1840,NA,1927,NA,NA,663,686 +1700,1425,1424,Louis Joseph /,Louis Joseph,,M,1781,NA,1789,NA,Dauphin,526,NA +1701,1425,1424,Louis_XVII /,Louis_XVII,,M,27 MAR 1785,"Versailles,France",8 JUN 1795,"Paris,France",King of France,526,NA +1702,1425,1424,Sophie Beatrix /,Sophie Beatrix,,F,1786,NA,1787,NA,NA,526,NA +1703,1425,1424,Marie Therese of_Angouleme /,NA,,F,1778,NA,1851,NA,Duchess,526,NA +1704,514,417,Pepin the_Hunchback /,Pepin the_Hunchback,,M,NA,NA,811,NA,NA,182,NA +1705,NA,NA,Marie Amelie of_Bourbon /,NA,,F,1782,NA,24 MAR 1866,Claremont,Queen of France,NA,1187 +1706,123,126,Alexander of_Mar Ramsay/,Alexander of_Mar,Ramsay,M,1919,NA,NA,NA,Capt.,37,665 +1707,NA,NA,Flora Fraser /,Flora Fraser,,F,1930,NA,NA,NA,Lady,NA,665 +1708,NA,NA,Dorothy Hastings/,Dorothy,Hastings,F,1899,NA,NA,NA,NA,NA,666 +1709,NA,NA,/,NA,,M,1900,NA,NA,NA,Duke of Beaufort,NA,667 +1710,NA,NA,J. E. Gibbs/,J. E.,Gibbs,M,1879,NA,1932,NA,Col.,NA,668 +1711,NA,NA,Henry Abel Smith/,Henry Abel,Smith,M,1900,NA,NA,NA,Col. Sir,NA,669 +1712,93,239,John Spencer/,John,Spencer,M,1960,NA,1960,NA,NA,78,NA +1713,385,384,Katharine Seymour/,Katharine,Seymour,F,1900,NA,NA,NA,Lady,127,NA +1714,385,384,James /,James,,M,1904,NA,1979,NA,Duke of Abercorn,127,670 +1715,NA,NA,Kathleen Crichton/,Kathleen,Crichton,F,1905,NA,NA,NA,Lady,NA,670 +1716,1718,1717,Charles Lennox of_Richmond /,NA,,M,1764,NA,1819,NA,Duke,672,671 +1717,NA,1719,George Henry Lennox /,NA,,M,NA,NA,1805,NA,Lord,673,672 +1718,1724,NA,Louisa Kerr/,Louisa,Kerr,F,NA,NA,1830,NA,Lady,678,672 +1719,NA,1720,Charles Lennox of_Richmond /,NA,,M,1701,NA,1750,NA,Duke,674,673 +1720,NA,NA,Charles Lennox of_Richmond /,NA,,M,1672,NA,1723,NA,Duke,NA,674 +1721,NA,1720,Anne of_Albemarle /,Anne of_Albemarle,,F,NA,NA,1789,NA,Countess,674,677 +1722,1723,NA,John Russell/,John,Russell,M,1766,NA,1839,NA,Duke of Bedford,676,675 +1723,1721,NA,Elizabeth of_Tavistock /,Elizabeth of_Tavistock,,F,NA,NA,1768,NA,Marchioness,677,676 +1724,1725,NA,Caroline of_Lothian /,Caroline of_Lothian,,F,NA,NA,1778,NA,Marchioness,679,678 +1725,1727,1726,Frederica of_Holdernesse /,Frederica of_Holdernesse,,F,1688,NA,1751,NA,Countess,680,679 +1726,NA,NA,of_Schomberg /,of_Schomberg,,M,NA,NA,NA,NA,Duke,NA,680 +1727,NA,NA,Charlot /,Charlot,,F,1659,NA,1696,NA,NA,NA,680 +1728,NA,1729,Richard Bingham/,Richard,Bingham,M,1764,NA,1839,NA,Earl of Lucan,682,681 +1729,NA,NA,Charles Bingham/,Charles,Bingham,M,1735,NA,1799,NA,Earl of Lucan,NA,682 +1730,NA,NA,Elizabeth Poyntz/,Elizabeth,Poyntz,F,NA,NA,1851,NA,NA,NA,683 +1731,1730,398,Spencer/,NA,Spencer,M,1835,NA,1910,NA,Earl of Spencer,683,684 +1732,NA,NA,Charlotte Seymour/,Charlotte,Seymour,F,NA,NA,1903,NA,NA,NA,684 +1733,397,396,Delia Peel /,Delia Peel,,F,1889,NA,1981,NA,Lady,133,NA +1734,397,396,Lavinia Annaly /,Lavinia Annaly,,F,1899,NA,1955,NA,Lady,133,NA +1735,NA,NA,John of_Althorp Spencer/,John of_Althorp,Spencer,M,1708,NA,1746,NA,Hon.,NA,685 +1736,330,1604,William_IX of_Hesse-Cassel /,William_IX of_Hesse-Cassel,,M,NA,NA,NA,NA,Elector,622,NA +1737,140,139,Ernest_II of_Saxe-Coburg- Saalfeld /,NA,,M,1818,NA,1893,NA,Duke,43,1369 +1738,NA,NA,Marie /,Marie,,F,NA,NA,NA,NA,NA,NA,687 +1739,2482,1740,Philip_III the_Bold /,Philip_III the_Bold,,M,1 MAY 1245,"Poissy,,,France",5 OCT 1285,Perpignan,King of France,689,"1231, 688" +1740,1742,1741,Louis_IX (St._Louis) /,Louis_IX (St._Louis),,M,25 APR 1214,NA,25 AUG 1270,"Tunis,,,Africa",King of France,690,689 +1741,2477,2451,Louis_VIII the_Lion /,Louis_VIII the_Lion,,M,5 SEP 1187,"Paris,France",8 NOV 1226,"Auvergne,France",King of France,1156,690 +1742,NA,1891,Blanche of_Castile /,Blanche of_Castile,,F,1188,NA,1252,NA,NA,691,690 +1743,2486,1903,Charles_IV the_Fair /,Charles_IV the_Fair,,M,ABT 1294,NA,1 FEB 1328,"Vincennes,France",King of France,794,"1176, 1177, 1178" +1744,1504,1278,Edward /,Edward,,M,NA,NA,NA,NA,NA,562,692 +1745,NA,NA,Beatrice /,Beatrice,,F,NA,NA,NA,NA,NA,NA,692 +1746,1747,1891,Ferdinand_III /,Ferdinand_III,,M,1199,NA,1252,NA,King of Castile,784,693 +1747,1378,1520,Berengaria /,Berengaria,,F,1171,NA,1246,NA,NA,571,784 +1748,NA,NA,Sancho_III /,Sancho_III,,M,ABT 1134,NA,ABT 1158,NA,King of Castile,NA,695 +1749,NA,1746,Alfonso_X the_Wise /,Alfonso_X the_Wise,,M,ABT 1226,NA,1284,"Seville,,,Spain",King of Castile,693,696 +1750,NA,NA,Unknown/,NA,Unknown,F,NA,NA,NA,NA,NA,NA,696 +1751,1750,1749,Sancho_IV /,Sancho_IV,,M,1258,NA,1296,NA,NA,696,NA +1752,NA,NA,Gunnor /,Gunnor,,M,NA,NA,NA,NA,NA,NA,698 +1753,1542,1533,Athelstan /,Athelstan,,NA,NA,NA,NA,NA,NA,580,NA +1754,1542,1533,Egbert /,Egbert,,M,NA,NA,1005,NA,NA,580,NA +1755,1542,1533,Edred /,Edred,,NA,NA,NA,NA,NA,NA,580,NA +1756,1542,1533,Edwy /,Edwy,,NA,NA,NA,1017,NA,NA,580,NA +1757,1542,1533,Edward /,Edward,,M,NA,NA,NA,NA,NA,580,NA +1758,1542,1533,Edgar /,Edgar,,M,NA,NA,NA,NA,NA,580,NA +1759,1542,1533,Edith /,Edith,,F,NA,NA,NA,NA,NA,580,701 +1760,1542,1533,Elgiva /,Elgiva,,F,NA,NA,NA,NA,NA,580,702 +1761,1542,1533,Wulfhilda /,Wulfhilda,,F,NA,NA,NA,NA,NA,580,704 +1762,1542,1533,(Daughter) /,(Daughter),,F,NA,NA,NA,NA,NA,580,705 +1763,NA,NA,Stephen_I /,Stephen_I,,M,ABT 975,NA,1038,NA,King of Hungary,NA,699 +1764,1544,1543,Edmund /,Edmund,,M,NA,NA,NA,NA,NA,581,700 +1765,NA,1763,Hedwig /,Hedwig,,F,NA,NA,NA,NA,NA,699,700 +1766,1546,1545,Christina /,Christina,,F,NA,NA,NA,NA,NA,582,NA +1767,1532,1533,Alfred Athling /,Alfred Athling,,M,NA,NA,1036,NA,NA,575,NA +1768,1532,1548,Gunhilda /,Gunhilda,,F,NA,NA,1038,NA,NA,584,846 +1769,NA,NA,Edric of_Mercia Streona/,Edric of_Mercia,Streona,M,NA,NA,NA,NA,Ealdorman,NA,701 +1770,NA,1771,Uchtred /,Uchtred,,M,NA,NA,NA,NA,NA,703,702 +1771,NA,NA,Waltheof of Northumberland /,NA,,M,NA,NA,NA,NA,Earl,NA,703 +1772,NA,NA,Ulfcytel of_East_Anglia Snylling/,Ulfcytel of_East_Anglia,Snylling,M,NA,NA,NA,NA,Ealdorman,NA,704 +1773,NA,NA,Athelstan /,Athelstan,,M,NA,NA,NA,NA,NA,NA,705 +1774,NA,NA,Alfgar of_Mercia /,Alfgar of_Mercia,,M,NA,NA,NA,NA,Earl,NA,706 +1775,NA,NA,Alfhelm of_Northhampton /,Alfhelm of_Northhampton,,M,NA,NA,NA,NA,Earl,NA,707 +1776,NA,NA,Sweyn Forkbeard /,Sweyn Forkbeard,,M,NA,NA,1014,NA,King of Denmark,NA,708 +1777,NA,1778,Gunhilda /,Gunhilda,,F,NA,NA,NA,NA,NA,709,708 +1778,NA,NA,Mieczislaw_I of_Poland /,Mieczislaw_I of_Poland,,M,NA,NA,NA,NA,Duke,NA,709 +1779,1787,1786,Edgar the_Peaceful /,Edgar the_Peaceful,,M,944,NA,975,NA,NA,714,"710, 711" +1780,NA,1785,Elfrida /,Elfrida,,F,NA,NA,1000,NA,NA,713,710 +1781,NA,1783,Ethelfleda /,Ethelfleda,,F,NA,NA,NA,NA,NA,712,711 +1782,1781,1779,Edward the_Martyr /,Edward the_Martyr,,M,NA,NA,NA,NA,NA,711,NA +1783,NA,NA,Ordmaer /,Ordmaer,,M,NA,NA,NA,NA,Ealdorman,NA,712 +1784,1780,1779,Edmund /,Edmund,,M,NA,NA,970,NA,NA,710,NA +1785,NA,NA,Ordgar of_Devon Ealdorman /,NA,,M,NA,NA,NA,NA,NA,NA,713 +1786,1793,1792,Edmund_I the_Elder /,Edmund_I the_Elder,,M,939,NA,946,NA,NA,718,"714, 716" +1787,NA,NA,St._Elgiva /,St._Elgiva,,F,NA,NA,NA,NA,NA,NA,714 +1788,1787,1786,Edwy /,Edwy,,M,NA,NA,NA,NA,NA,714,715 +1789,NA,NA,Elgiva /,Elgiva,,F,NA,NA,NA,NA,NA,NA,715 +1790,NA,1791,Ethelfleda of_Domerham /,Ethelfleda of_Domerham,,F,NA,NA,NA,NA,NA,717,716 +1791,NA,NA,Alfgar of_Wiltshire /,Alfgar of_Wiltshire,,M,NA,NA,NA,NA,Ealdorman,NA,717 +1792,1965,1964,Edward the_Elder /,Edward the_Elder,,M,NA,NA,924,NA,NA,834,"720, 722, 718" +1793,NA,NA,Edgiva /,Edgiva,,F,NA,NA,NA,NA,NA,NA,718 +1794,1793,1792,Edred /,Edred,,M,NA,NA,NA,NA,NA,718,NA +1795,1793,1792,Edburh /,Edburh,,F,NA,NA,NA,NA,NA,718,NA +1796,1793,1792,Edgiva /,Edgiva,,F,NA,NA,NA,NA,NA,718,719 +1797,NA,NA,Louis /,Louis,,M,NA,NA,NA,NA,King of Provence,NA,719 +1798,NA,NA,Ecgwyn /,Ecgwyn,,F,NA,NA,NA,NA,NA,NA,720 +1799,1798,1792,Athelstan /,Athelstan,,M,895,NA,940,NA,NA,720,NA +1800,1798,1792,Daughter /,Daughter,,F,NA,NA,NA,NA,NA,720,721 +1801,NA,NA,Sihtric of Northumberland /,NA,,M,NA,NA,NA,NA,King of Denmark,NA,721 +1802,NA,NA,Elfleda /,Elfleda,,F,NA,NA,NA,NA,NA,NA,722 +1803,1802,1792,Ethelwerd /,Ethelwerd,,NA,NA,NA,924,NA,NA,722,NA +1804,1802,1792,Edwin /,Edwin,,M,NA,NA,NA,NA,NA,722,NA +1805,1802,1792,Elfleda /,Elfleda,,F,NA,NA,NA,NA,NA,722,NA +1806,1802,1792,Edgiva /,Edgiva,,F,NA,NA,NA,NA,NA,722,723 +1807,1802,1792,Ethelhilda /,Ethelhilda,,F,NA,NA,NA,NA,NA,722,NA +1808,1802,1792,Edhilda /,Edhilda,,F,NA,NA,NA,NA,NA,722,724 +1809,1802,1792,Eadgyth (Edith) /,Eadgyth (Edith),,F,NA,NA,NA,NA,NA,722,725 +1810,1802,1792,Elgiva /,Elgiva,,F,NA,NA,NA,NA,NA,722,726 +1811,NA,NA,Charles the_Simple /,Charles the_Simple,,M,NA,NA,NA,NA,King of France,NA,723 +1812,NA,NA,Hugh the_Great /,Hugh the_Great,,M,NA,NA,NA,NA,Count of Paris,NA,724 +1813,NA,NA,Otho_I the_Great /,Otho_I the_Great,,M,NA,NA,NA,NA,King of Germany,NA,725 +1814,NA,NA,Boleslaw_II /,Boleslaw_II,,M,NA,NA,NA,NA,Duke of Bohemia,NA,726 +1815,NA,NA,Claude /,Claude,,M,NA,NA,NA,NA,Duke of Guise,NA,727 +1816,1817,2524,Francis_I /,Francis_I,,M,12 SEP 1494,"Cognac,France",31 MAR 1547,"Rambouillet,France",King of France,729,"728, 1359" +1817,NA,NA,Louise of_Savoy /,Louise of_Savoy,,F,1476,NA,1531,NA,NA,NA,729 +1818,NA,NA,Donald /,Donald,,M,NA,NA,NA,NA,Earl of Mar,NA,730 +1819,NA,NA,Adam of_Rowallan Mure/,Adam of_Rowallan,Mure,M,NA,NA,NA,NA,Sir,NA,731 +1820,NA,NA,Hugh /,Hugh,,M,NA,NA,NA,NA,Earl of Ross,NA,732 +1821,1456,1455,Jean /,Jean,,F,NA,NA,NA,NA,Lady,543,"733, 734, 735" +1822,NA,NA,John Keith/,John,Keith,M,NA,NA,NA,NA,Sir,NA,733 +1823,NA,NA,John of_Glamis Lyon/,John of_Glamis,Lyon,M,NA,NA,NA,NA,Sir,NA,734 +1824,NA,NA,James Sandilands/,James,Sandilands,M,NA,NA,NA,NA,Sir,NA,735 +1825,NA,NA,John Drummond/,John,Drummond,M,NA,NA,NA,NA,Sir,NA,737 +1826,NA,NA,Arnold /,Arnold,,M,NA,NA,NA,NA,Duke of Gueldres,NA,738 +1827,NA,NA,Christian_I /,Christian_I,,M,1426,NA,1481,NA,King of Denmark,NA,739 +1828,NA,2694,Dorothea /,Dorothea,,F,1430,NA,1495,NA,NA,1277,"739, 1342" +1829,NA,NA,Unknown/,NA,Unknown,F,NA,NA,NA,NA,NA,NA,548 +1830,1833,1832,Robert Bruce/,Robert,Bruce,M,NA,NA,1304,NA,NA,741,740 +1831,NA,NA,Margaret of_Carrick /,Margaret of_Carrick,,F,NA,NA,NA,NA,Countess,NA,740 +1832,1836,1835,Robert Bruce/,Robert,Bruce,M,NA,NA,1295,NA,NA,743,741 +1833,NA,1834,Isobel /,Isobel,,F,NA,NA,1254,NA,NA,742,741 +1834,NA,NA,Gilbert De_Clare of_Gloucester /,NA,,M,NA,NA,NA,NA,Earl,NA,742 +1835,NA,NA,Robert of_Annandale Bruce/,Robert of_Annandale,Bruce,M,NA,NA,NA,NA,Lord,NA,743 +1836,1838,1837,Isobel /,Isobel,,F,NA,NA,1251,NA,NA,744,743 +1837,2229,2228,David of_Huntingdon /,David of_Huntingdon,,M,NA,NA,1219,NA,Earl,1023,744 +1838,NA,1839,Matilda /,Matilda,,F,NA,NA,1233,NA,NA,745,744 +1839,NA,NA,Hugh Keveliock/,Hugh,Keveliock,M,NA,NA,NA,NA,Earl of Chester,NA,745 +1840,NA,NA,John Logie/,John,Logie,M,NA,NA,NA,NA,Sir,NA,746 +1841,NA,NA,Malcolm Drummond/,Malcolm,Drummond,M,NA,NA,NA,NA,Sir,NA,747 +1842,1838,1837,Margaret /,Margaret,,F,NA,NA,1228,NA,NA,744,806 +1843,NA,NA,Alan /,Alan,,M,NA,NA,NA,NA,Lord of Galloway,NA,"748, 806" +1844,1842,1843,Devorguilla /,Devorguilla,,F,NA,NA,1290,NA,NA,806,749 +1845,NA,NA,John Balliol/,John,Balliol,M,NA,NA,NA,NA,NA,NA,749 +1846,1844,1845,John Balliol/,John,Balliol,M,NA,NA,1313,NA,NA,749,750 +1847,NA,1848,Isobel /,Isobel,,F,NA,NA,NA,NA,NA,751,750 +1848,NA,NA,John de_Warenne /,John de_Warenne,,M,NA,NA,NA,NA,Earl of Surrey,NA,751 +1849,1847,1846,Edward Balliol/,Edward,Balliol,M,NA,NA,1363,NA,NA,750,NA +1850,NA,NA,Baldwin_V of_Flanders /,Baldwin_V of_Flanders,,M,NA,NA,NA,NA,Count,NA,752 +1851,NA,1852,Sybilla /,Sybilla,,F,NA,NA,NA,NA,NA,754,753 +1852,NA,NA,Geoffrey of_Conversano /,Geoffrey of_Conversano,,M,NA,NA,NA,NA,Count,NA,754 +1853,1851,1382,William Clito of_Flanders /,NA,,M,NA,NA,1128,NA,Count,753,"755, 757" +1854,NA,1855,Sybil /,Sybil,,F,NA,NA,NA,NA,NA,760,755 +1855,NA,NA,Fulke /,Fulke,,M,NA,NA,NA,NA,Count of Anjou,NA,760 +1856,NA,1857,Adelicia /,Adelicia,,F,NA,NA,NA,NA,NA,758,757 +1857,NA,NA,Reiner of_Montferrat /,Reiner of_Montferrat,,M,NA,NA,NA,NA,Marquis,NA,758 +1858,NA,1855,Isabella /,Isabella,,F,NA,NA,NA,NA,NA,760,759 +1859,NA,NA,Geoffrey Lower_Lorraine /,Geoffrey Lower_Lorraine,,M,NA,NA,NA,NA,Duke,NA,756 +1860,1388,1517,Matilda /,Matilda,,F,NA,NA,1120,NA,NA,569,NA +1861,1388,1517,William /,William,,M,NA,NA,NA,NA,NA,569,761 +1862,NA,1863,Agnes /,Agnes,,F,NA,NA,NA,NA,NA,762,761 +1863,NA,NA,Giles de_Sulli /,Giles de_Sulli,,M,NA,NA,NA,NA,NA,NA,762 +1864,NA,1865,Maud /,Maud,,F,NA,NA,NA,NA,NA,764,763 +1865,NA,NA,Ingelbert of_Carinthia /,Ingelbert of_Carinthia,,M,NA,NA,NA,NA,Duke,NA,764 +1866,1395,1405,Geoffrey_VI of_Anjou /,Geoffrey_VI of_Anjou,,M,1134,NA,1158,NA,Count of Nantes,510,NA +1867,1395,1405,William /,William,,M,1136,NA,1164,NA,Count of Poitou,510,NA +1868,NA,NA,William_X of_Aquitaine /,William_X of_Aquitaine,,M,1099,NA,1137,NA,Duke,NA,765 +1869,2453,2452,Louis_VII the_Younger /,Louis_VII the_Younger,,M,ABT 1121,NA,18 SEP 1180,"Paris,France",King of France,1158,"766, 1168, 1169" +1870,NA,NA,William de_Warenne /,William de_Warenne,,M,NA,NA,NA,NA,Earl of Surrey,NA,767 +1871,NA,NA,Theodore of_Flanders /,Theodore of_Flanders,,M,NA,NA,NA,NA,Count,NA,768 +1872,NA,NA,Sancho_VI /,Sancho_VI,,M,NA,NA,NA,NA,King of Navarre,NA,769 +1873,1506,1377,Eleanor /,Eleanor,,F,NA,NA,1241,NA,NA,563,NA +1874,NA,NA,Conan of_Brittany /,Conan of_Brittany,,M,NA,NA,NA,NA,Duke,NA,770 +1875,NA,NA,Ranulph /,Ranulph,,M,NA,NA,NA,NA,Earl of Chester,NA,771 +1876,NA,NA,Guy of_Thouars /,Guy of_Thouars,,M,NA,NA,NA,NA,Viscount,NA,772 +1877,NA,NA,William of_Gloucester /,William of_Gloucester,,M,NA,NA,NA,NA,Earl,NA,773 +1878,NA,NA,Geoffrey de_Mandeville /,Geoffrey de_Mandeville,,M,NA,NA,NA,NA,NA,NA,774 +1879,NA,NA,Hubert de_Burgh /,Hubert de_Burgh,,M,NA,NA,NA,NA,NA,NA,775 +1880,NA,NA,Hugh de_la_Marche le_Brun/,Hugh de_la_Marche,le_Brun,M,NA,NA,NA,NA,Count,NA,776 +1881,NA,NA,Raymond of_Provence /,Raymond of_Provence,,M,NA,NA,NA,NA,Count,NA,777 +1882,596,1367,Henry /,Henry,,M,NA,NA,1271,NA,NA,599,NA +1883,NA,NA,William of_Pembroke Marshal/,William of_Pembroke,Marshal,M,NA,NA,NA,NA,Earl,NA,778 +1884,NA,NA,Raymond of_Provence Berengar/,Raymond of_Provence,Berengar,M,NA,NA,NA,NA,Count,NA,779 +1885,NA,NA,William de_Fauquemont of_Montjoye /,NA,,M,NA,NA,NA,NA,Count,NA,780 +1886,2232,2231,Alexander_II /,Alexander_II,,M,1198,NA,1249,NA,King of Scotland,1024,"781, 1025" +1887,1582,1367,Edmund /,Edmund,,M,NA,NA,1300,NA,Earl of Cornwall,600,782 +1888,1582,1367,Richard /,Richard,,M,NA,NA,1296,NA,NA,600,NA +1889,NA,1890,Margaret /,Margaret,,F,NA,NA,NA,NA,NA,783,782 +1890,NA,NA,Richard De_Clare of_Gloucester /,NA,,M,NA,NA,NA,NA,Earl,NA,783 +1891,NA,NA,Alfonso_IX /,Alfonso_IX,,M,NA,NA,1230,NA,King of Castile,NA,"784, 691" +1892,NA,NA,Lucienne of_Rochefort /,Lucienne of_Rochefort,,F,NA,NA,NA,NA,NA,NA,694 +1893,NA,NA,William of_Albemarle de_Forz/,William of_Albemarle,de_Forz,M,NA,NA,NA,NA,Count,NA,785 +1894,1742,1741,Robert /,Robert,,M,NA,NA,NA,NA,Count of Artois,690,786 +1895,NA,NA,Unknown/,NA,Unknown,F,NA,NA,NA,NA,NA,NA,786 +1896,NA,1897,Yolande /,Yolande,,F,NA,NA,NA,NA,NA,788,787 +1897,NA,NA,Robert_IV /,Robert_IV,,M,NA,NA,NA,NA,Count of Dreux,NA,788 +1898,NA,NA,Roger of_Harwich Hayles/,Roger of_Harwich,Hayles,M,NA,NA,NA,NA,Sir,NA,789 +1899,NA,NA,Piers De_Braose /,Piers De_Braose,,M,NA,NA,NA,NA,NA,NA,790 +1900,NA,NA,Ralph Cobham/,Ralph,Cobham,M,NA,NA,NA,NA,Sir,NA,791 +1901,NA,NA,John /,John,,M,NA,NA,NA,NA,Lord Wake,NA,792 +1902,NA,NA,John Comyn/,John,Comyn,M,NA,NA,NA,NA,NA,NA,793 +1903,2485,1739,Philip_IV the_Fair /,Philip_IV the_Fair,,M,1268,"Fontainebleau,France",29 NOV 1314,"Fontainebleau,France",King of France,688,794 +1904,NA,1905,Roger Mortimer/,Roger,Mortimer,M,NA,NA,1360,NA,Earl of March II,796,795 +1905,NA,1906,Edmund Mortimer/,Edmund,Mortimer,M,NA,NA,NA,NA,Sir,797,796 +1906,NA,1907,Roger Mortimer/,Roger,Mortimer,M,NA,NA,1330,NA,Earl of March I,798,797 +1907,1909,1908,Edmund Mortimer/,Edmund,Mortimer,M,NA,NA,NA,NA,Lord Mortimer I,799,798 +1908,1911,1910,Roger Mortimer/,Roger,Mortimer,M,NA,NA,NA,NA,NA,800,799 +1909,2216,1919,Maud /,Maud,,F,NA,NA,NA,NA,NA,807,799 +1910,NA,NA,Ralph Mortimer/,Ralph,Mortimer,M,NA,NA,NA,NA,NA,NA,800 +1911,1956,1913,Gwladus DDU /,Gwladus DDU,,F,NA,NA,NA,NA,NA,802,"801, 800" +1912,1921,1920,Reginald De_Braose /,Reginald De_Braose,,M,NA,NA,NA,NA,NA,809,"801, 808" +1913,NA,1953,Llywelyn Fawr the_Great /,NA,,M,NA,NA,NA,NA,Prince of Wales,830,802 +1914,1916,1915,Richard Wellesley/,Richard,Wellesley,M,NA,NA,1842,NA,Marquess,804,803 +1915,NA,NA,Garret of_Mornington Wellesley/,Garret of_Mornington,Wellesley,M,NA,NA,NA,NA,Earl,NA,804 +1916,NA,1918,Anne Hill/,Anne,Hill,F,NA,NA,1831,NA,Hon.,805,804 +1917,1916,1915,Arthur of_Wellington Wellesley/,Arthur of_Wellington,Wellesley,M,NA,NA,NA,NA,Duke,804,NA +1918,NA,2186,Arthur Dungannon Hill/,Arthur Dungannon,Hill,M,NA,NA,NA,NA,Viscount,987,805 +1919,NA,1912,William De_Braose/,William,De_Braose,M,NA,NA,NA,NA,NA,808,807 +1920,NA,NA,William De_Braose/,William,De_Braose,M,NA,NA,NA,NA,NA,NA,809 +1921,1923,1922,Bertha /,Bertha,,F,NA,NA,NA,NA,NA,810,809 +1922,NA,NA,Miles of_Gloucester /,Miles of_Gloucester,,M,NA,NA,NA,NA,Earl of Hereford,NA,810 +1923,1925,1924,Sybil /,Sybil,,F,NA,NA,NA,NA,NA,811,810 +1924,NA,NA,Bernard of_Neufmarche /,Bernard of_Neufmarche,,M,NA,NA,NA,NA,NA,NA,811 +1925,1927,1926,Nest /,Nest,,F,NA,NA,NA,NA,NA,812,811 +1926,NA,NA,Osbern Fitz Richard /,NA,,M,NA,NA,NA,NA,NA,NA,812 +1927,1539,1928,Nest /,Nest,,F,NA,NA,NA,NA,NA,813,812 +1928,1931,1930,Gruffydd Ap_Llywelyn /,Gruffydd Ap_Llywelyn,,M,NA,NA,NA,NA,NA,814,813 +1929,NA,NA,Henry_III /,Henry_III,,M,1017,NA,1056,NA,King of Germany,NA,846 +1930,NA,NA,Llywelyn Ap_Seisyll /,Llywelyn Ap_Seisyll,,M,NA,NA,NA,NA,NA,NA,814 +1931,NA,1934,Angharad /,Angharad,,F,NA,NA,NA,NA,NA,816,"814, 815" +1932,NA,NA,Cynfyn of_Powys /,Cynfyn of_Powys,,M,NA,NA,NA,NA,NA,NA,815 +1933,1931,1932,Bleddyn /,Bleddyn,,M,NA,NA,NA,NA,NA,815,NA +1934,NA,1935,Maredudd /,Maredudd,,M,NA,NA,NA,NA,NA,817,816 +1935,NA,1936,Owain /,Owain,,M,NA,NA,968,NA,NA,818,817 +1936,NA,1937,Hywel Dda (the_Good) /,NA,,M,NA,NA,NA,NA,NA,819,818 +1937,NA,1938,Cadell /,Cadell,,M,NA,NA,909,NA,NA,820,819 +1938,NA,NA,Rhodri Mawr (the_Great) /,NA,,M,NA,NA,NA,NA,NA,NA,820 +1939,NA,1938,Anarawd /,Anarawd,,M,NA,NA,NA,NA,NA,820,822 +1940,NA,1939,Idwal Foel (the_Bald) /,NA,,M,NA,NA,942,NA,NA,822,821 +1941,NA,NA,Unknown/,NA,Unknown,F,NA,NA,NA,NA,NA,NA,821 +1942,1941,1940,Iago /,Iago,,M,NA,NA,NA,NA,NA,821,NA +1943,1941,1940,Ieuaf (Levan) /,Ieuaf (Levan),,M,NA,NA,NA,NA,NA,821,824 +1944,1941,1940,Meurig /,Meurig,,M,NA,NA,986,NA,NA,821,825 +1945,NA,1943,Hywel (the_Bad) /,Hywel (the_Bad),,M,NA,NA,NA,NA,NA,824,823 +1946,NA,1943,Cadwallon /,Cadwallon,,M,NA,NA,NA,NA,NA,824,NA +1947,NA,1945,Cynan /,Cynan,,M,NA,NA,NA,NA,NA,823,NA +1948,NA,1944,Idwal /,Idwal,,M,NA,NA,996,NA,NA,825,826 +1949,NA,1948,Iago /,Iago,,M,NA,NA,NA,NA,NA,826,828 +1950,NA,1949,Cynan /,Cynan,,M,NA,NA,NA,NA,NA,828,827 +1951,NA,1950,Gruffydd Ap_Cynan /,Gruffydd Ap_Cynan,,M,NA,NA,NA,NA,NA,827,829 +1952,NA,1951,Owain Gwynedd /,Owain Gwynedd,,M,NA,NA,NA,NA,NA,829,831 +1953,1954,1952,Iorwerth Drwyndwn /,Iorwerth Drwyndwn,,M,NA,NA,NA,NA,NA,831,830 +1954,NA,NA,Unknown/,NA,Unknown,F,NA,NA,NA,NA,NA,NA,831 +1955,1954,1952,Dafydd /,Dafydd,,M,NA,NA,NA,NA,NA,831,NA +1956,NA,NA,Unknown/,NA,Unknown,F,NA,NA,NA,NA,NA,NA,802 +1957,1956,1913,Gruffydd /,Gruffydd,,M,NA,NA,NA,NA,NA,802,833 +1958,1956,1913,Dafydd /,Dafydd,,M,NA,NA,NA,NA,NA,802,NA +1959,1956,1913,Angharad /,Angharad,,F,NA,NA,NA,NA,NA,802,970 +1960,NA,1961,Gwenllian /,Gwenllian,,F,NA,NA,NA,NA,NA,832,NA +1961,NA,1957,Llywelyn Ap_Gruffydd /,Llywelyn Ap_Gruffydd,,M,NA,NA,NA,NA,NA,833,832 +1962,193,176,Kathryn /,Kathryn,,F,NA,NA,NA,NA,NA,62,NA +1963,193,176,Norissa /,Norissa,,F,NA,NA,NA,NA,NA,62,NA +1964,1967,1966,Alfred the_Great /,Alfred the_Great,,M,849,"Wantage,,,England",899,NA,King West Saxons,835,834 +1965,NA,1981,Ealhswith /,Ealhswith,,F,NA,NA,905,NA,NA,842,834 +1966,1974,1973,Ethelwulf /,Ethelwulf,,M,NA,NA,858,NA,King of Wessex,837,"835, 838" +1967,NA,1976,Osburh /,Osburh,,F,NA,NA,846,NA,NA,839,835 +1968,1967,1966,Athelstan /,Athelstan,,M,NA,NA,NA,NA,NA,835,NA +1969,1967,1966,Ethelbald /,Ethelbald,,M,NA,NA,860,NA,King of Wessex,835,836 +1970,NA,NA,Judith /,Judith,,F,NA,NA,NA,NA,NA,NA,"836, 838" +1971,1967,1966,Ethelbert /,Ethelbert,,M,NA,NA,866,NA,King of Wessex,835,NA +1972,1967,1966,Ethelred_I /,Ethelred_I,,M,NA,NA,871,NA,King of Wessex,835,840 +1973,NA,2054,Egbert /,Egbert,,M,NA,NA,839,NA,King of Wessex,895,837 +1974,NA,NA,Redburh /,Redburh,,F,NA,NA,NA,NA,NA,NA,837 +1975,1974,1973,Athelstan /,Athelstan,,M,NA,NA,NA,NA,NA,837,NA +1976,NA,NA,Oslac /,Oslac,,M,NA,NA,NA,NA,NA,NA,839 +1977,1967,1966,Ethelswith /,Ethelswith,,F,NA,NA,888,NA,NA,835,841 +1978,NA,1972,Ethelhelm /,Ethelhelm,,M,NA,NA,NA,NA,NA,840,NA +1979,NA,1972,Ethelwald /,Ethelwald,,M,NA,NA,NA,NA,King of York,840,NA +1980,NA,NA,Burghred /,Burghred,,M,NA,NA,NA,NA,King of Mercia,NA,841 +1981,NA,NA,Ethelred Mucel/,Ethelred,Mucel,M,NA,NA,NA,NA,Ealdorman,NA,842 +1982,1965,1964,Ethelwerd /,Ethelwerd,,M,NA,NA,922,NA,NA,834,843 +1983,NA,1982,Elfwine /,Elfwine,,M,NA,NA,937,NA,NA,843,NA +1984,NA,1982,Ethelwine /,Ethelwine,,M,NA,NA,937,NA,NA,843,NA +1985,1965,1964,Ethelfleda /,Ethelfleda,,F,NA,NA,918,NA,Lady of Mercia,834,845 +1986,1965,1964,Ethelgiva of_Shaftesbury /,Ethelgiva of_Shaftesbury,,F,NA,NA,NA,NA,Abbess,834,NA +1987,1965,1964,Elfrida /,Elfrida,,F,NA,NA,NA,NA,NA,834,844 +1988,NA,NA,Baldwin_II of_Flanders /,Baldwin_II of_Flanders,,M,NA,NA,NA,NA,Count,NA,844 +1989,NA,NA,Ethelred of_Mercia /,Ethelred of_Mercia,,M,NA,NA,910,NA,Ealdorman,NA,845 +1990,1768,1929,Henry_IV /,Henry_IV,,M,11 NOV 1050,"Goslar,,,Germany",7 AUG 1106,"Liege,,,Belgium",Emperor,846,NA +1991,NA,1995,Cerdic /,Cerdic,,M,NA,NA,534,NA,King of Wessex,849,847 +1992,NA,1991,Cynric /,Cynric,,M,NA,NA,560,NA,King of Wessex,847,848 +1993,NA,1992,Ceawlin /,Ceawlin,,M,NA,NA,593,NA,NA,848,885 +1994,NA,1992,Cutha /,Cutha,,M,NA,NA,584,NA,King of Wessex,848,874 +1995,NA,1996,Elesa /,Elesa,,M,NA,NA,NA,NA,NA,850,849 +1996,NA,1997,Elsa /,Elsa,,M,NA,NA,NA,NA,NA,851,850 +1997,NA,1998,Gewis /,Gewis,,M,NA,NA,NA,NA,NA,852,851 +1998,NA,1999,Wig /,Wig,,M,NA,NA,NA,NA,NA,853,852 +1999,NA,2000,Freawine /,Freawine,,M,NA,NA,NA,NA,NA,854,853 +2000,NA,2001,Frithogar /,Frithogar,,M,NA,NA,NA,NA,NA,855,854 +2001,NA,2002,Brond /,Brond,,M,NA,NA,NA,NA,NA,856,855 +2002,NA,2003,Baeldaeg /,Baeldaeg,,M,NA,NA,NA,NA,NA,857,856 +2003,NA,2004,Woden /,Woden,,M,NA,NA,NA,NA,NA,858,857 +2004,NA,2005,Frithuwald /,Frithuwald,,M,NA,NA,NA,NA,NA,859,858 +2005,NA,2006,Frealaf /,Frealaf,,M,NA,NA,NA,NA,NA,860,859 +2006,NA,2007,Frithuwulf /,Frithuwulf,,M,NA,NA,NA,NA,NA,861,860 +2007,NA,2008,Finn /,Finn,,M,NA,NA,NA,NA,NA,862,861 +2008,NA,2009,Godwulf /,Godwulf,,M,NA,NA,NA,NA,NA,863,862 +2009,NA,2010,Geata /,Geata,,M,NA,NA,NA,NA,NA,864,863 +2010,NA,2011,Taetwa /,Taetwa,,M,NA,NA,NA,NA,NA,865,864 +2011,NA,2012,Beaw /,Beaw,,M,NA,NA,NA,NA,NA,866,865 +2012,NA,2013,Sceldwa /,Sceldwa,,M,NA,NA,NA,NA,NA,867,866 +2013,NA,2014,Heremod /,Heremod,,M,NA,NA,NA,NA,NA,868,867 +2014,NA,2015,Itermon /,Itermon,,M,NA,NA,NA,NA,NA,869,868 +2015,NA,2016,Hathra /,Hathra,,M,NA,NA,NA,NA,NA,870,869 +2016,NA,2017,Hwala /,Hwala,,M,NA,NA,NA,NA,NA,871,870 +2017,NA,2018,Bedwig /,Bedwig,,M,NA,NA,NA,NA,NA,872,871 +2018,NA,NA,Sceaf /,Sceaf,,M,NA,NA,NA,NA,NA,NA,872 +2019,NA,1995,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,849,873 +2020,2019,NA,Stuf /,Stuf,,M,NA,NA,NA,NA,NA,873,NA +2021,2019,NA,Wihtgar Isle_of_Wight /,Wihtgar Isle_of_Wight,,M,NA,NA,544,NA,King,873,NA +2022,NA,1994,Ceolric /,Ceolric,,M,NA,NA,597,NA,King of Wessex,874,875 +2023,NA,1994,Ceolwulf /,Ceolwulf,,M,NA,NA,NA,NA,King of Wessex,874,879 +2024,NA,2022,Cynegils /,Cynegils,,M,NA,NA,NA,NA,King of Wessex,875,880 +2025,NA,2026,Aescwine /,Aescwine,,M,NA,NA,NA,NA,King of Wessex,876,NA +2026,NA,2027,Cenfus /,Cenfus,,M,NA,NA,NA,NA,NA,877,876 +2027,NA,2028,Cenferth /,Cenferth,,M,NA,NA,NA,NA,NA,878,877 +2028,NA,2023,Cuthgils /,Cuthgils,,M,NA,NA,NA,NA,NA,879,878 +2029,NA,2024,Cwichelm /,Cwichelm,,M,NA,NA,636,NA,NA,880,881 +2030,NA,2024,Cenwealh /,Cenwealh,,M,NA,NA,NA,NA,NA,880,"882, 883" +2031,NA,2024,Centwine /,Centwine,,M,NA,NA,NA,NA,King of Wessex,880,NA +2032,NA,2024,Cyneburh /,Cyneburh,,F,NA,NA,NA,NA,NA,880,884 +2033,NA,2029,Cuthred /,Cuthred,,NA,NA,NA,NA,NA,NA,881,NA +2034,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,882 +2035,NA,NA,Sexburh /,Sexburh,,F,NA,NA,NA,NA,Queen of Wessex,NA,883 +2036,NA,NA,Oswald of_Northumbria /,Oswald of_Northumbria,,M,NA,NA,NA,NA,King,NA,884 +2037,NA,1993,Cuthwine /,Cuthwine,,M,NA,NA,NA,NA,NA,885,886 +2038,NA,2037,Chad /,Chad,,M,NA,NA,NA,NA,NA,886,887 +2039,NA,2037,Cynebald /,Cynebald,,M,NA,NA,NA,NA,NA,886,890 +2040,NA,2037,Cuthwulf (Cutha) /,Cuthwulf (Cutha),,M,NA,NA,NA,NA,NA,886,899 +2041,NA,2038,Cenbert /,Cenbert,,M,NA,NA,661,NA,NA,887,888 +2042,NA,2041,Cedwalla /,Cedwalla,,M,NA,NA,689,"Rome,,,Italy",King of Wessex,888,NA +2043,NA,2041,Mul /,Mul,,M,NA,NA,687,NA,King of Kent,888,NA +2044,NA,2045,Oswald Atheling/,Oswald,Atheling,M,NA,NA,729,NA,NA,889,NA +2045,NA,2039,Ethelbald /,Ethelbald,,M,NA,NA,NA,NA,NA,890,889 +2046,NA,2047,Ine /,Ine,,M,NA,NA,728,"Rome,,Italy",King of Wessex,891,893 +2047,NA,2048,Cenred /,Cenred,,M,NA,NA,NA,NA,NA,892,891 +2048,NA,2040,Ceolwald /,Ceolwald,,M,NA,NA,NA,NA,NA,899,892 +2049,NA,NA,Ethelburh /,Ethelburh,,F,NA,NA,NA,NA,NA,NA,893 +2050,NA,2047,Ingild /,Ingild,,M,NA,NA,718,NA,NA,891,898 +2051,NA,2047,Cwenburh of_Wimborne /,Cwenburh of_Wimborne,,F,NA,NA,NA,NA,Abbess,891,NA +2052,NA,2047,Cuthburh /,Cuthburh,,F,NA,NA,NA,NA,NA,891,894 +2053,NA,NA,Aldfrid of_Northumbria /,Aldfrid of_Northumbria,,M,NA,NA,NA,NA,King,NA,894 +2054,NA,2055,Ealhmund of_Kent /,Ealhmund of_Kent,,M,NA,NA,786,NA,Under-King,896,895 +2055,NA,2056,Eaba /,Eaba,,M,NA,NA,NA,NA,NA,897,896 +2056,NA,2050,Eoppa /,Eoppa,,M,NA,NA,NA,NA,NA,898,897 +2057,NA,NA,William of_Hainault /,William of_Hainault,,M,NA,NA,NA,NA,Count,NA,900 +2058,NA,NA,Thomas Holland/,Thomas,Holland,M,NA,NA,NA,NA,Earl of Kent,NA,901 +2059,NA,NA,William de_Burgh/,William,de_Burgh,M,NA,NA,NA,NA,Earl of Ulster,NA,902 +2060,NA,NA,Galeazzo Visconti/,Galeazzo,Visconti,M,NA,NA,NA,NA,Duke of Milan,NA,903 +2061,NA,NA,Otho of_Montferrat /,Otho of_Montferrat,,M,NA,NA,NA,NA,Marquis,NA,904 +2062,NA,NA,Pedro_III of_Castile /,Pedro_III of_Castile,,M,NA,NA,NA,NA,King,NA,"905, 908" +2063,NA,NA,Payne of_Guienne Roet/,Payne of_Guienne,Roet,M,NA,NA,NA,NA,Sir,NA,906 +2064,NA,NA,Hugh Swynford/,Hugh,Swynford,M,NA,NA,NA,NA,Sir,NA,907 +2065,1416,1236,Katherine /,Katherine,,F,NA,NA,NA,NA,NA,517,909 +2066,NA,2067,Henry_III /,Henry_III,,M,1379,NA,1406,NA,King of Castile,910,909 +2067,NA,2068,John_I (Juan) /,John_I (Juan),,M,1358,NA,1390,NA,King of Castile,911,910 +2068,NA,NA,Henry_II (Enrique) /,Henry_II (Enrique),,M,ABT 1333,NA,1379,NA,King of Castile,NA,911 +2069,NA,NA,Humphrey of_Hereford De_Bohun/,Humphrey of_Hereford,De_Bohun,M,NA,NA,NA,NA,Earl,NA,912 +2070,NA,NA,Edmund of_Stafford /,Edmund of_Stafford,,M,NA,NA,NA,NA,Earl,NA,913 +2071,1343,1242,Humphrey of_Buckingham /,Humphrey of_Buckingham,,M,NA,NA,NA,NA,Earl,491,NA +2072,1343,1242,Joan /,Joan,,F,NA,NA,NA,NA,NA,491,NA +2073,1343,1242,Isabel /,Isabel,,F,NA,NA,NA,NA,NA,491,NA +2074,NA,NA,Isabelle of_Bavaria /,Isabelle of_Bavaria,,F,1371,NA,1435,NA,NA,NA,915 +2075,2500,2499,Charles_VI the_Beloved /,Charles_VI the_Beloved,,M,3 DEC 1368,"Paris,France",22 OCT 1422,"Paris,France",King of France,1182,915 +2076,NA,NA,Robert Ferrers/,Robert,Ferrers,M,NA,NA,NA,NA,Sir,NA,916 +2077,NA,2078,Margaret /,Margaret,,F,NA,NA,NA,NA,NA,918,917 +2078,NA,NA,Thomas Neville/,Thomas,Neville,M,NA,NA,NA,NA,Sir,NA,918 +2079,1595,1329,Margaret Beaufort/,Margaret,Beaufort,F,NA,NA,NA,NA,NA,486,919 +2080,NA,NA,Thomas Courtenay/,Thomas,Courtenay,M,NA,NA,NA,NA,Earl of Devon V,NA,919 +2081,NA,2082,Eleanor Beauchamp/,Eleanor,Beauchamp,F,NA,NA,NA,NA,NA,921,920 +2082,NA,NA,Richard Beauchamp/,Richard,Beauchamp,M,NA,NA,NA,NA,Earl of Warwick,NA,921 +2083,2081,1335,Henry Beaufort/,Henry,Beaufort,M,NA,NA,1463,NA,Duke Sommerset,920,NA +2084,2081,1335,Edmund Beaufort/,Edmund,Beaufort,M,NA,NA,1471,NA,Duke Sommerset,920,NA +2085,2081,1335,John Beaufort/,John,Beaufort,M,NA,NA,1471,NA,NA,920,NA +2086,2081,1335,Eleanor Beaufort/,Eleanor,Beaufort,F,NA,NA,NA,NA,NA,920,"922, 923" +2087,2081,1335,Joan Beaufort/,Joan,Beaufort,F,NA,NA,NA,NA,NA,920,"924, 925" +2088,2081,1335,Anne Beaufort/,Anne,Beaufort,F,NA,NA,NA,NA,NA,920,926 +2089,2081,1335,Margaret Beaufort/,Margaret,Beaufort,F,NA,NA,NA,NA,NA,920,"927, 928" +2090,2081,1335,Elizabeth Beaufort/,Elizabeth,Beaufort,F,NA,NA,NA,NA,NA,920,929 +2091,NA,NA,James of_Wiltshire Butler/,James of_Wiltshire,Butler,M,NA,NA,NA,NA,Earl,NA,922 +2092,NA,NA,Robert Spencer/,Robert,Spencer,M,NA,NA,NA,NA,Sir,NA,923 +2093,NA,NA,Robert St._Lawrence/,Robert,St._Lawrence,M,NA,NA,NA,NA,Lord Howth,NA,924 +2094,NA,NA,Richard Fry/,Richard,Fry,M,NA,NA,NA,NA,NA,NA,925 +2095,NA,NA,William Paston/,William,Paston,M,NA,NA,NA,NA,NA,NA,926 +2096,NA,NA,Humphrey /,Humphrey,,M,NA,NA,NA,NA,Earl of Stafford,NA,927 +2097,NA,NA,Richard Darell/,Richard,Darell,M,NA,NA,NA,NA,Sir,NA,928 +2098,NA,NA,Henry Fitz Lewes/,Henry Fitz,Lewes,M,NA,NA,NA,NA,Sir,NA,929 +2099,NA,NA,Thomas of_Wiltshire Boleyn/,Thomas of_Wiltshire,Boleyn,M,NA,NA,1536,NA,Earl,NA,931 +2100,841,840,Joanna the_Mad (Juana) /,NA,,F,1479,NA,1555,NA,NA,320,1352 +2101,NA,NA,William Cavendish/,William,Cavendish,M,NA,NA,NA,NA,Sir,NA,930 +2102,NA,2103,Frances Devereux/,Frances,Devereux,F,NA,NA,1674,NA,NA,933,932 +2103,NA,NA,Robert Devereux/,Robert,Devereux,M,NA,NA,NA,NA,Earl of Essex,NA,933 +2104,NA,NA,Henry of_Cumberland Clifford/,Henry of_Cumberland,Clifford,M,NA,NA,1569,NA,Earl,NA,"934, 1094" +2105,NA,NA,Adrian Stokes/,Adrian,Stokes,M,NA,NA,ABT 1581,NA,NA,NA,935 +2106,1427,1430,Catherine Grey/,Catherine,Grey,F,NA,NA,ABT 1568,NA,Lady,527,"1091, 936" +2107,1427,1430,Mary Grey/,Mary,Grey,F,NA,NA,1578,NA,Lady,527,1092 +2108,2393,2392,Edward Seymour/,Edward,Seymour,M,NA,NA,NA,NA,Earl of Hertford,1125,"936, 1122, 1123" +2109,2106,2108,Edward Beauchamp Seymour/,Edward Beauchamp,Seymour,M,NA,NA,1612,NA,Lord,936,938 +2110,2106,2108,Thomas Seymour/,Thomas,Seymour,M,NA,NA,1600,NA,NA,936,937 +2111,NA,NA,Isabel Onley/,Isabel,Onley,F,NA,NA,NA,NA,NA,NA,937 +2112,NA,2113,Honora Rogers/,Honora,Rogers,F,NA,NA,NA,NA,NA,939,938 +2113,NA,NA,Richard Rogers/,Richard,Rogers,M,NA,NA,NA,NA,Sir,NA,939 +2114,728,735,Frederick Henry /,Frederick Henry,,M,1614,NA,1629,NA,NA,265,NA +2115,728,735,Philip /,Philip,,M,NA,NA,1650,NA,NA,265,NA +2116,728,735,Elizabeth of_Hervorden /,Elizabeth of_Hervorden,,F,NA,NA,1680,NA,Abbess,265,NA +2117,728,735,Louisa Hollandine of_Maubisson /,NA,,F,NA,NA,1709,NA,Abbess,265,NA +2118,728,735,Henrietta Maria /,Henrietta Maria,,F,NA,NA,1651,NA,NA,265,943 +2119,728,735,Charlotte /,Charlotte,,F,NA,NA,1631,NA,NA,265,NA +2120,NA,NA,William of_Hesse Landgrave/,William of_Hesse,Landgrave,M,NA,NA,NA,NA,NA,NA,941 +2121,NA,NA,Anne /,Anne,,F,NA,NA,NA,NA,NA,NA,942 +2122,NA,NA,Sigismund of_Transylvania Ragotski/,Sigismund of_Transylvania,Ragotski,M,NA,NA,NA,NA,Prince,NA,943 +2123,736,758,Frederick Augustus /,Frederick Augustus,,M,NA,NA,1690,NA,NA,266,NA +2124,736,758,Maximilian William /,Maximilian William,,M,NA,NA,1726,NA,NA,266,NA +2125,736,758,Charles Philip /,Charles Philip,,M,NA,NA,1690,NA,NA,266,NA +2126,736,758,Christian /,Christian,,M,NA,NA,1703,NA,NA,266,NA +2127,NA,NA,Edward Hyde/,Edward,Hyde,M,NA,NA,NA,NA,Earl of Claredon,NA,944 +2128,749,751,Anna Maria /,Anna Maria,,F,1669,NA,1728,NA,NA,272,945 +2129,NA,NA,Victor Amadeus_II /,Victor Amadeus_II,,M,1666,NA,1732,NA,Duke of Savoy,NA,945 +2130,2416,2131,Charles_II /,Charles_II,,M,1661,NA,1700,NA,King of Spain,947,946 +2131,1017,2132,Philip_IV /,Philip_IV,,M,1605,NA,1665,NA,King of Spain,522,"948, 947" +2132,2135,870,Philip_III /,Philip_III,,M,1578,"Madrid,,,Spain",1621,NA,King of Spain,951,522 +2133,NA,NA,Maria of_Portugal /,Maria of_Portugal,,F,NA,NA,NA,NA,NA,NA,949 +2134,NA,NA,Elizabeth of_France /,Elizabeth of_France,,F,1545,NA,1568,NA,Princess,NA,950 +2135,NA,NA,Anne of_Austria /,Anne of_Austria,,F,1549,NA,1580,NA,NA,NA,951 +2136,2133,870,Don_Carlos /,Don_Carlos,,M,NA,NA,NA,NA,NA,949,NA +2137,NA,2138,James Louis Sobieski/,James Louis,Sobieski,M,NA,NA,NA,NA,Prince,953,952 +2138,NA,NA,John_III Sobieski/,John_III,Sobieski,M,9 JUN 1624,"Olesko,Now:,Ukraine,SSR",17 JUN 1696,"Wilanow,Nr.,Warsaw,Poland",King of Poland,NA,953 +2139,NA,NA,Gustavus Adolphus of_Stolberg-Ged. /,NA,,M,NA,NA,NA,NA,Prince,NA,954 +2140,NA,NA,George William of_Brunswick /,NA,,M,NA,NA,1726,NA,Duke,NA,955 +2141,NA,NA,Celle /,Celle,,F,NA,NA,NA,NA,NA,NA,955 +2142,NA,NA,Frederick_II of_Saxe-Gotha /,Frederick_II of_Saxe-Gotha,,M,NA,NA,NA,NA,Duke,NA,956 +2143,NA,NA,Magdalena Augusta of_Anhalt-Zerbst /,NA,,F,NA,NA,NA,NA,NA,NA,956 +2144,NA,NA,Edward Walpole/,Edward,Walpole,M,NA,NA,NA,NA,Hon. Sir,NA,957 +2145,NA,NA,James Waldegrave_2nd /,James Waldegrave_2nd,,M,NA,NA,NA,NA,Earl,NA,958 +2146,762,336,Sophia /,Sophia,,F,NA,NA,1844,NA,NA,279,NA +2147,NA,NA,Charles Louis Frederick /,NA,,M,NA,NA,NA,NA,Duke,NA,959 +2148,NA,NA,Elizabeth of_Saxe- Hildburghausen Albertin/,NA,Albertin,F,NA,NA,NA,NA,NA,NA,959 +2149,NA,NA,Alfonso /,Alfonso,,M,NA,NA,NA,NA,Infante of Spain,NA,960 +2150,NA,NA,Ernest of_Hohenlohe- Langenburg /,NA,,M,NA,NA,NA,NA,Prince,NA,961 +2151,NA,NA,of_Dalhousie XIII /,NA,,M,NA,NA,NA,NA,Earl,NA,962 +2152,1707,1706,Katharine Fraser /,Katharine Fraser,,F,1957,NA,NA,NA,NA,665,NA +2153,1707,1706,Alice /,Alice,,F,1961,NA,NA,NA,NA,665,NA +2154,1707,1706,Elizabeth /,Elizabeth,,F,1963,NA,NA,NA,NA,665,NA +2155,125,122,Alistair Arthur of_Connaught_2nd /,NA,,M,NA,NA,1943,NA,Duke,36,NA +2156,NA,NA,Romaine /,Romaine,,F,NA,NA,NA,NA,NA,NA,963 +2157,NA,NA,Janet Bryce/,Janet,Bryce,F,NA,NA,NA,NA,NA,NA,964 +2158,2156,504,George of_Milford_Haven /,George of_Milford_Haven,,M,NA,NA,NA,NA,Marquess,963,NA +2159,2156,504,Ivar /,Ivar,,M,NA,NA,NA,NA,Lord,963,NA +2160,NA,NA,of_Mount_Temple /,of_Mount_Temple,,M,NA,NA,NA,NA,Lord,NA,965 +2161,NA,NA,of_Lodesborough /,of_Lodesborough,,M,NA,NA,NA,NA,Earl,NA,966 +2162,NA,NA,J. Keyes-O'Malley Hamilton/,J. Keyes-O'Malley,Hamilton,M,NA,NA,NA,NA,Capt.,NA,967 +2163,NA,NA,Michael Kelly Bryan /,NA,,M,NA,NA,NA,NA,NA,NA,968 +2164,NA,NA,William Kemp /,William Kemp,,M,NA,NA,NA,NA,NA,NA,969 +2165,509,2163,Robin Alexander /,Robin Alexander,,M,NA,NA,NA,NA,NA,968,NA +2166,NA,NA,Maelgwn Fychan /,Maelgwn Fychan,,M,NA,NA,1257,NA,NA,NA,970 +2167,1959,2166,Eleanor /,Eleanor,,F,NA,NA,NA,NA,NA,970,971 +2168,NA,NA,Maredudd Ap_Owain /,Maredudd Ap_Owain,,M,NA,NA,1265,NA,NA,NA,971 +2169,2167,2168,Owain /,Owain,,M,NA,NA,1275,NA,NA,971,972 +2170,NA,2169,Llywelyn /,Llywelyn,,M,NA,NA,1309,NA,NA,972,973 +2171,NA,2170,Thomas /,Thomas,,M,NA,NA,ABT 1343,NA,NA,973,974 +2172,NA,2171,Margaret /,Margaret,,F,NA,NA,NA,NA,NA,974,975 +2173,NA,2175,Tudor Fychan of_Pemmynydd /,NA,,M,NA,NA,NA,NA,NA,977,975 +2174,2172,2173,Maredudd (Meredith) Tudor/,Maredudd (Meredith),Tudor,M,NA,NA,NA,NA,NA,975,976 +2175,NA,2176,Goronwy_Ap Tudor /,Goronwy_Ap Tudor,,M,NA,NA,1331,NA,NA,978,977 +2176,NA,2177,Tudor Hen /,Tudor Hen,,M,NA,NA,1311,NA,NA,979,978 +2177,2179,2178,Goronwy /,Goronwy,,M,NA,NA,NA,NA,NA,980,979 +2178,NA,NA,Ednyfed Fychan /,Ednyfed Fychan,,M,NA,NA,NA,NA,NA,NA,980 +2179,NA,2180,Gwenllian /,Gwenllian,,F,NA,NA,1236,NA,NA,981,980 +2180,NA,2181,Rhys_Ap Gruffydd /,Rhys_Ap Gruffydd,,M,NA,NA,1197,NA,Lord Rhys,982,981 +2181,NA,2182,Gruffydd /,Gruffydd,,M,NA,NA,1137,NA,NA,983,982 +2182,NA,2183,Rhys_Ap Twedwr /,Rhys_Ap Twedwr,,M,NA,NA,NA,NA,Prince S. Wales,984,983 +2183,NA,2184,Tewdwr Mawr the_Great /,NA,,M,NA,NA,NA,NA,NA,985,984 +2184,NA,2185,Cadell /,Cadell,,M,NA,NA,NA,NA,NA,986,985 +2185,NA,1935,Einion /,Einion,,M,NA,NA,984,NA,NA,817,986 +2186,2188,2187,Michael of_Hillsborough Hill/,Michael of_Hillsborough,Hill,M,NA,NA,NA,NA,NA,988,987 +2187,NA,NA,William Hill/,William,Hill,M,NA,NA,NA,NA,NA,NA,988 +2188,2190,2189,Eleanor Boyle/,Eleanor,Boyle,F,NA,NA,NA,NA,NA,989,988 +2189,NA,NA,Michael Boyle/,Michael,Boyle,M,NA,NA,NA,NA,Dr.,NA,989 +2190,NA,2191,Mary O'Brien/,Mary,O'Brien,F,NA,NA,NA,NA,NA,990,989 +2191,NA,2192,Dermont O'Brien/,Dermont,O'Brien,M,NA,NA,1624,NA,Lord Inchiquin V,991,990 +2192,NA,2193,Murrough O'Brien/,Murrough,O'Brien,M,NA,NA,1597,NA,Lord Inchiquin 4,992,991 +2193,NA,2194,Murrough O'Brien/,Murrough,O'Brien,M,NA,NA,1573,NA,Lord Inchiquin 3,993,992 +2194,NA,2195,Dermod O'Brien/,Dermod,O'Brien,M,NA,NA,1557,NA,Lord Inchiquin 2,994,993 +2195,NA,2196,Murrough /,Murrough,,M,NA,NA,1551,NA,King of Thomond,995,994 +2196,NA,2197,Turlough Don /,Turlough Don,,M,NA,NA,NA,NA,King of Thomond,996,995 +2197,NA,2198,Teige An_Chomard /,Teige An_Chomard,,M,NA,NA,NA,NA,King of Thomond,997,996 +2198,NA,2199,Turlough Bog the_Soft /,NA,,M,NA,NA,NA,NA,King of Thomond,998,997 +2199,NA,2200,Brian_Catha An_Eanaigh /,Brian_Catha An_Eanaigh,,M,NA,NA,NA,NA,King of Thomond,999,998 +2200,NA,2201,Mahon Moinmoy /,Mahon Moinmoy,,M,NA,NA,NA,NA,King of Thomond,1000,999 +2201,NA,2202,Mortogh /,Mortogh,,M,NA,NA,NA,NA,King of Thomond,1001,1000 +2202,NA,2203,Turlough /,Turlough,,M,NA,NA,1306,NA,King of Thomond,1002,1001 +2203,NA,2204,Teige Caeluisce /,Teige Caeluisce,,M,NA,NA,NA,NA,King of Thomond,1003,1002 +2204,NA,2205,Conor Na_Suidane /,Conor Na_Suidane,,M,NA,NA,NA,NA,King of Thomond,1004,1003 +2205,2207,2206,Donough Cairbreach /,Donough Cairbreach,,M,NA,NA,NA,NA,King of Thomond,1005,1004 +2206,NA,2208,Donnell More /,Donnell More,,M,NA,NA,1194,NA,King of Thomond,1006,1005 +2207,NA,2221,Urlachan /,Urlachan,,F,NA,NA,NA,NA,NA,1014,1005 +2208,NA,2209,Turlough /,Turlough,,M,NA,NA,NA,NA,King of Thomond,1007,1006 +2209,NA,2210,Dermot /,Dermot,,M,NA,NA,NA,NA,King of Munster,1008,1007 +2210,NA,2211,Turough /,Turough,,M,NA,NA,NA,NA,King of Munster,1009,1008 +2211,NA,2212,Teige (Terence) /,Teige (Terence),,M,NA,NA,1023,NA,NA,1010,1009 +2212,NA,NA,Brian Boru /,Brian Boru,,M,NA,NA,NA,NA,King of Ireland,NA,1010 +2213,NA,2212,Dearbforgail /,Dearbforgail,,F,NA,NA,1080,NA,NA,1010,1011 +2214,NA,NA,Dermot MacMailnamo/,Dermot,MacMailnamo,M,NA,NA,1072,NA,King of Ireland,NA,1011 +2215,2213,2214,Murchad /,Murchad,,M,NA,NA,1090,NA,King of Leinster,1011,1017 +2216,2218,2217,Eva /,Eva,,F,NA,NA,NA,NA,NA,1012,807 +2217,NA,NA,William Marshal/,William,Marshal,M,NA,NA,NA,NA,Earl of Pembroke,NA,1012 +2218,2220,2219,Isabel /,Isabel,,F,NA,NA,NA,NA,NA,1013,1012 +2219,NA,NA,Richard (Strongbow) /,Richard (Strongbow),,M,NA,NA,NA,NA,Earl of Pembroke,NA,1013 +2220,NA,2221,Aoife (Eva) /,Aoife (Eva),,F,NA,NA,NA,NA,NA,1014,1013 +2221,NA,2222,Dermot MacMurrough/,Dermot,MacMurrough,M,NA,NA,1171,NA,King of Leinster,1015,1014 +2222,NA,2223,Enna /,Enna,,M,NA,NA,1126,NA,King of Leinster,1016,1015 +2223,NA,2215,Donchad /,Donchad,,M,NA,NA,1126,NA,King of Leinster,1017,1016 +2224,1392,1391,Sybil /,Sybil,,F,NA,NA,NA,NA,NA,506,1018 +2225,NA,2226,Ingibiorg /,Ingibiorg,,F,NA,NA,NA,NA,NA,1021,1020 +2226,NA,NA,Finn Arnasson/,Finn,Arnasson,M,NA,NA,NA,NA,NA,NA,1021 +2227,NA,NA,Matilda /,Matilda,,F,NA,NA,1131,NA,NA,NA,1022 +2228,2227,1515,Henry of_Huntingdon /,Henry of_Huntingdon,,M,NA,NA,1152,NA,Earl,1022,1023 +2229,NA,NA,Ada /,Ada,,F,NA,NA,NA,NA,NA,NA,1023 +2230,2229,2228,Malcolm_IV the_Maiden /,Malcolm_IV the_Maiden,,M,NA,NA,NA,NA,King of Scotland,1023,NA +2231,2229,2228,Willaim_I the_Lion /,Willaim_I the_Lion,,M,NA,NA,NA,NA,King of Scotland,1023,1024 +2232,NA,NA,Ermengarde /,Ermengarde,,F,NA,NA,1234,NA,NA,NA,1024 +2233,NA,NA,Mary of_Coucy /,Mary of_Coucy,,F,NA,NA,NA,NA,NA,NA,1025 +2234,1283,1585,Margaret /,Margaret,,F,NA,NA,1283,NA,NA,603,1026 +2235,NA,NA,Eric Magnusson/,Eric,Magnusson,M,NA,NA,NA,NA,King of Norway,NA,1026 +2236,2234,2235,Margaret Maid_of_Norway /,Margaret Maid_of_Norway,,F,ABT 1282,NA,1290,NA,NA,1026,NA +2237,2225,1511,Duncan_II May-Nov /,Duncan_II May-Nov,,M,NA,NA,NA,NA,King of Scotland,1020,1027 +2238,NA,NA,Ethelreda /,Ethelreda,,F,NA,NA,NA,NA,NA,NA,1027 +2239,2243,2242,Duncan_I /,Duncan_I,,M,NA,NA,NA,NA,NA,1029,1028 +2240,NA,NA,Sybil /,Sybil,,F,NA,NA,NA,NA,NA,NA,1028 +2241,2240,2239,Donald_III Bane /,Donald_III Bane,,M,NA,NA,NA,NA,King of Scotland,1028,NA +2242,NA,NA,Crinan /,Crinan,,M,NA,NA,NA,NA,NA,NA,1029 +2243,NA,2248,Bethoc /,Bethoc,,F,NA,NA,NA,NA,NA,1032,1029 +2244,NA,NA,Gillacomgan /,Gillacomgan,,M,NA,NA,NA,NA,NA,NA,1030 +2245,NA,2255,Gruoch /,Gruoch,,F,NA,NA,NA,NA,NA,1038,"1030, 1031" +2246,2245,2244,Lulach /,Lulach,,M,NA,NA,NA,NA,King of Scotland,1030,NA +2247,NA,NA,Macbeth /,Macbeth,,M,NA,NA,1057,NA,King of Scotland,NA,1031 +2248,NA,2249,Malcolm_II /,Malcolm_II,,M,NA,NA,NA,NA,King of Scotland,1033,1032 +2249,NA,2250,Kenneth_II /,Kenneth_II,,M,NA,NA,NA,NA,King of Scotland,1034,1033 +2250,NA,2251,Malcolm_I /,Malcolm_I,,M,NA,NA,NA,NA,King of Scotland,1035,1034 +2251,NA,2252,Donald_II /,Donald_II,,M,NA,NA,NA,NA,King of Scotland,1036,1035 +2252,NA,2261,Constantine_II /,Constantine_II,,M,NA,NA,NA,NA,King of Scotland,1044,1036 +2253,NA,2250,Duff /,Duff,,M,NA,NA,NA,NA,King of Scotland,1034,1037 +2254,NA,2253,Kenneth_III /,Kenneth_III,,M,NA,NA,NA,NA,King of Scotland,1037,1039 +2255,NA,2254,Beoedhe /,Beoedhe,,M,NA,NA,NA,NA,NA,1039,1038 +2256,NA,2257,Constantine_IV /,Constantine_IV,,M,NA,NA,NA,NA,King of Scotland,1040,NA +2257,NA,2258,Colin /,Colin,,M,NA,NA,NA,NA,King of Scotland,1041,1040 +2258,NA,2259,Indulf /,Indulf,,M,NA,NA,NA,NA,King of Scotland,1042,1041 +2259,NA,2260,Constantine_III /,Constantine_III,,M,NA,NA,NA,NA,King of Scotland,1043,1042 +2260,NA,2261,Aedh /,Aedh,,M,NA,NA,NA,NA,King of Scotland,1044,1043 +2261,NA,2265,Kenneth_I MacAlpin/,Kenneth_I,MacAlpin,M,NA,NA,NA,NA,King of Scotland,1046,1044 +2262,NA,2261,Unknown_Dau. /,Unknown_Dau.,,F,NA,NA,NA,NA,NA,1044,1045 +2263,NA,NA,Run of_Strathclyde /,Run of_Strathclyde,,M,NA,NA,NA,NA,King,NA,1045 +2264,2262,2263,Eocha /,Eocha,,M,NA,NA,NA,NA,King of Scotland,1045,NA +2265,NA,NA,Alpin /,Alpin,,M,NA,NA,834,NA,King of Scotland,NA,1046 +2266,NA,2265,Donald_I /,Donald_I,,M,NA,NA,NA,NA,King of Scotland,1046,NA +2267,NA,NA,Charles_II /,Charles_II,,M,NA,NA,NA,NA,King of Navarre,NA,1047 +2268,NA,NA,Reynald Cobham/,Reynald,Cobham,M,NA,NA,NA,NA,Sir,NA,1048 +2269,NA,NA,of_Burgandy /,of_Burgandy,,M,NA,NA,NA,NA,Duke,NA,1049 +2270,NA,NA,Peter of_Luxemburg /,Peter of_Luxemburg,,M,NA,NA,NA,NA,Count St. Pol,NA,1050 +2271,NA,NA,Richard Woodville/,Richard,Woodville,M,NA,NA,NA,NA,Earl Rivers,NA,1051 +2272,NA,NA,Rene /,Rene,,M,NA,NA,NA,NA,Count of Anjou,NA,1052 +2273,NA,NA,Thomas of_Heton Grey/,Thomas of_Heton,Grey,M,NA,NA,NA,NA,Sir,NA,1053 +2274,NA,NA,Joachim Frederick of_Brandenburg /,NA,,M,NA,NA,NA,NA,Elector,NA,1054 +2275,NA,NA,Richard Pole/,Richard,Pole,M,NA,NA,NA,NA,Sir,NA,1055 +2276,NA,NA,John De_La_Pole/,John,De_La_Pole,M,NA,NA,NA,NA,Duke of Suffolk,NA,1056 +2277,NA,NA,Thomas Holland/,Thomas,Holland,M,NA,NA,NA,NA,Earl of Kent,NA,1057 +2278,NA,NA,Edward /,Edward,,M,NA,NA,NA,NA,Lord Cherleton,NA,1058 +2279,NA,NA,Edmund /,Edmund,,M,NA,NA,NA,NA,Earl of Stafford,NA,1059 +2280,1345,1344,Roger Mortimer/,Roger,Mortimer,M,NA,NA,1409,NA,NA,492,NA +2281,1345,1344,Eleanor Mortimer/,Eleanor,Mortimer,F,NA,NA,NA,NA,NA,492,1060 +2282,NA,NA,Edward Courtenay/,Edward,Courtenay,M,NA,NA,NA,NA,Sir,NA,1060 +2283,1348,1349,Edmund Mortimer/,Edmund,Mortimer,M,NA,NA,1409,NA,NA,494,NA +2284,1348,1349,Elizabeth Mortimer/,Elizabeth,Mortimer,F,NA,NA,NA,NA,NA,494,"1061, 1062" +2285,1348,1349,Philippa Mortimer/,Philippa,Mortimer,F,NA,NA,1401,NA,NA,494,"1063, 1064, 1065" +2286,NA,NA,Henry (Hotspur) Percy/,Henry (Hotspur),Percy,M,NA,NA,NA,NA,NA,NA,1061 +2287,NA,NA,Thomas /,Thomas,,M,NA,NA,NA,NA,Lord Camoys,NA,1062 +2288,NA,NA,John Hastings/,John,Hastings,M,NA,NA,NA,NA,Earl of Pembroke,NA,1063 +2289,NA,NA,Richard Fitzalan/,Richard,Fitzalan,M,NA,NA,NA,NA,Earl of Arundel,NA,1064 +2290,NA,NA,Thomas of_Basing Poynings/,Thomas of_Basing,Poynings,M,NA,NA,NA,NA,Lord St. John,NA,1065 +2291,NA,NA,Charles_IV /,Charles_IV,,M,1316,NA,1378,NA,Emperor,NA,1066 +2292,NA,NA,John Holland/,John,Holland,M,NA,NA,NA,NA,Duke of Exeter,NA,1067 +2293,NA,NA,John Cornwall/,John,Cornwall,M,NA,NA,NA,NA,Lord Fanhope,NA,1068 +2294,1337,1237,Constance /,Constance,,F,NA,NA,NA,NA,NA,488,1069 +2295,NA,NA,Thomas of_Gloucester Despencer/,Thomas of_Gloucester,Despencer,M,NA,NA,NA,NA,Earl,NA,1069 +2296,NA,NA,Philippa /,Philippa,,F,NA,NA,NA,NA,NA,NA,"1070, 1071, 1072" +2297,NA,NA,Fitzwater/,NA,Fitzwater,M,NA,NA,NA,NA,Lord,NA,1070 +2298,NA,NA,John Golafre/,John,Golafre,M,NA,NA,NA,NA,Sir,NA,1071 +2299,NA,NA,Thomas Clifford/,Thomas,Clifford,M,NA,NA,NA,NA,Lord,NA,1073 +2300,NA,NA,John /,John,,M,NA,NA,NA,NA,Lord Latymer,NA,1074 +2301,2304,2303,Hugh Seymour/,Hugh,Seymour,M,1759,NA,1801,NA,Admiral,1075,1019 +2302,NA,NA,Anne Horatia Waldegrave/,Anne Horatia,Waldegrave,F,NA,NA,1801,NA,Lady,NA,1019 +2303,NA,NA,Francis of_Hertford I Seymour/,NA,Seymour,M,1718,NA,1794,NA,Marquess,NA,1075 +2304,2306,2305,Isabella /,Isabella,,F,1726,NA,1782,NA,NA,1076,1075 +2305,2308,2307,Charles Fitzroy/,Charles,Fitzroy,M,1683,NA,1757,NA,Duke of Grafton,1077,1076 +2306,NA,NA,Henrietta Somerset/,Henrietta,Somerset,F,NA,NA,1726,NA,Lady,NA,1076 +2307,NA,NA,Henry Fitzroy/,Henry,Fitzroy,M,1663,NA,1690,NA,Duke of Grafton,NA,1077 +2308,NA,NA,Isabella Bennett/,Isabella,Bennett,F,NA,NA,1723,NA,Lady,NA,1077 +2309,866,865,William of_Northampton Parr/,William of_Northampton,Parr,M,NA,NA,NA,NA,Marquess,332,NA +2310,NA,NA,John Northumberland Dudley/,John Northumberland,Dudley,M,NA,NA,1553,NA,Duke,NA,1078 +2311,NA,NA,Jane Guildford/,Jane,Guildford,F,NA,NA,NA,NA,NA,NA,1078 +2312,2311,2310,John Dudley/,John,Dudley,M,NA,NA,1554,NA,Earl of Warwick,1078,1079 +2313,2311,2310,Ambrose Dudley/,Ambrose,Dudley,M,NA,NA,1590,NA,Earl of Warwick,1078,"1081, 1082, 1083" +2314,2311,2310,Henry Dudley/,Henry,Dudley,M,NA,NA,NA,NA,NA,1078,1084 +2315,2311,2310,Robert of_Leicester Dudley/,Robert of_Leicester,Dudley,M,NA,NA,1588,NA,Earl,1078,"1089, 1090" +2316,2311,2310,Jane Dudley/,Jane,Dudley,F,NA,NA,NA,NA,NA,1078,1086 +2317,2311,2310,Mary Dudley/,Mary,Dudley,F,NA,NA,1586,NA,NA,1078,1087 +2318,2311,2310,Catherine Dudley/,Catherine,Dudley,F,NA,NA,NA,NA,NA,1078,1088 +2319,2393,2392,Anne Seymour/,Anne,Seymour,F,NA,NA,1588,NA,NA,1125,"1079, 1080" +2320,NA,NA,Edward Unton/,Edward,Unton,M,NA,NA,NA,NA,NA,NA,1080 +2321,NA,NA,Anne Whorwood/,Anne,Whorwood,F,NA,NA,1552,NA,NA,NA,1081 +2322,NA,NA,Elizabeth Talboys/,Elizabeth,Talboys,F,NA,NA,NA,NA,NA,NA,1082 +2323,NA,NA,Anne Russell/,Anne,Russell,F,NA,NA,1603,NA,NA,NA,1083 +2324,2321,2313,John Dudley/,John,Dudley,M,NA,NA,NA,NA,NA,1081,NA +2325,NA,NA,Margaret Audley/,Margaret,Audley,F,NA,NA,1563,NA,NA,NA,"1084, 1085" +2326,NA,NA,Thomas Howard/,Thomas,Howard,M,NA,NA,1572,NA,Duke of Norfolk,NA,1085 +2327,2393,2392,Henry Seymour/,Henry,Seymour,M,NA,NA,NA,NA,NA,1125,1086 +2328,NA,NA,Henry Sidney/,Henry,Sidney,M,NA,NA,1586,NA,NA,NA,1087 +2329,NA,NA,Henry of_Huntington Hastings/,Henry of_Huntington,Hastings,M,NA,NA,1595,NA,Earl,NA,1088 +2330,NA,NA,Amy Robsart/,Amy,Robsart,F,NA,NA,1560,NA,NA,NA,1089 +2331,2403,2405,Lettice Knollys/,Lettice,Knollys,F,NA,NA,1634,NA,NA,1132,"1134, 1090, 1135" +2332,NA,NA,Henry Herbert/,Henry,Herbert,M,NA,NA,NA,NA,NA,NA,1091 +2333,NA,NA,Thomas Keyes/,Thomas,Keyes,M,NA,NA,1571,NA,NA,NA,1092 +2334,1428,2104,Margaret Clifford/,Margaret,Clifford,F,NA,NA,1596,NA,NA,934,1093 +2335,NA,NA,Henry Stanley/,Henry,Stanley,M,NA,NA,1593,NA,Earl of Derby,NA,1093 +2336,NA,NA,Anne Dacre/,Anne,Dacre,F,NA,NA,1581,NA,NA,NA,1094 +2337,2342,2341,Elizabeth Howard/,Elizabeth,Howard,F,NA,NA,1512,NA,NA,1096,931 +2338,2337,2099,George Rochford Boleyn/,George Rochford,Boleyn,M,NA,NA,1536,NA,Viscount,931,NA +2339,2337,2099,Mary Boleyn/,Mary,Boleyn,F,NA,NA,1544,NA,NA,931,1095 +2340,NA,NA,William Carey/,William,Carey,M,NA,NA,1528,NA,NA,NA,1095 +2341,NA,NA,Thomas Howard/,Thomas,Howard,M,NA,NA,1524,NA,Duke of Norfolk,NA,"1096, 1100" +2342,NA,NA,Elizabeth Tilney/,Elizabeth,Tilney,F,NA,NA,1497,NA,NA,NA,1096 +2343,2342,2341,Thomas Howard/,Thomas,Howard,M,NA,NA,NA,NA,Duke of Norfolk,1096,"1097, 1098" +2344,NA,NA,Anne of_York /,Anne of_York,,F,NA,NA,1511,NA,NA,NA,1097 +2345,NA,NA,Elizabeth Stafford/,Elizabeth,Stafford,F,NA,NA,1558,NA,NA,NA,1098 +2346,NA,NA,Dorothy Troyes/,Dorothy,Troyes,F,NA,NA,NA,NA,NA,NA,1099 +2347,NA,NA,Agnes Tilney/,Agnes,Tilney,F,NA,NA,1545,NA,NA,NA,1100 +2348,2347,2341,William of_Effingham Howard/,William of_Effingham,Howard,M,NA,NA,1572,NA,Lord,1100,"1101, 1102" +2349,2347,2341,Dorothy Howard/,Dorothy,Howard,F,NA,NA,NA,NA,NA,1100,1103 +2350,2347,2341,Elizabeth Howard/,Elizabeth,Howard,F,NA,NA,1534,NA,NA,1100,1104 +2351,NA,NA,Catherine Broughton/,Catherine,Broughton,F,NA,NA,1531,NA,NA,NA,1101 +2352,NA,NA,Margaret Gamage/,Margaret,Gamage,F,NA,NA,1535,NA,NA,NA,1102 +2353,NA,NA,Edward Stanley/,Edward,Stanley,M,NA,NA,1572,NA,Earl of Derby,NA,1103 +2354,NA,NA,Henry Radcliffe/,Henry,Radcliffe,M,NA,NA,1556/1557,NA,Earl of Sussex,NA,1104 +2355,2345,2343,Henry Howard/,Henry,Howard,M,NA,NA,1546,NA,Earl of Surrey,1098,1105 +2356,2345,2343,Mary Howard/,Mary,Howard,F,NA,NA,NA,NA,NA,1098,1106 +2357,2345,2343,Thomas Howard/,Thomas,Howard,M,NA,NA,1582,NA,Viscount Bindon,1098,1107 +2358,NA,NA,Frances de_Vere /,Frances de_Vere,,F,NA,NA,1577,NA,NA,NA,1105 +2359,2358,2355,Thomas Howard/,Thomas,Howard,M,NA,NA,1572,NA,Duke of Norfolk,1105,"1108, 1111" +2360,2358,2355,Henry of_Northhampton Howard/,Henry of_Northhampton,Howard,M,NA,NA,1614,NA,Earl,1105,NA +2361,2358,2355,Catherine Howard/,Catherine,Howard,F,NA,NA,1596,NA,NA,1105,NA +2362,2358,2355,Jane Howard/,Jane,Howard,F,NA,NA,1593,NA,NA,1105,NA +2363,2358,2355,Margaret Howard/,Margaret,Howard,F,NA,NA,1592,NA,NA,1105,NA +2364,NA,NA,Henry Fitzroy/,Henry,Fitzroy,M,NA,NA,1533,NA,Duke of Richmond,NA,1106 +2365,NA,NA,Gertrude Lyte/,Gertrude,Lyte,F,NA,NA,NA,NA,NA,NA,1107 +2366,NA,NA,Mary Fitzalan/,Mary,Fitzalan,F,NA,NA,1557,NA,NA,NA,1108 +2367,2366,2359,Philip Howard/,Philip,Howard,M,NA,NA,1595,NA,Earl of Arundel,1108,1109 +2368,NA,NA,Anne Dacre/,Anne,Dacre,F,NA,NA,NA,NA,NA,NA,1109 +2369,2368,2367,Thomas Howard/,Thomas,Howard,M,NA,NA,1646,NA,Earl of Arundel,1109,1110 +2370,NA,NA,Aletheia Talbot/,Aletheia,Talbot,F,NA,NA,1654,NA,NA,NA,1110 +2371,NA,NA,Margaret Audley/,Margaret,Audley,F,NA,NA,1563,NA,NA,NA,1111 +2372,2371,2359,Thomas Howard/,Thomas,Howard,M,NA,NA,1626,NA,Earl of Suffolk,1111,"1112, 1113" +2373,NA,NA,Mary Dacre/,Mary,Dacre,F,NA,NA,1576,NA,NA,NA,1112 +2374,NA,NA,Catherine Knyvett/,Catherine,Knyvett,F,NA,NA,1633,NA,NA,NA,1113 +2375,2374,2372,Theophilus Howard/,Theophilus,Howard,M,NA,NA,1640,NA,Earl of Suffolk,1113,1114 +2376,2374,2372,Thomas of_Berkshire Howard/,Thomas of_Berkshire,Howard,M,NA,NA,1669,NA,Earl,1113,1115 +2377,2374,2372,Henry Howard/,Henry,Howard,M,NA,NA,NA,NA,NA,1113,1116 +2378,2374,2372,Catherine Howard/,Catherine,Howard,F,NA,NA,1672,NA,NA,1113,1118 +2379,2374,2372,Frances Howard/,Frances,Howard,F,NA,NA,NA,NA,NA,1113,"1119, 1120" +2380,NA,NA,Elizabeth Dunbar/,Elizabeth,Dunbar,F,NA,NA,NA,NA,NA,NA,1114 +2381,NA,NA,Elizabeth Cecil/,Elizabeth,Cecil,F,NA,NA,NA,NA,NA,NA,1115 +2382,NA,NA,Elizabeth Bassett/,Elizabeth,Bassett,F,NA,NA,1643,NA,NA,NA,"1116, 1117" +2383,NA,NA,William of_Newcastle Cavendish/,William of_Newcastle,Cavendish,M,NA,NA,NA,NA,Earl,NA,1117 +2384,NA,NA,William of_Berkshire Cecil/,William of_Berkshire,Cecil,M,NA,NA,1668,NA,Earl,NA,1118 +2385,NA,NA,Robert Devereux/,Robert,Devereux,M,NA,NA,1646,NA,Earl of Essex,NA,1119 +2386,NA,NA,Robert Carr/,Robert,Carr,M,NA,NA,1645,NA,Earl of Somerset,NA,1120 +2387,2371,2359,William Howard/,William,Howard,M,NA,NA,1640,NA,NA,1111,1121 +2388,NA,NA,Elizabeth Dacre/,Elizabeth,Dacre,F,NA,NA,NA,NA,NA,NA,1121 +2389,NA,NA,Frances Howard/,Frances,Howard,F,NA,NA,1598,NA,NA,NA,1122 +2390,NA,NA,Frances Howard/,Frances,Howard,F,NA,NA,1639,NA,NA,NA,"1123, 1124" +2391,NA,NA,Ludovic of_Richmond Stuart/,Ludovic of_Richmond,Stuart,M,NA,NA,NA,NA,Duke of Lennox,NA,1124 +2392,NA,NA,Edward Seymour/,Edward,Seymour,M,NA,NA,1552,NA,Duke of Somerset,NA,"1126, 1125" +2393,NA,NA,Anne Stanhope/,Anne,Stanhope,F,NA,NA,1587,NA,NA,NA,1125 +2394,2339,2340,Henry Carey/,Henry,Carey,M,NA,NA,1596,NA,Baron Hunsdon,1095,1131 +2395,NA,NA,Catherine Fillol/,Catherine,Fillol,F,NA,NA,NA,NA,NA,NA,1126 +2396,2112,2109,Edward Beauchamp Seymour/,Edward Beauchamp,Seymour,M,NA,NA,1618,NA,Lord,938,1127 +2397,2112,2109,Francis Seymour/,Francis,Seymour,M,NA,NA,1664,NA,Baron Seymour,938,"1129, 1130" +2398,2112,2109,Honora Seymour/,Honora,Seymour,F,NA,NA,1620,NA,NA,938,NA +2399,NA,NA,Anne Sackville/,Anne,Sackville,F,NA,NA,NA,NA,NA,NA,"1127, 1128" +2400,NA,NA,Edward Lewes/,Edward,Lewes,M,NA,NA,NA,NA,NA,NA,1128 +2401,NA,NA,Frances Prynne/,Frances,Prynne,F,NA,NA,NA,NA,NA,NA,1129 +2402,NA,NA,Catherine Lee/,Catherine,Lee,F,NA,NA,1700,NA,NA,NA,1130 +2403,2339,2340,Catherine Carey/,Catherine,Carey,F,NA,NA,1568,NA,NA,1095,1132 +2404,NA,NA,Anne Morgan/,Anne,Morgan,F,NA,NA,NA,NA,NA,NA,1131 +2405,NA,NA,Francis Knollys/,Francis,Knollys,M,NA,NA,1596,NA,NA,NA,1132 +2406,2403,2405,Henry Knollys/,Henry,Knollys,M,NA,NA,1583,NA,NA,1132,1133 +2407,2403,2405,William Knollys/,William,Knollys,M,NA,NA,1632,NA,Earl of Banbury,1132,NA +2408,2403,2405,Anne Knollys/,Anne,Knollys,F,NA,NA,NA,NA,NA,1132,1136 +2409,2403,2405,Catherine Knollys/,Catherine,Knollys,F,NA,NA,NA,NA,NA,1132,1137 +2410,NA,NA,Margaret Cave/,Margaret,Cave,F,NA,NA,1606,NA,NA,NA,1133 +2411,NA,NA,Walter Devereux/,Walter,Devereux,M,NA,NA,1576,NA,Earl of Essex,NA,1134 +2412,NA,NA,Christopher Blount/,Christopher,Blount,M,NA,NA,1601,NA,NA,NA,1135 +2413,NA,NA,Thomas Leighton/,Thomas,Leighton,M,NA,NA,NA,NA,Lord De La Warr,NA,1136 +2414,NA,NA,Gerald Fitzgerald/,Gerald,Fitzgerald,M,NA,NA,1580,NA,Lord Offaley,NA,1137 +2415,769,765,Charles /,Charles,,M,NA,NA,1685,NA,NA,940,NA +2416,2417,2418,Mariana of_Austria /,Mariana of_Austria,,F,NA,NA,NA,NA,NA,1138,947 +2417,1017,2132,Maria /,Maria,,F,NA,NA,NA,NA,NA,522,1138 +2418,NA,2419,Ferdinand_III /,Ferdinand_III,,M,1608,"Graz,Austria",1657,NA,Holy Roman Emper,1139,1138 +2419,NA,NA,Ferdinand_II /,Ferdinand_II,,M,1578,"Graz,Austria",1637,NA,Holy Roman Emper,NA,1139 +2420,2417,2418,Leopold_I /,Leopold_I,,M,1640,"Vienna,Austria",5 MAY 1705,NA,Holy Roman Emper,1138,"1140, 1141" +2421,2416,2131,Margaret Teresa /,Margaret Teresa,,F,1651,NA,1673,NA,NA,947,1140 +2422,NA,NA,Eleanor of_Neuburg /,Eleanor of_Neuburg,,F,NA,NA,NA,NA,NA,NA,1141 +2423,1420,1341,Louis de_France /,Louis de_France,,M,1661,NA,1711,NA,Dauphin,523,1143 +2424,2882,2423,Philip_V /,Philip_V,,M,1683,"Versailles,France",1746,NA,King of Spain,1143,"1350, 1142" +2425,NA,NA,Isabella Elizabeth Farnese/,Isabella Elizabeth,Farnese,F,1692,NA,1766,NA,NA,NA,1142 +2426,2882,2423,Louis /,Louis,,M,1682,NA,1712,NA,Duke of Burgundy,1143,344 +2427,2421,2420,Maria Antonia /,Maria Antonia,,F,NA,NA,NA,NA,NA,1140,1144 +2428,NA,NA,Maximilian Emmanuel of_Bavaria /,NA,,M,NA,NA,NA,NA,Elector,NA,1144 +2429,2427,2428,Joseph Ferdinand /,Joseph Ferdinand,,M,NA,NA,1699,NA,Electoral Prince,1144,NA +2430,2422,2420,Joseph_I /,Joseph_I,,M,1678,NA,1711,NA,Holy Roman Emper,1141,NA +2431,2422,2420,Charles_VI /,Charles_VI,,M,1685,"Vienna,Austria",1740,NA,Holy Roman Emper,1141,1146 +2432,NA,2431,Maria Theresa /,Maria Theresa,,F,NA,NA,1780,NA,Empress,1146,1145 +2433,NA,NA,Francis_I Stephen /,Francis_I Stephen,,M,1708,"Nancy,Lorraine",1765,NA,Holy Roman Emper,NA,1145 +2434,2432,2433,Joseph_II /,Joseph_II,,M,13 MAR 1741,"Vienna,Austria",1790,NA,Holy Roman Emper,1145,NA +2435,NA,NA,Eugene of_Leuchtenberg de_Beauharnais/,Eugene of_Leuchtenberg,de_Beauharnais,M,NA,NA,NA,NA,Duke,NA,1149 +2436,NA,NA,Augusta of_Bavaria /,Augusta of_Bavaria,,F,NA,NA,NA,NA,NA,NA,1149 +2437,NA,NA,Francis Charles /,Francis Charles,,M,1802,NA,1878,NA,Archduke,NA,1150 +2438,2440,1816,Henry_II /,Henry_II,,M,31 MAR 1519,"Saint-Germain,en-Laye",10 JUL 1559,"Paris,France",King of France,728,1148 +2439,NA,NA,Catherine of_Florence de_Medici/,Catherine of_Florence,de_Medici,F,1519,NA,1589,NA,NA,NA,1148 +2440,2548,838,Claude of_France /,Claude of_France,,F,1499,NA,1524,NA,NA,1201,728 +2441,1817,2524,Margaret of_Navarre /,Margaret of_Navarre,,F,NA,NA,NA,NA,NA,729,NA +2442,NA,NA,John_II (Juan_II) /,John_II (Juan_II),,M,1405,NA,1454,NA,King of Castile,NA,1152 +2443,NA,NA,Isabella of_Portugal /,Isabella of_Portugal,,F,NA,NA,NA,NA,NA,NA,1152 +2444,NA,NA,Walter Sommerlath/,Walter,Sommerlath,M,NA,NA,NA,NA,NA,NA,1153 +2445,NA,NA,Alice de_Toledo/,Alice,de_Toledo,F,NA,NA,NA,NA,NA,NA,1153 +2446,1612,603,Victoria Ingrid Alice /,NA,,F,14 JUL 1977,NA,NA,NA,Princess,220,NA +2447,1612,603,Carl Philip /,Carl Philip,,M,13 MAY 1979,NA,NA,NA,Prince of Sweden,220,NA +2448,2898,2897,Francis Frederick of_Saxe-Coburg /,NA,,M,1750,NA,1806,NA,Duke,1360,"1367, 1147, 70" +2449,NA,2450,Maria Henrietta /,Maria Henrietta,,F,1836,NA,1902,NA,NA,1155,1154 +2450,NA,NA,Joseph of_Austria /,Joseph of_Austria,,M,1776,NA,1847,NA,Archduke,NA,1155 +2451,2476,1869,Philip_II Augustus /,Philip_II Augustus,,M,21 AUG 1165,"Gonesse,Nr: Paris,France",14 JUL 1223,"Mantes,France",King of France,1169,"1156, 1170, 1171" +2452,2455,2454,Louis_VI the_Fat /,Louis_VI the_Fat,,M,ABT 1081,"Paris,France",1 AUG 1137,"Paris,France",King of France,1159,"694, 1158" +2453,NA,NA,Adelaide of_Savoy /,Adelaide of_Savoy,,F,NA,NA,1154,NA,NA,NA,1158 +2454,2535,2457,Philip_I the_Fair /,Philip_I the_Fair,,M,1052,NA,29 JUL 1108,NA,King of France,1161,"1159, 1160" +2455,NA,NA,Bertha of_Holland /,Bertha of_Holland,,F,NA,NA,1093,NA,NA,NA,1159 +2456,NA,NA,Bertrada de_Montfort /,Bertrada de_Montfort,,F,NA,NA,NA,NA,NA,NA,1160 +2457,2459,2458,Henry_I /,Henry_I,,M,APR 1008,NA,4 AUG 1060,"Vitry-en-Brie,France",King of France,1162,"1196, 1161" +2458,NA,2463,Robert_II the_Pious /,Robert_II the_Pious,,M,ABT 970,"Orleans,France",1031,NA,King of France,1165,"1163, 1164, 1162" +2459,NA,NA,Constance of_Arles /,Constance of_Arles,,F,NA,NA,1032,NA,NA,NA,1162 +2460,2459,2458,Hugh /,Hugh,,M,1007,NA,1025,NA,NA,1162,NA +2461,NA,NA,Unknown /,Unknown,,F,NA,NA,NA,NA,NA,NA,1163 +2462,NA,NA,Bertha of_Burgundy /,Bertha of_Burgundy,,F,ABT 962,NA,NA,NA,NA,NA,1164 +2463,NA,NA,Hugh Capet/,Hugh,Capet,M,ABT 938,NA,AUG 996,NA,King of France,NA,1165 +2464,2486,1903,Louis_X the_Headstrong /,Louis_X the_Headstrong,,M,4 OCT 1289,"Paris,France",5 JUN 1316,"Vincennes,France",King of France,794,"1232, 1157" +2465,2486,1903,Philip_V the_Tall /,Philip_V the_Tall,,M,ABT 1294,"Lyons,France",3 JAN 1322,"Longchamp,France",King of France,794,1175 +2466,2487,2464,John_I /,John_I,,M,15 NOV 1316,"Paris,France",20 NOV 1316,"Paris,France",King of France,1157,NA +2467,NA,2468,William_I /,William_I,,M,1120,NA,1166,NA,King of Sicily,1167,1166 +2468,NA,NA,Roger_II /,Roger_II,,M,NA,NA,NA,NA,NA,NA,1167 +2469,2453,2452,Philip /,Philip,,M,NA,NA,NA,NA,NA,1158,NA +2470,2453,2452,Robert /,Robert,,M,NA,NA,NA,NA,Count of Dreux,1158,NA +2471,2453,2452,Pierre de_Courtenay /,Pierre de_Courtenay,,M,NA,NA,NA,NA,NA,1158,NA +2472,2453,2452,Henry of_Beauvais /,Henry of_Beauvais,,M,NA,NA,NA,NA,Bishop of Rouen,1158,NA +2473,2453,2452,Philip /,Philip,,M,NA,NA,NA,NA,Bishop of Paris,1158,NA +2474,2453,2452,Constance of_Toulouse /,Constance of_Toulouse,,F,NA,NA,NA,NA,Constance,1158,NA +2475,NA,NA,Constance of_Castile /,Constance of_Castile,,F,NA,NA,1160,NA,NA,NA,1168 +2476,NA,NA,Adele of_Champagne /,Adele of_Champagne,,F,NA,NA,1206,NA,NA,NA,1169 +2477,NA,NA,Isabella of_Hainault /,Isabella of_Hainault,,F,NA,NA,1190,NA,NA,NA,1156 +2478,NA,NA,Ingeborg /,Ingeborg,,F,1175,NA,1236,NA,NA,NA,1170 +2479,NA,NA,Agnes of_Meranie /,Agnes of_Meranie,,F,NA,NA,1201,NA,Princess,NA,1171 +2480,2479,2451,Philip Hurepel/,Philip,Hurepel,M,NA,NA,NA,NA,NA,1171,NA +2481,1742,1741,Alphonse /,Alphonse,,M,NA,NA,1271,NA,NA,690,NA +2482,NA,2483,Margaret of_Provence /,Margaret of_Provence,,F,1221,NA,1295,NA,NA,1172,689 +2483,NA,NA,Raymond of_Provence Berenger/,Raymond of_Provence,Berenger,M,NA,NA,NA,NA,Count IV,NA,1172 +2484,1742,1741,Charles of_Anjou /,Charles of_Anjou,,M,NA,NA,NA,NA,NA,690,NA +2485,NA,NA,Mary of_Brabant /,Mary of_Brabant,,F,NA,NA,1321,NA,NA,NA,688 +2486,NA,NA,Joan of_Navarre /,Joan of_Navarre,,F,1271,NA,1305,NA,NA,NA,794 +2487,NA,2488,Clemence of_Hungary /,Clemence of_Hungary,,F,ABT 1293,NA,1328,NA,NA,1173,1157 +2488,NA,2489,Charles_I /,Charles_I,,M,1288,NA,1342,NA,King of Hungary,1174,1173 +2489,NA,NA,Charles_II /,Charles_II,,M,NA,NA,NA,NA,King of Naples,NA,1174 +2490,NA,NA,Joan of_Burgundy /,Joan of_Burgundy,,F,ABT 1293,NA,1329,NA,NA,NA,1175 +2491,NA,NA,Blanche of_Burgundy /,Blanche of_Burgundy,,F,ABT 1296,NA,1326,NA,NA,NA,1176 +2492,NA,NA,Marie of_Luxemburg /,Marie of_Luxemburg,,F,1305,NA,ABT 1323,NA,NA,NA,1177 +2493,NA,NA,Joan of_Evreux /,Joan of_Evreux,,F,NA,NA,1371,NA,NA,NA,1178 +2494,NA,2495,Philip_VI of_Valois /,Philip_VI of_Valois,,M,1293,NA,22 AUG 1350,"Nogent-le-Roi,France",King of France,1179,"1180, 1181" +2495,NA,NA,Charles de_Valois /,Charles de_Valois,,M,1270,"Fontainebleau,France",1325,NA,NA,NA,1179 +2496,NA,NA,Joan of_Burgundy /,Joan of_Burgundy,,F,NA,NA,ABT 1349,NA,Queen,NA,1180 +2497,NA,NA,Blanche of_Navarre /,Blanche of_Navarre,,F,NA,NA,1398,NA,NA,NA,1181 +2498,2496,2494,John_II the_Good /,John_II the_Good,,M,26 APR 1319,"Le Mans,France",8 APR 1364,"London,England",King of France,1180,"1192, 1233" +2499,2519,2498,Charles_V the_Wise /,Charles_V the_Wise,,M,21 JAN 1337,"Vincennes,France",16 SEP 1380,"Vincennes,France",King of France,1192,1182 +2500,NA,NA,Joan of_Bourbon /,Joan of_Bourbon,,F,1338,NA,4 FEB 1378,NA,Queen,NA,1182 +2501,2500,2499,Louis of_Beaumont /,Louis of_Beaumont,,M,NA,NA,1407,NA,Count of Valois,1182,NA +2502,2500,2499,Catherine /,Catherine,,F,NA,NA,NA,NA,Princess,1182,NA +2503,2500,2499,Isabelle /,Isabelle,,F,FEB 1378,NA,FEB 1378,NA,NA,1182,NA +2504,NA,NA,Stanislaw Leczinski/,Stanislaw,Leczinski,M,NA,NA,NA,NA,King of Poland,NA,1183 +2505,NA,NA,Margaret of_Valois /,Margaret of_Valois,,F,1553,NA,1615,NA,NA,NA,1184 +2506,587,894,Elizabeth /,Elizabeth,,F,NA,NA,NA,NA,NA,1185,NA +2507,2882,2423,Charles /,Charles,,M,1686,NA,1714,NA,Duke of Berry,1143,1375 +2508,NA,NA,Clotilde of_Savoy /,Clotilde of_Savoy,,F,NA,NA,1805,NA,NA,NA,1186 +2509,2508,897,of_Angouleme /,of_Angouleme,,NA,1775,NA,NA,NA,Duke,1186,NA +2510,2508,897,of_Berry /,of_Berry,,M,1778,NA,NA,NA,Duke,1186,NA +2511,2514,2513,Louis_Philippe_I /,Louis_Philippe_I,,M,1773,"Palace Royal,France,France",1850,NA,King of France,1188,1187 +2512,NA,NA,Desideria /,Desideria,,F,NA,NA,NA,NA,NA,NA,664 +2513,NA,2515,Louis-Philippe Joseph /,Louis-Philippe Joseph,,M,NA,NA,1793,NA,NA,1189,1188 +2514,NA,NA,Louise Adelaide de_Penthievre /,NA,,F,NA,NA,NA,NA,Princess,NA,1188 +2515,NA,2516,Louis-Philippe /,Louis-Philippe,,M,NA,NA,1785,NA,NA,1190,1189 +2516,2919,2517,Louis of_Orleans /,Louis of_Orleans,,M,NA,NA,1752,NA,NA,1191,1190 +2517,2916,751,Philippe Duc_de_Chartes /,Philippe Duc_de_Chartes,,M,1674,NA,1723,NA,Regent,1373,1191 +2518,2519,2498,Philip the_Bold /,Philip the_Bold,,M,NA,NA,1404,NA,NA,1192,NA +2519,NA,NA,Bonne of_Luxemburg /,Bonne of_Luxemburg,,F,NA,NA,1349,NA,NA,NA,1192 +2520,NA,2495,Joan of_Valois /,Joan of_Valois,,F,NA,NA,NA,NA,NA,1179,1193 +2521,NA,NA,Robert of_Artois /,Robert of_Artois,,M,NA,NA,NA,NA,Duke of Richmond,NA,1193 +2522,2439,2438,Charles_IX /,Charles_IX,,M,27 JUN 1550,"St. Germain-,en-Laye,France",30 MAY 1574,"Vincennes,France",King of France,1148,1229 +2523,2439,2438,Henry_III /,Henry_III,,M,19 SEP 1551,"Fontainebleau,France",2 AUG 1589,"Paris,France",King of France,1148,1230 +2524,NA,2525,Charles of_Valois /,Charles of_Valois,,M,NA,NA,NA,NA,Count Angouleme,1194,729 +2525,NA,NA,John of_Valois /,John of_Valois,,M,NA,NA,NA,NA,Count Angouleme,NA,1194 +2526,602,445,Margaretha of_Sweden /,Margaretha of_Sweden,,F,31 OCT 1934,NA,NA,NA,Princess,217,1285 +2527,602,445,Birgitta of_Sweden /,Birgitta of_Sweden,,F,19 JAN 1937,NA,NA,NA,Princess,217,1286 +2528,602,445,Desiree of_Sweden /,Desiree of_Sweden,,F,2 JUN 1938,NA,NA,NA,Princess,217,1287 +2529,602,445,Christina Louise Helen /,NA,,F,3 AUG 1943,NA,NA,NA,Princess,217,1288 +2530,NA,NA,Peter_I /,Peter_I,,M,NA,NA,1921,NA,King of Serbia,NA,1195 +2531,NA,NA,Zorka of_Montenegro /,Zorka of_Montenegro,,F,NA,NA,ABT 1889,NA,Princess,NA,1195 +2532,2531,2530,George Karageorgeovitch/,George,Karageorgeovitch,M,NA,NA,NA,NA,NA,1195,NA +2533,2459,2458,Robert /,Robert,,M,NA,NA,NA,NA,NA,1162,NA +2534,2536,2457,Hugh the_Great of_Vermandois /,NA,,M,NA,NA,NA,NA,Count,1196,NA +2535,NA,NA,Anne of_Kiev /,Anne of_Kiev,,F,ABT 1024,NA,ABT 1066,NA,NA,NA,1161 +2536,NA,NA,Matilda of_Germany /,Matilda of_Germany,,F,NA,NA,BEF 1044,NA,NA,NA,1196 +2537,2074,2075,Charles_VII /,Charles_VII,,M,22 FEB 1403,"Paris,France",21 JUL 1461,"Bourges,France",King of France,915,1197 +2538,2539,NA,Mary of_Anjou /,Mary of_Anjou,,F,1404,NA,1463,NA,NA,1198,1197 +2539,NA,NA,Yolande of_Aragon /,Yolande of_Aragon,,F,NA,NA,NA,NA,NA,NA,1198 +2540,2538,2537,Louis_XI /,Louis_XI,,M,3 JUL 1423,"Bourges,France",30 AUG 1483,NA,King of France,1197,"1199, 1200" +2541,NA,NA,Margaret of_Scotland /,Margaret of_Scotland,,F,ABT 1418,NA,1445,NA,NA,NA,1199 +2542,NA,NA,Charlotte of_Savoy /,Charlotte of_Savoy,,F,ABT 1445,NA,1483,NA,NA,NA,1200 +2543,2542,2540,Charles_VIII /,Charles_VIII,,M,30 JUN 1490,NA,7 APR 1498,Amboise,King of France,1200,343 +2544,2542,2540,Anne /,Anne,,F,1461,NA,1522,NA,NA,1200,NA +2545,NA,NA,Anne of_Brittany /,Anne of_Brittany,,F,1477,NA,1514,NA,NA,NA,343 +2546,NA,NA,Anne of_Cleves /,Anne of_Cleves,,F,NA,NA,NA,NA,NA,NA,462 +2547,NA,NA,Joan of_Valois /,Joan of_Valois,,F,1464,NA,1505,NA,NA,NA,1151 +2548,NA,NA,Anne of_Brittany /,Anne of_Brittany,,F,1476,NA,9 JAN 1514,NA,NA,NA,1201 +2549,NA,NA,Catherine of_Brandenburg -Kustrin /,NA,,F,NA,NA,NA,NA,NA,NA,1054 +2550,NA,NA,Hildegard /,Hildegard,,F,ABT 757,NA,783,NA,NA,NA,1202 +2551,2550,417,Charles /,Charles,,M,NA,NA,811,NA,NA,1202,NA +2552,2550,417,Pepin /,Pepin,,M,777,NA,810,NA,King of Italy,1202,1205 +2553,2550,417,Louis_I the_Pious of_Aquitaine /,NA,,M,778,NA,840,NA,King,1202,"1206, 1207" +2554,2550,417,Berthe /,Berthe,,F,NA,NA,NA,NA,NA,1202,NA +2555,NA,NA,Fastrada /,Fastrada,,F,NA,NA,794,NA,NA,NA,1203 +2556,NA,NA,Luitgard /,Luitgard,,F,NA,NA,800,NA,NA,NA,1204 +2557,NA,NA,Bertha of_Toulouse /,Bertha of_Toulouse,,F,NA,NA,NA,NA,NA,NA,1205 +2558,NA,NA,Irmengard of_Hesbain /,Irmengard of_Hesbain,,F,NA,NA,NA,NA,NA,NA,1206 +2559,NA,NA,Judith of_Bavaria /,Judith of_Bavaria,,F,NA,NA,NA,NA,NA,NA,1207 +2560,2558,2553,Lothar_I /,Lothar_I,,M,795,NA,855,NA,Holy Roman Emper,1206,1208 +2561,2558,2553,Pepin_I of_Aquitaine /,Pepin_I of_Aquitaine,,M,NA,NA,838,NA,King,1206,1209 +2562,2558,2553,Adelaide /,Adelaide,,F,NA,NA,NA,NA,NA,1206,NA +2563,2558,2553,Louis_II the_German /,Louis_II the_German,,M,ABT 805,NA,876,NA,King East Franks,1206,1210 +2564,2559,2553,Charles_II the_Bald /,Charles_II the_Bald,,M,823,NA,6 OCT 877,Modano,King West Franks,1207,1211 +2565,2557,2552,Bernard /,Bernard,,M,ABT 799,NA,818,NA,King of Italy,1205,NA +2566,NA,NA,Irmengard /,Irmengard,,F,NA,NA,NA,NA,NA,NA,1208 +2567,2566,2560,Louis_II le_Jeune /,Louis_II le_Jeune,,M,ABT 822,NA,875,NA,Holy Roman Emper,1208,1215 +2568,2566,2560,Lothar_II of_Lorraine /,Lothar_II of_Lorraine,,M,ABT 826,NA,868,NA,King,1208,"1217, 1218" +2569,2566,2560,Charles /,Charles,,M,NA,NA,863,NA,King of Provence,1208,NA +2570,NA,2561,Pepin_II of_Aquitaine /,Pepin_II of_Aquitaine,,M,NA,NA,870,NA,King,1209,NA +2571,NA,NA,Emma of_Bavaria /,Emma of_Bavaria,,F,NA,NA,876,NA,NA,NA,1210 +2572,2571,2563,Carloman /,Carloman,,M,ABT 828,NA,880,NA,King of Bavaria,1210,1219 +2573,2571,2563,Louis the_Young /,Louis the_Young,,M,NA,NA,882,NA,King East Franks,1210,NA +2574,2571,2563,Charles_III the_Fat /,Charles_III the_Fat,,M,839,NA,887,NA,King West Franks,1210,NA +2575,NA,NA,Ermentrude /,Ermentrude,,F,NA,NA,869,NA,NA,NA,1211 +2576,2575,2564,Louis_II the_Stammerer /,Louis_II the_Stammerer,,M,846,NA,879,NA,King of France,1211,"1212, 1213" +2577,2575,2564,Charles of_Aquitaine /,Charles of_Aquitaine,,M,NA,NA,866,NA,King,1211,NA +2578,2575,2564,Carloman /,Carloman,,M,NA,NA,876,NA,NA,1211,NA +2579,2575,2564,Judith /,Judith,,F,NA,NA,NA,NA,NA,1211,NA +2580,NA,NA,Ansgarde of_Burgundy /,Ansgarde of_Burgundy,,F,NA,NA,NA,NA,NA,NA,1212 +2581,2580,2576,Louis_III /,Louis_III,,M,ABT 863,NA,882,NA,King of France,1212,NA +2582,2580,2576,Carloman /,Carloman,,M,NA,NA,884,NA,King of France,1212,NA +2583,NA,NA,Adelaide Judith /,Adelaide Judith,,F,NA,NA,NA,NA,NA,NA,1213 +2584,2583,2576,Charles_III the_Simple /,Charles_III the_Simple,,M,879,NA,929,NA,King of France,1213,1214 +2585,NA,NA,Eadgifu of_England /,Eadgifu of_England,,F,902,NA,NA,NA,NA,NA,1214 +2586,NA,NA,Engeberge /,Engeberge,,F,NA,NA,NA,NA,NA,NA,1215 +2587,2586,2567,Irmengard /,Irmengard,,F,NA,NA,NA,NA,NA,1215,1216 +2588,NA,NA,Boso /,Boso,,M,NA,NA,887,NA,King of Provence,NA,1216 +2589,2587,2588,Louis_III the_Blind /,Louis_III the_Blind,,M,ABT 880,NA,928,NA,Holy Roman Emper,1216,NA +2590,NA,NA,Theutberga of_Valois /,Theutberga of_Valois,,F,NA,NA,NA,NA,NA,NA,1217 +2591,NA,NA,Waldrada /,Waldrada,,F,NA,NA,NA,NA,NA,NA,1218 +2592,NA,NA,Litwinde /,Litwinde,,F,NA,NA,NA,NA,NA,NA,1219 +2593,2592,2572,Arnulf /,Arnulf,,M,ABT 863,NA,899,NA,King of Germany,1219,1220 +2594,NA,NA,Oda of_Bavaria /,Oda of_Bavaria,,F,NA,NA,NA,NA,NA,NA,1220 +2595,2594,2593,Louis_III the_Child /,Louis_III the_Child,,M,893,NA,911,NA,King of Germany,1220,NA +2596,2594,2593,Zwentibold /,Zwentibold,,M,NA,NA,900,NA,King of Lorraine,1220,NA +2597,2594,2593,Hedwige /,Hedwige,,F,NA,NA,NA,NA,NA,1220,1221 +2598,NA,NA,Otto of_Saxony /,Otto of_Saxony,,M,NA,NA,NA,NA,NA,NA,1221 +2599,2597,2598,Henry the_Fowler /,Henry the_Fowler,,M,NA,NA,NA,NA,Emperor,1221,1222 +2600,NA,NA,Matilda of_Ringelheim /,Matilda of_Ringelheim,,F,NA,NA,NA,NA,NA,NA,1222 +2601,2600,2599,Bruno of_Cologne /,Bruno of_Cologne,,M,NA,NA,NA,NA,Archbishop,1222,NA +2602,2600,2599,Otto_I /,Otto_I,,M,NA,NA,NA,NA,Emperor,1222,NA +2603,2600,2599,Gerberge /,Gerberge,,F,NA,NA,968,NA,NA,1222,1223 +2604,2585,2584,Louis_IV d'Outre-Mer /,Louis_IV d'Outre-Mer,,M,ABT 920,NA,954,NA,NA,1214,1223 +2605,2603,2604,Lothar /,Lothar,,M,941,NA,986,NA,King of France,1223,1224 +2606,2603,2604,Charles Lower_Lorraine /,Charles Lower_Lorraine,,M,954,NA,986,NA,NA,1223,NA +2607,NA,2605,Louis_V the_Coward /,Louis_V the_Coward,,M,ABT 986,NA,997,NA,NA,1224,NA +2608,NA,2605,Adalberon of_Rheims /,Adalberon of_Rheims,,M,NA,NA,1021,NA,Archbishop,1224,NA +2609,NA,2613,Pepin the_Short /,Pepin the_Short,,M,714,NA,768,NA,King of Franks,1227,1225 +2610,NA,NA,Bertha /,Bertha,,F,NA,NA,783,NA,NA,NA,1225 +2611,2610,2609,Carloman /,Carloman,,M,ABT 751,NA,771,NA,King of Franks,1225,1226 +2612,NA,NA,Gerberge of_the_Lombard /,Gerberge of_the_Lombard,,F,NA,NA,NA,NA,NA,NA,1226 +2613,NA,NA,Charles Martel/,Charles,Martel,M,ABT 686,NA,741,NA,NA,NA,1227 +2614,2896,2895,Augusta Reuss-Ebersdorf /,Augusta Reuss-Ebersdorf,,F,1757,NA,1831,NA,Countess,1228,1147 +2615,NA,NA,Elisabeth of_Austria /,Elisabeth of_Austria,,F,1554,NA,1592,NA,NA,NA,1229 +2616,2615,2522,Marie Elisabeth /,Marie Elisabeth,,F,27 OCT 1572,NA,2 APR 1578,NA,NA,1229,NA +2617,NA,NA,Louise of_Lorraine /,Louise of_Lorraine,,F,1553,NA,1601,NA,NA,NA,1230 +2618,NA,NA,Isabelle of_Aragon /,Isabelle of_Aragon,,F,1247,NA,1271,NA,NA,NA,1231 +2619,NA,NA,Marguerite of_Burgundy /,Marguerite of_Burgundy,,F,1290,NA,1315,NA,NA,NA,1232 +2620,NA,NA,Joan of_Boulogne /,Joan of_Boulogne,,F,ABT 1326,NA,1361,NA,NA,NA,1233 +2621,NA,NA,Magdalen of_Hochstadten /,Magdalen of_Hochstadten,,F,1846,NA,1917,NA,Baroness,NA,1234 +2622,NA,NA,William of_Prussia /,William of_Prussia,,M,NA,NA,NA,NA,Prince,NA,1235 +2623,NA,NA,John Loisinger/,John,Loisinger,M,NA,NA,NA,NA,NA,NA,1236 +2624,NA,NA,Francis_II Frederick of_Mecklenburg /,NA,,M,1823,NA,1883,NA,Grand Duke,NA,1237 +2625,NA,2626,Josephine of_Lichtenberg /,Josephine of_Lichtenberg,,F,1857,NA,1952,NA,Baroness,1239,1238 +2626,NA,NA,Philip Bender/,Philip,Bender,M,NA,NA,NA,NA,NA,NA,1239 +2627,NA,NA,Caroline of_Nidda /,Caroline of_Nidda,,F,1848,NA,1879,NA,Baroness,NA,1240 +2628,NA,NA,Emily of_Dornberg /,Emily of_Dornberg,,F,1868,NA,1961,NA,Baroness,NA,1241 +2629,463,461,Louis /,Louis,,M,1931,NA,1937,NA,NA,158,NA +2630,463,461,Alexander /,Alexander,,M,1933,NA,1937,NA,NA,158,NA +2631,463,461,Joanna /,Joanna,,F,1936,NA,1939,NA,NA,158,NA +2632,NA,NA,Auckland L. of_Rolvenden Geddes/,NA,Geddes,M,NA,NA,NA,NA,NA,NA,1242 +2633,NA,NA,Maria de_las_Mercedes /,Maria de_las_Mercedes,,F,1860,NA,1878,NA,NA,NA,1243 +2634,682,683,Maria de_las_Mercedes /,Maria de_las_Mercedes,,F,1880,NA,1904,NA,NA,254,1244 +2635,682,683,Maria Theresa /,Maria Theresa,,F,1882,NA,1912,NA,NA,254,1254 +2636,NA,NA,Charles of_Bourbon -Sicily /,NA,,M,1870,NA,1949,NA,Prince,NA,"1244, 1245" +2637,NA,NA,Louise /,Louise,,F,1882,NA,1952,NA,NA,NA,1245 +2638,NA,NA,Louis de_la_Torre Gomez-Acebo/,Louis de_la_Torre,Gomez-Acebo,M,1934,NA,NA,NA,Viscount,NA,1246 +2639,NA,NA,Carlos Zurita_y_Delgado /,Carlos Zurita_y_Delgado,,M,1943,NA,NA,NA,NA,NA,1247 +2640,NA,NA,Edelmira /,Edelmira,,F,1906,NA,NA,NA,NA,NA,1248 +2641,NA,NA,Martha y_Altazurra Rocafort/,Martha y_Altazurra,Rocafort,F,NA,NA,NA,NA,NA,NA,1249 +2642,27,409,Maria Christina /,Maria Christina,,F,1911,NA,NA,NA,NA,143,1250 +2643,27,409,Gonzalo /,Gonzalo,,M,1914,NA,1934,NA,NA,143,NA +2644,NA,NA,Henry C. Marone/,Henry C.,Marone,M,1895,NA,1968,NA,NA,NA,1250 +2645,NA,NA,Alexander of_Civitella- Cessi Torlonia/,NA,Torlonia,M,1911,NA,NA,NA,Prince,NA,1251 +2646,NA,NA,Emmanuela de_Dampierre /,Emmanuela de_Dampierre,,F,1913,NA,NA,NA,NA,NA,1252 +2647,NA,NA,Charlotte Tiedemann/,Charlotte,Tiedemann,F,1919,NA,NA,NA,NA,NA,1253 +2648,2650,2649,Ferdinand of_Bavaria /,Ferdinand of_Bavaria,,M,1884,NA,1958,NA,NA,1255,1254 +2649,NA,NA,Louis Ferdinand of_Bavaria /,NA,,M,1859,NA,1949,NA,Prince,NA,1255 +2650,NA,NA,Maria de_la_Paz /,Maria de_la_Paz,,F,1862,NA,1946,NA,NA,NA,1255 +2651,NA,NA,Adolph of_Schwarzburg- Rudolstadt /,NA,,M,1801,NA,1875,NA,Prince,NA,1256 +2652,NA,NA,Matilda /,Matilda,,F,1826,NA,1914,NA,NA,NA,1256 +2653,651,650,Frederica /,Frederica,,F,1770,NA,1819,NA,NA,239,1257 +2654,410,162,Alexandrine /,Alexandrine,,F,1803,NA,1892,NA,NA,145,183 +2655,651,650,Frederick /,Frederick,,M,1774,NA,1799,NA,NA,239,NA +2656,NA,NA,Amalia /,Amalia,,F,1830,NA,1872,NA,NA,NA,1258 +2657,NA,NA,Mary /,Mary,,F,1855,NA,1888,NA,NA,NA,1259 +2658,NA,NA,Lucas Streshniev/,Lucas,Streshniev,M,NA,NA,1650,NA,NA,NA,1260 +2659,NA,2924,Anne Volkonska/,Anne,Volkonska,F,NA,NA,NA,NA,NA,1378,1260 +2660,NA,NA,Theodore /,Theodore,,M,NA,NA,1633,NA,Patr. of Moscow,NA,1261 +2661,NA,2922,Xenia /,Xenia,,F,NA,NA,1631,NA,NA,1376,1261 +2662,2664,2663,Anne Leontiev/,Anne,Leontiev,F,NA,NA,1706,NA,NA,1262,483 +2663,NA,NA,Leonti Leontiev/,Leonti,Leontiev,M,NA,NA,NA,NA,NA,NA,1262 +2664,NA,2923,Praskovia Rayevska/,Praskovia,Rayevska,F,NA,NA,1641,NA,NA,1377,1262 +2665,43,42,Nicholas Romanov/,Nicholas,Romanov,M,1831,NA,1891,NA,NA,10,1263 +2666,43,42,Michael Romanov/,Michael,Romanov,M,1832,NA,1909,NA,NA,10,1264 +2667,NA,NA,Alexandra /,Alexandra,,F,1838,NA,1900,NA,NA,NA,1263 +2668,NA,NA,Cecily (Olga) /,Cecily (Olga),,F,1839,NA,1891,NA,NA,NA,1264 +2669,2668,2666,Nicholas Romanov/,Nicholas,Romanov,M,1859,NA,1919,NA,NA,1264,NA +2670,2668,2666,Michael Romanov/,Michael,Romanov,M,1861,NA,1929,NA,NA,1264,1266 +2671,354,353,Constantine Romanov/,Constantine,Romanov,M,1858,NA,1915,NA,NA,112,1268 +2672,2668,2666,Sergius Romanov/,Sergius,Romanov,M,1869,NA,1918,NA,NA,1264,NA +2673,228,227,Mary /,Mary,,F,1876,NA,1940,NA,NA,75,"1265, 1336" +2674,2668,2666,George Romanov/,George,Romanov,M,1863,NA,1919,NA,NA,1264,1265 +2675,2668,2666,Alexander Mikhailovich (Sandro) Romanov/,NA,Romanov,M,1866,NA,1933,NA,Grand Duke,1264,51 +2676,NA,NA,Sophia of_Nassau /,Sophia of_Nassau,,F,1868,NA,1927,NA,NA,NA,1266 +2677,354,353,Dimitri Romanov/,Dimitri,Romanov,M,1860,NA,1919,NA,NA,112,NA +2678,NA,NA,Nadezhda Dreyer/,Nadezhda,Dreyer,F,1861,NA,1929,NA,NA,NA,1267 +2679,NA,2680,Elizabeth /,Elizabeth,,F,1865,NA,1929,NA,NA,1269,1268 +2680,NA,NA,Maurice of_Saxe- Altenburg /,NA,,M,NA,NA,NA,NA,Prince,NA,1269 +2681,2678,165,Artemi Romanov/,Artemi,Romanov,M,1881,NA,1919,NA,Prince Iskander,1267,NA +2682,NA,NA,Frederick Francis_II of_Mecklengb-Sch /,NA,,M,NA,NA,NA,NA,Grand Duke,NA,1270 +2683,NA,NA,George Bagration- Mukhranski /,NA,,M,NA,NA,NA,NA,Prince,NA,1271 +2684,2679,2671,Ivan Romanov/,Ivan,Romanov,M,1886,NA,1918,NA,NA,1268,1272 +2685,2679,2671,Constantine Romanov/,Constantine,Romanov,M,1891,NA,1918,NA,NA,1268,NA +2686,2679,2671,Igor Romanov/,Igor,Romanov,M,1894,NA,1918,NA,NA,1268,NA +2687,NA,2688,Helen /,Helen,,F,1881,NA,1962,NA,NA,1273,1272 +2688,NA,NA,Peter_I /,Peter_I,,M,NA,NA,NA,NA,King of Serbia,NA,1273 +2689,NA,NA,Frederick Eugene of_Wurttemberg /,NA,,M,1732,NA,1797,NA,Duke,NA,1274 +2690,NA,NA,Dorothea of_Brandenburg -Schwedt /,NA,,F,1736,NA,1798,NA,Princess,NA,1274 +2691,NA,NA,Christian Augustus /,Christian Augustus,,M,1690,NA,1747,NA,Prince,NA,1275 +2692,NA,NA,Joanna /,Joanna,,F,1712,NA,1760,NA,NA,NA,1275 +2693,2839,466,Peter Oldenburg/,Peter,Oldenburg,M,1908,NA,1980,NA,NA,1276,1331 +2694,NA,NA,John of_Brandenburg /,John of_Brandenburg,,M,NA,NA,NA,NA,Margrave,NA,1277 +2695,NA,NA,Frederick Francis_III Mecklenburg-Schw /,NA,,M,1851,NA,1897,NA,Grand Duke,NA,1278 +2696,NA,NA,Anastasia /,Anastasia,,F,1860,NA,1922,NA,NA,NA,1278 +2697,605,604,Louise /,Louise,,F,1875,NA,1906,NA,NA,218,1279 +2698,NA,NA,Frederick of_Schaumburg -Lippe /,NA,,M,1868,NA,1945,NA,Prince,NA,1279 +2699,1669,1664,Feodora /,Feodora,,F,1910,NA,1975,NA,NA,652,NA +2700,1669,1664,Alexandrine Louise /,Alexandrine Louise,,F,1914,NA,1962,NA,NA,652,NA +2701,1669,1664,Gorm /,Gorm,,M,1919,NA,NA,NA,NA,652,NA +2702,1669,1664,Oluf of_Rosenborg /,Oluf of_Rosenborg,,M,1923,NA,NA,NA,Count,652,1280 +2703,NA,NA,Helen Dorrit/,Helen,Dorrit,F,1926,NA,NA,NA,NA,NA,1280 +2704,NA,NA,Inge Terney/,Inge,Terney,F,1938,NA,NA,NA,NA,NA,1281 +2705,NA,NA,Charles Augustus Haraldsen/,Charles Augustus,Haraldsen,M,NA,NA,NA,NA,NA,NA,1282 +2706,1037,1031,Guelph Hanover/,Guelph,Hanover,M,1947,NA,1981,NA,NA,391,1283 +2707,1037,1031,George Hanover/,George,Hanover,M,1949,NA,NA,NA,NA,391,1284 +2708,1037,1031,Fredericka Hanover/,Fredericka,Hanover,F,1954,NA,NA,NA,NA,391,NA +2709,NA,NA,Wilbeke von_Gunsteren/,Wilbeke,von_Gunsteren,F,1948,NA,NA,NA,NA,NA,1283 +2710,NA,NA,Victoria Bee/,Victoria,Bee,F,1951,NA,NA,NA,NA,NA,1284 +2711,1032,1033,Caroline Louise Hanover/,Caroline Louise,Hanover,F,1965,NA,NA,NA,NA,389,NA +2712,1032,1033,Mireille Hanover/,Mireille,Hanover,F,1971,NA,NA,NA,NA,389,NA +2713,NA,NA,John Kenneth Ambler/,John Kenneth,Ambler,M,6 JUN 1924,NA,NA,NA,NA,NA,1285 +2714,2526,2713,Sybilla Louise /,Sybilla Louise,,F,14 APR 1965,NA,NA,NA,NA,1285,NA +2715,2526,2713,Charles Edward /,Charles Edward,,M,14 JUL 1966,NA,NA,NA,NA,1285,NA +2716,2526,2713,James Patrick /,James Patrick,,M,10 JUN 1969,NA,NA,NA,NA,1285,NA +2717,NA,NA,Johann Georg of_Hohenzollern /,NA,,M,31 JUL 1932,NA,NA,NA,Prince,NA,1286 +2718,2527,2717,Carl Christian /,Carl Christian,,M,5 APR 1962,NA,NA,NA,NA,1286,NA +2719,2527,2717,Desiree Margaretha Victoria /,NA,,F,27 NOV 1963,NA,NA,NA,NA,1286,NA +2720,2527,2717,Hubertus Gustaf Adolf /,NA,,M,10 JUN 1966,NA,NA,NA,NA,1286,NA +2721,NA,NA,Nicholas Silfverschiold/,Nicholas,Silfverschiold,M,31 MAY 1934,NA,NA,NA,Baron,NA,1287 +2722,2528,2721,Carl Otto Edmund /,NA,,M,22 MAR 1965,NA,NA,NA,NA,1287,NA +2723,2528,2721,Christina Louise /,Christina Louise,,F,29 SEP 1966,NA,NA,NA,NA,1287,NA +2724,2528,2721,Helene Ingeborg /,Helene Ingeborg,,F,20 SEP 1968,NA,NA,NA,NA,1287,NA +2725,NA,NA,Tord Gosta Magnuson/,Tord Gosta,Magnuson,M,7 APR 1941,NA,NA,NA,NA,NA,1288 +2726,2529,2725,Carl Gustaf Victor /,NA,,M,8 AUG 1975,NA,NA,NA,NA,1288,NA +2727,2529,2725,Tord Oscar Fredrik /,NA,,M,20 JUN 1977,NA,NA,NA,NA,1288,NA +2728,2529,2725,Victor Edmund Lennart /,NA,,M,10 SEP 1980,NA,NA,NA,NA,1288,NA +2729,1612,603,Madeleine Therese Amelie /,NA,,F,10 JUN 1982,NA,NA,NA,Princess,220,NA +2730,NA,NA,Marianne of_Wisborg Lindberg/,Marianne of_Wisborg,Lindberg,F,15 JUL 1924,NA,NA,NA,Countess,NA,1289 +2731,NA,NA,Lilian May of_Sweden Davies/,NA,Davies,F,30 AUG 1915,NA,NA,NA,Princess,NA,1290 +2732,NA,NA,Erika Patzek/,Erika,Patzek,F,1911,",Germany",NA,NA,NA,NA,1291 +2733,NA,NA,Sonia Robbert/,Sonia,Robbert,F,1909,NA,NA,NA,NA,NA,1292 +2734,NA,NA,Elin Kerstin Margareta Wijkmark/,NA,Wijkmark,F,4 MAR 1910,NA,11 SEP 1987,NA,Countess,NA,1293 +2735,NA,NA,Gunnila Martha Louise Wachtmeister/,NA,Wachtmeister,F,12 MAY 1923,NA,NA,NA,Countess,NA,1294 +2736,NA,NA,Karin Emma Louise Nissvandt/,NA,Nissvandt,F,7 JUL 1911,"Nora,Sweden",NA,NA,NA,NA,1295 +2737,NA,NA,Sonja Anita Maria Hauntz/,NA,Hauntz,F,7 MAY 1944,NA,NA,NA,Countess,NA,1296 +2738,598,597,Carl Gustaf Oscar /,NA,,M,10 JAN 1911,NA,NA,NA,Prince of Sweden,215,"1327, 1329, 1297" +2739,NA,NA,Kristine Rivelsrud/,Kristine,Rivelsrud,F,22 APR 1932,NA,NA,NA,Princess,NA,1297 +2740,2733,447,Michael /,Michael,,M,1944,NA,NA,NA,Count,1292,1298 +2741,NA,NA,Christine Wellhoefer/,Christine,Wellhoefer,F,1947,NA,NA,NA,NA,NA,1298 +2742,2734,449,Monica /,Monica,,F,1948,NA,NA,NA,NA,1293,1299 +2743,2734,449,Christian /,Christian,,M,1949,NA,NA,NA,NA,1293,NA +2744,NA,NA,Johan Bonde/,Johan,Bonde,M,1950,NA,NA,NA,Count,NA,1299 +2745,2736,1409,Birgitta /,Birgitta,,F,1933,NA,NA,NA,NA,1295,1300 +2746,2736,1409,Marie Louise /,Marie Louise,,F,1935,NA,NA,NA,NA,1295,1301 +2747,2736,1409,Jan /,Jan,,M,1941,NA,NA,NA,NA,1295,"1302, 1303, 1304, 1305" +2748,2736,1409,Cecilia /,Cecilia,,F,1944,NA,NA,NA,NA,1295,1306 +2749,NA,NA,Friedrich Straehl/,Friedrich,Straehl,M,1922,NA,NA,NA,NA,NA,1300 +2750,2745,2749,Friedrich Straehl/,Friedrich,Straehl,M,1956,NA,NA,NA,NA,1300,NA +2751,2745,2749,Andreas Straehl/,Andreas,Straehl,M,1957,NA,NA,NA,NA,1300,NA +2752,2745,2749,Christina Straehl/,Christina,Straehl,F,1960,NA,NA,NA,NA,1300,NA +2753,2745,2749,Desiree Straehl/,Desiree,Straehl,F,1961,NA,NA,NA,NA,1300,NA +2754,2745,2749,Stephan Straehl/,Stephan,Straehl,M,1964,NA,NA,NA,NA,1300,NA +2755,NA,NA,Rudolf Kautz/,Rudolf,Kautz,M,1930,NA,NA,NA,NA,NA,1301 +2756,2746,2755,Heinrich Kautz/,Heinrich,Kautz,M,1957,NA,NA,NA,NA,1301,NA +2757,2746,2755,Karin Kautz/,Karin,Kautz,F,1958,NA,NA,NA,NA,1301,NA +2758,2746,2755,Madeleine Kautz/,Madeleine,Kautz,F,1961,NA,NA,NA,NA,1301,NA +2759,NA,NA,Gunilla Stampe/,Gunilla,Stampe,F,1941,NA,NA,NA,NA,NA,1302 +2760,NA,NA,Anna Skarne/,Anna,Skarne,F,1944,NA,NA,NA,NA,NA,1303 +2761,2760,2747,Sophia /,Sophia,,F,1968,NA,NA,NA,NA,1303,NA +2762,NA,NA,Annegret Thomssen/,Annegret,Thomssen,F,1938,NA,NA,NA,NA,NA,1304 +2763,2762,2747,Cecilia /,Cecilia,,F,1971,NA,NA,NA,NA,1304,NA +2764,NA,NA,Maritta Berg/,Maritta,Berg,F,1953,NA,NA,NA,NA,NA,1305 +2765,2764,2747,Son /,Son,,M,1977,NA,NA,NA,NA,1305,NA +2766,NA,NA,Hans-Jorg Baenkler/,Hans-Jorg,Baenkler,M,1939,NA,NA,NA,NA,NA,1306 +2767,2737,1409,Bettina /,Bettina,,F,1974,NA,NA,NA,NA,1296,NA +2768,2737,1409,Bjorn /,Bjorn,,M,1975,NA,NA,NA,NA,1296,NA +2769,2737,1409,Catherina /,Catherina,,F,1977,NA,NA,NA,NA,1296,NA +2770,459,458,Oscar /,Oscar,,M,1859,NA,1953,NA,Count of Wisborg,156,1307 +2771,459,458,Eugene /,Eugene,,M,1865,NA,1947,NA,Duke of Narke,156,NA +2772,NA,2778,Ebba of_Fulkila Munck/,Ebba of_Fulkila,Munck,F,1858,NA,1946,NA,NA,1308,1307 +2773,2772,2770,Maria Bernadotte /,Maria Bernadotte,,F,1889,NA,1974,NA,Countess,1307,NA +2774,2772,2770,Carl Bernadotte /,Carl Bernadotte,,M,1890,NA,1977,NA,Count of Wisborg,1307,"1309, 1320" +2775,2772,2770,Sophia Bernadotte of_Wisborg /,NA,,F,1892,NA,1936,NA,Countess,1307,1322 +2776,2772,2770,Elsa Bernadotte of_Wisborg /,NA,,F,1893,NA,NA,NA,Countess,1307,1323 +2777,2772,2770,Folke Bernadotte /,Folke Bernadotte,,M,1895,NA,1948,NA,Count of Wisborg,1307,1324 +2778,NA,NA,Charles of_Fulkila Munck/,Charles of_Fulkila,Munck,M,NA,NA,NA,NA,NA,NA,1308 +2779,NA,NA,Marianne of_Leufsta de_Geer/,Marianne of_Leufsta,de_Geer,F,1893,NA,NA,NA,Baroness,NA,1309 +2780,2779,2774,Dagmar /,Dagmar,,F,1916,NA,NA,NA,NA,1309,1310 +2781,2779,2774,Oscar /,Oscar,,M,1921,NA,NA,NA,NA,1309,"1315, 1317" +2782,2779,2774,Catharina /,Catharina,,F,1926,NA,NA,NA,NA,1309,1319 +2783,NA,NA,Nils Magnus von_Arbin/,Nils Magnus,von_Arbin,M,1910,NA,NA,NA,NA,NA,1310 +2784,2780,2783,Marianne von_Arbin/,Marianne,von_Arbin,F,1937,NA,NA,NA,NA,1310,1311 +2785,2780,2783,Louise von_Arbin/,Louise,von_Arbin,F,1940,NA,NA,NA,NA,1310,1312 +2786,2780,2783,Catherine von_Arbin/,Catherine,von_Arbin,F,1946,NA,NA,NA,NA,1310,1313 +2787,2780,2783,Jeanette von_Arbin/,Jeanette,von_Arbin,F,1951,NA,NA,NA,NA,1310,1314 +2788,2780,2783,Madeleine von_Arbin/,Madeleine,von_Arbin,F,1955,NA,NA,NA,NA,1310,NA +2789,NA,NA,Miles Flach/,Miles,Flach,M,1934,NA,NA,NA,Capt.,NA,1311 +2790,2784,2789,Camilla Flach/,Camilla,Flach,F,1960,NA,NA,NA,NA,1311,NA +2791,NA,NA,Dick Bergstrom/,Dick,Bergstrom,M,1936,NA,NA,NA,NA,NA,1312 +2792,2785,2791,Therese Bergstrom/,Therese,Bergstrom,F,1963,NA,NA,NA,NA,1312,NA +2793,2785,2791,Michael Bergstrom/,Michael,Bergstrom,M,1965,NA,NA,NA,NA,1312,NA +2794,NA,NA,Johan Ryding/,Johan,Ryding,M,1943,NA,NA,NA,NA,NA,1313 +2795,2786,2794,Gustaf Ryding/,Gustaf,Ryding,M,1971,NA,NA,NA,NA,1313,NA +2796,2786,2794,Charlotte Ryding/,Charlotte,Ryding,F,1974,NA,NA,NA,NA,1313,NA +2797,NA,NA,Esben Coljach/,Esben,Coljach,M,1947,NA,NA,NA,NA,NA,1314 +2798,NA,NA,Ebba Gyllenkrok/,Ebba,Gyllenkrok,F,1918,NA,NA,NA,NA,NA,1315 +2799,2798,2781,Ebba /,Ebba,,F,1945,NA,NA,NA,NA,1315,1316 +2800,NA,NA,Pontus Reutersward/,Pontus,Reutersward,M,1943,NA,NA,NA,NA,NA,1316 +2801,2799,2800,Gustaf Reutersward/,Gustaf,Reutersward,M,1971,NA,NA,NA,NA,1316,NA +2802,2799,2800,Anna Reutersward/,Anna,Reutersward,F,1973,NA,NA,NA,NA,1316,NA +2803,NA,NA,Gertrude Ollen/,Gertrude,Ollen,F,1916,NA,NA,NA,NA,NA,1317 +2804,2803,2781,Christina /,Christina,,F,1951,NA,NA,NA,NA,1317,1318 +2805,NA,NA,Peter Langenskiold/,Peter,Langenskiold,M,1950,NA,NA,NA,Baron,NA,1318 +2806,2803,2781,Birgitta /,Birgitta,,F,1953,NA,NA,NA,NA,1317,NA +2807,2803,2781,Carl /,Carl,,M,1955,NA,NA,NA,NA,1317,NA +2808,NA,NA,Tore Nilert/,Tore,Nilert,M,1915,NA,NA,NA,NA,NA,1319 +2809,2782,2808,Jan Nilert/,Jan,Nilert,M,1950,NA,NA,NA,NA,1319,NA +2810,2782,2808,Charlotte Nilert/,Charlotte,Nilert,F,1952,NA,NA,NA,NA,1319,NA +2811,2782,2808,Anne Marie Nilert/,Anne Marie,Nilert,F,1954,NA,NA,NA,NA,1319,NA +2812,NA,NA,Gerty Borjesson/,Gerty,Borjesson,F,1910,NA,NA,NA,NA,NA,1320 +2813,2812,2774,Claes /,Claes,,M,1942,NA,NA,NA,NA,1320,1321 +2814,NA,NA,Birgitta Magnusson/,Birgitta,Magnusson,F,1943,NA,NA,NA,NA,NA,1321 +2815,2814,2813,Carl Johann /,Carl Johann,,M,1970,NA,NA,NA,NA,1321,NA +2816,2814,2813,Louise /,Louise,,F,1973,NA,NA,NA,NA,1321,NA +2817,NA,NA,Carl Marten Fleetwood/,Carl Marten,Fleetwood,M,1885,NA,1966,NA,Baron,NA,1322 +2818,NA,NA,Hugo Cedergren/,Hugo,Cedergren,M,1891,NA,1971,NA,NA,NA,1323 +2819,NA,NA,Estelle Manville/,Estelle,Manville,F,1904,NA,NA,NA,NA,NA,1324 +2820,2819,2777,Gustaf /,Gustaf,,M,1930,NA,1966,NA,NA,1324,NA +2821,2819,2777,Folke /,Folke,,M,1931,NA,NA,NA,NA,1324,1325 +2822,2819,2777,Fredrik Oscar /,Fredrik Oscar,,M,1934,NA,1934,NA,NA,1324,NA +2823,2819,2777,Bertil /,Bertil,,M,1925,NA,NA,NA,NA,1324,NA +2824,NA,NA,Christine Glahns/,Christine,Glahns,F,1932,NA,NA,NA,NA,NA,1325 +2825,2824,2821,Anna /,Anna,,F,1956,NA,NA,NA,NA,1325,NA +2826,2824,2821,Folke /,Folke,,M,1958,NA,NA,NA,NA,1325,NA +2827,2824,2821,Maria /,Maria,,F,1962,NA,NA,NA,NA,1325,NA +2828,2824,2821,Gunnar /,Gunnar,,M,1963,NA,NA,NA,NA,1325,NA +2829,598,597,Margaretha /,Margaretha,,F,1899,NA,1977,NA,NA,215,1326 +2830,NA,NA,Axel of_Denmark /,Axel of_Denmark,,M,NA,NA,NA,NA,NA,NA,1326 +2831,NA,NA,Elsa von_Rosen/,Elsa,von_Rosen,F,1904,NA,NA,NA,Countess,NA,1327 +2832,2831,2738,Madeline Bernadotte /,Madeline Bernadotte,,F,1938,NA,NA,NA,Countess,1327,1328 +2833,NA,NA,Charles de_Schooten Ullens/,Charles de_Schooten,Ullens,M,1927,NA,NA,NA,Count,NA,1328 +2834,2832,2833,Marie Christine Ullens/,Marie Christine,Ullens,F,1964,NA,NA,NA,NA,1328,NA +2835,2832,2833,Jean Charles Ullens/,Jean Charles,Ullens,M,1965,NA,NA,NA,NA,1328,NA +2836,2832,2833,Astrid Ullens/,Astrid,Ullens,F,1970,NA,NA,NA,NA,1328,NA +2837,2832,2833,Sophie Ullens/,Sophie,Ullens,F,1972,NA,NA,NA,NA,1328,NA +2838,NA,NA,Ann Larsson/,Ann,Larsson,F,1921,NA,NA,NA,NA,NA,1329 +2839,NA,2840,Mary /,Mary,,F,1882,NA,1962,NA,NA,1330,1276 +2840,NA,NA,Roland Bonaparte/,Roland,Bonaparte,M,NA,NA,NA,NA,Prince,NA,1330 +2841,NA,NA,Irene Ovchinnikov/,Irene,Ovchinnikov,F,1904,NA,NA,NA,NA,NA,1331 +2842,2839,466,Eugenia Oldenburg/,Eugenia,Oldenburg,F,1910,NA,NA,NA,NA,1276,"1332, 1333" +2843,NA,NA,Dominic Radziwill/,Dominic,Radziwill,M,1911,NA,1976,NA,Prince,NA,1332 +2844,NA,NA,Raymond of_Castel /,Raymond of_Castel,,M,1907,NA,NA,NA,Duke,NA,1333 +2845,NA,NA,Anastasia Stewart/,Anastasia,Stewart,F,1883,NA,1923,NA,NA,NA,1334 +2846,NA,NA,Francis of_Guise /,Francis of_Guise,,F,1902,NA,1953,NA,NA,NA,1335 +2847,NA,NA,Perikles Joannides /,Perikles Joannides,,M,1881,NA,1965,NA,NA,NA,1336 +2848,2845,465,Michael Oldenburg/,Michael,Oldenburg,M,1939,NA,NA,NA,NA,1334,1337 +2849,NA,NA,Marina Karella/,Marina,Karella,F,1940,NA,NA,NA,NA,NA,1337 +2850,1621,1620,Louise /,Louise,,F,1726,NA,1756,NA,NA,631,1338 +2851,NA,NA,Ernest Frederick_III of_Saxe- /,NA,,M,1727,NA,1780,NA,Duke,NA,1338 +2852,NA,NA,Gustaf_III /,Gustaf_III,,M,1746,NA,1792,NA,King of Sweden,NA,1339 +2853,NA,NA,William_I of_Hesse-Cassel /,William_I of_Hesse-Cassel,,M,1743,NA,1821,NA,Elector,NA,1340 +2854,1626,1625,Charles /,Charles,,M,1680,NA,1729,NA,NA,634,NA +2855,1626,1625,William /,William,,M,1687,NA,1705,NA,NA,634,NA +2856,1631,1630,Anne Sophia /,Anne Sophia,,F,1647,NA,1717,NA,NA,637,NA +2857,1631,1630,Frederica /,Frederica,,F,1649,NA,1704,NA,NA,637,NA +2858,1631,1630,Ulrica /,Ulrica,,F,1656,NA,1693,NA,NA,637,1341 +2859,NA,NA,Charles_XI /,Charles_XI,,M,1655,NA,1697,NA,King of Sweden,NA,1341 +2860,738,737,Ulrich /,Ulrich,,M,1578,NA,1624,NA,NA,268,NA +2861,738,737,Augusta /,Augusta,,F,1580,NA,1639,NA,NA,268,NA +2862,738,737,Hedwig /,Hedwig,,F,1581,NA,1641,NA,NA,268,NA +2863,NA,NA,Christopher_III /,Christopher_III,,M,1416,NA,1448,NA,King of Denmark,NA,1342 +2864,NA,NA,Christina /,Christina,,F,1461,NA,1521,NA,NA,NA,1343 +2865,NA,NA,Anne de_la_Tour/,Anne,de_la_Tour,F,1512,NA,NA,NA,NA,NA,1344 +2866,1483,1470,Alexander /,Alexander,,M,1534,NA,NA,NA,Bishop of Moray,553,NA +2867,1469,1252,James /,James,,M,1476,NA,1503,NA,Duke of Ross,460,NA +2868,1469,1252,John /,John,,M,1479,NA,1503,NA,Earl of Mar,460,NA +2869,1831,1830,Edward /,Edward,,M,NA,NA,1318,NA,Earl of Carrick,740,NA +2870,1831,1830,Thomas /,Thomas,,M,NA,NA,1307,NA,NA,740,NA +2871,1831,1830,Alexander /,Alexander,,M,NA,NA,1307,NA,NA,740,NA +2872,1831,1830,Nigel /,Nigel,,M,NA,NA,1306,NA,NA,740,NA +2873,1831,1830,Isabel /,Isabel,,F,1358,NA,NA,NA,NA,740,NA +2874,NA,NA,Mary Christina of_Sicily /,NA,,F,1806,NA,1878,NA,NA,NA,454 +2875,NA,NA,Antonia of_Sicily /,Antonia of_Sicily,,F,1784,NA,1806,NA,NA,NA,1345 +2876,NA,NA,Isabella of_Portugal /,Isabella of_Portugal,,F,1797,NA,1818,NA,NA,NA,1346 +2877,NA,NA,Mary Josepha /,Mary Josepha,,F,1803,NA,1829,NA,NA,NA,1347 +2878,2881,2880,Charles_IV /,Charles_IV,,M,1748,NA,1819,NA,NA,1349,1348 +2879,NA,NA,Maria Louisa of_Parma /,NA,,F,1751,NA,1819,NA,NA,NA,1348 +2880,2425,2424,Charles_III /,Charles_III,,M,1716,NA,1788,NA,King of Spain,1142,1349 +2881,NA,NA,Mary Amalia /,Mary Amalia,,F,1724,NA,1760,NA,NA,NA,1349 +2882,NA,NA,Mary Anne of_Bavaria /,NA,,F,1660,NA,1690,NA,NA,NA,1143 +2883,NA,NA,Mary Louise /,Mary Louise,,F,1688,NA,1714,NA,NA,NA,1350 +2884,NA,NA,Charles /,Charles,,M,1540,NA,1590,NA,Duke of Styria,NA,1351 +2885,NA,NA,Philip_I the_Handsome /,Philip_I the_Handsome,,M,1478,"Bruges,Flanders",1506,NA,King of Castile,NA,1352 +2886,NA,NA,Germaine of_Narbonne /,Germaine of_Narbonne,,F,NA,NA,1536,NA,NA,NA,1353 +2887,841,840,Isabella /,Isabella,,F,1470,NA,1498,NA,NA,320,"1354, 1355" +2888,841,840,Mary /,Mary,,F,1482,NA,1517,NA,NA,320,NA +2889,841,840,John /,John,,M,1478,NA,1497,NA,NA,320,1356 +2890,NA,NA,Alphonso of_Portugal /,Alphonso of_Portugal,,M,1475,NA,1491,NA,NA,NA,1354 +2891,NA,NA,Emanuel /,Emanuel,,M,1469,NA,1521,NA,King of Portugal,NA,1358 +2892,NA,NA,Margaret /,Margaret,,F,1480,NA,1530,NA,NA,NA,"1356, 1357" +2893,NA,NA,Philibert_II /,Philibert_II,,M,NA,NA,1504,NA,Duke of Savoy,NA,1357 +2894,2100,2885,Eleanor /,Eleanor,,F,1498,NA,1558,NA,NA,1352,"1358, 1359" +2895,NA,NA,Henry_XXIV Reuss-Ebersdorf /,Henry_XXIV Reuss-Ebersdorf,,M,1724,NA,1779,NA,Count,NA,1228 +2896,NA,NA,Caroline Erbach-Schonberg /,Caroline Erbach-Schonberg,,F,1727,NA,1795,NA,Countess,NA,1228 +2897,NA,NA,Ernest Frederick of_Saxe-Coburg /,NA,,M,1724,NA,1800,NA,Duke,NA,1360 +2898,NA,NA,Sophia Antonia of_Brunswick /,NA,,F,1724,NA,1802,NA,Princess,NA,1360 +2899,NA,NA,Michael of_Portugal /,Michael of_Portugal,,M,NA,NA,NA,NA,Prince,NA,1361 +2900,NA,NA,Emanuel of_Orleans /,Emanuel of_Orleans,,M,1872,NA,1931,NA,Duke of Vendome,NA,1362 +2901,2449,1698,Louise /,Louise,,F,1858,NA,1924,NA,NA,1154,1366 +2902,2449,1698,Stephanie /,Stephanie,,F,1864,NA,1945,NA,NA,1154,"1364, 1365" +2903,2449,1698,Clementine /,Clementine,,F,1872,NA,1955,NA,NA,1154,1363 +2904,NA,NA,Victor /,Victor,,M,1862,NA,1926,NA,Prince Napoleon,NA,1363 +2905,NA,NA,Rudolph of_Austria /,Rudolph of_Austria,,M,1858,NA,1889,NA,Crown Prince,NA,1364 +2906,NA,NA,Elemer /,Elemer,,M,1863,NA,1946,NA,Prince Lonyai,NA,1365 +2907,NA,NA,Philip of_Saxe-Coburg /,Philip of_Saxe-Coburg,,M,1844,NA,1921,NA,Prince,NA,1366 +2908,NA,NA,Sophia /,Sophia,,F,1760,NA,1776,NA,NA,NA,1367 +2909,NA,NA,Alexandrine of_Baden /,Alexandrine of_Baden,,F,1820,NA,1904,NA,NA,NA,1369 +2910,NA,NA,Antoinette (Antonia) Kohary/,Antoinette (Antonia),Kohary,F,1797,NA,1862,NA,NA,NA,1370 +2911,NA,NA,Louis_I of_Hesse-Darmst. /,Louis_I of_Hesse-Darmst.,,M,1753,NA,1830,NA,Landgrave,NA,1371 +2912,NA,NA,Louise of_Hesse-Darmst. /,Louise of_Hesse-Darmst.,,F,1761,NA,1829,NA,NA,NA,1371 +2913,741,740,Marie Christine /,Marie Christine,,F,NA,NA,1663,NA,NA,271,NA +2914,NA,NA,Marie de_Bourbon /,Marie de_Bourbon,,F,NA,NA,NA,NA,NA,NA,1372 +2915,2914,590,Ann Marie Louise /,NA,,F,1627,NA,1693,NA,Duchess,1372,NA +2916,NA,NA,Elizabeth Charlotte of_Bavaria /,NA,,F,1652,NA,1722,NA,NA,NA,1373 +2917,2916,751,Elizabeth Charlotte /,Elizabeth Charlotte,,F,1676,NA,NA,NA,NA,1373,1374 +2918,NA,NA,Leopold Joseph de_Lorraine /,NA,,M,NA,NA,NA,NA,Duke,NA,1374 +2919,NA,NA,Francoise Marie de_Blois /,NA,,F,1677,NA,1749,NA,Mademoiselle,NA,1191 +2920,NA,NA,Marie Adelaide of_Savoy /,NA,,F,1685,NA,1712,NA,NA,NA,344 +2921,2919,2517,Marie Louise of_Orleans /,NA,,F,1695,NA,1715,NA,NA,1191,1375 +2922,NA,NA,Ivan of_Shestov /,Ivan of_Shestov,,M,NA,NA,NA,NA,NA,NA,1376 +2923,NA,NA,Ivan Rayevski/,Ivan,Rayevski,M,NA,NA,NA,NA,NA,NA,1377 +2924,NA,NA,Constantine Volkonski/,Constantine,Volkonski,M,NA,NA,NA,NA,NA,NA,1378 +2925,NA,NA,Zenaida Rashevska/,Zenaida,Rashevska,F,1898,NA,1963,NA,NA,NA,1379 +2926,NA,NA,Felix Krzesinski /,Felix Krzesinski,,M,NA,NA,NA,NA,NA,NA,1380 +2927,NA,NA,Valerian Karnovich/,Valerian,Karnovich,M,NA,NA,NA,NA,NA,NA,1382 +2928,NA,NA,John Emery/,John,Emery,M,NA,NA,NA,NA,NA,NA,1383 +2929,NA,NA,Susan Deptford/,Susan,Deptford,F,NA,NA,NA,NA,NA,NA,1384 +2930,2929,169,Andrew Ferguson/,Andrew,Ferguson,M,1978,NA,NA,NA,NA,1384,NA +2931,2929,169,Alice Ferguson/,Alice,Ferguson,F,1980,NA,NA,NA,NA,1384,NA +2932,2929,169,Elizabeth (Eliza) Ferguson/,Elizabeth (Eliza),Ferguson,F,1985,NA,NA,NA,NA,1384,NA +2933,2935,2934,Mervyn Powerscourt Wingfield/,Mervyn Powerscourt,Wingfield,M,1880,NA,1947,NA,Viscount,1386,1385 +2934,NA,NA,Mervyn Wingfield/,Mervyn,Wingfield,M,1836,NA,1904,NA,NA,NA,1386 +2935,NA,2953,Julia Coke/,Julia,Coke,F,1844,NA,1931,NA,Lady,1399,1386 +2936,NA,NA,Henry Fitzherbert Wright/,Henry Fitzherbert,Wright,M,1870,NA,1947,NA,NA,NA,1387 +2937,2939,2938,Muriel Fletcher/,Muriel,Fletcher,F,1873,NA,1955,NA,NA,1388,1387 +2938,NA,NA,Henry Fletcher/,Henry,Fletcher,M,1833,NA,1879,NA,Col.,NA,1388 +2939,2941,2940,Harriet Marsham/,Harriet,Marsham,F,1838,NA,1886,NA,Lady,1389,1388 +2940,NA,NA,Charles Marsham/,Charles,Marsham,M,1808,NA,1874,NA,Earl of Romney,NA,1389 +2941,NA,2942,Margaret -Scott Montagu-Douglas-/,Margaret -Scott,Montagu-Douglas-,F,1811,NA,1836,NA,Lady,1390,1389 +2942,NA,2950,Charles of_Buccleuch Montagu-Douglas/,Charles of_Buccleuch,Montagu-Douglas,M,1772,NA,1819,NA,Duke,1396,1390 +2943,NA,2942,Walter -Scott of_Buccleuch Montagu-Douglas-/,NA,Montagu-Douglas-,M,1806,NA,1884,NA,Duke,1390,1391 +2944,NA,2943,William -Scott of_Buccleuch Montagu-Douglas-/,NA,Montagu-Douglas-,M,1831,NA,1914,NA,Duke,1391,1392 +2945,NA,NA,Louisa Hamilton/,Louisa,Hamilton,F,1836,NA,1912,NA,Lady,NA,1392 +2946,2945,2944,Herbert -Scott Montagu-Douglas-/,Herbert -Scott,Montagu-Douglas-,M,1872,NA,1944,NA,Lord,1392,1393 +2947,NA,2948,Margaret Brand/,Margaret,Brand,F,1873,NA,1948,NA,Hon.,1394,304 +2948,NA,2949,Henry Brand/,Henry,Brand,M,1941,NA,1906,NA,Viscount Hampden,1395,1394 +2949,NA,NA,Henry Brand/,Henry,Brand,M,1814,NA,1892,NA,Viscount Hampden,NA,1395 +2950,NA,2951,Henry of_Buccleuch Scott/,Henry of_Buccleuch,Scott,M,1772,NA,1819,NA,Duke,1397,1396 +2951,NA,2952,Francis Scott/,Francis,Scott,M,1721,NA,1750,NA,Earl of Dalkeith,1398,1397 +2952,NA,NA,Francis of_Buccleuch Scott/,Francis of_Buccleuch,Scott,M,1695,NA,1751,NA,Duke,NA,1398 +2953,2955,2954,Thomas of_Leicester Coke/,Thomas of_Leicester,Coke,M,1822,NA,1902,NA,Earl,1400,1399 +2954,NA,NA,Thomas of_Leicester Coke/,Thomas of_Leicester,Coke,M,1754,NA,1842,NA,Earl,NA,1400 +2955,NA,2956,Anne Keppel/,Anne,Keppel,F,1803,NA,1844,NA,Lady,1401,1400 +2956,NA,NA,William of_Albemarle Keppel/,William of_Albemarle,Keppel,M,1724,NA,1772,NA,Earl,NA,1401 +2957,1392,1391,Richard /,Richard,,M,NA,NA,1120,NA,NA,506,NA +2958,168,60,Eugenie Victoria Helena Windsor/,NA,Windsor,F,23 MAR 1990,"London,England",NA,NA,Princess,53,NA +2959,822,825,Ayesha Makim/,Ayesha,Makim,F,ABT 1986,NA,NA,NA,NA,312,NA +2960,NA,NA,Paul Mowatt/,Paul,Mowatt,M,ABT 1962,NA,NA,NA,NA,NA,1402 +2961,110,2960,Mowatt/,NA,Mowatt,F,26 MAY 1990,NA,NA,NA,NA,1402,NA +2962,NA,NA,Victoria Lockwood/,Victoria,Lockwood,F,1964,NA,NA,NA,NA,NA,1403 +2963,2962,242,Kitty /,Kitty,,F,ABT 1991,NA,NA,NA,NA,1403,NA +2964,1362,229,Olga /,Olga,,F,NA,NA,NA,NA,Princess,76,1404 +2965,NA,NA,Paul of_Yugoslavia /,Paul of_Yugoslavia,,M,NA,NA,NA,NA,Prince,NA,1404 +2966,2964,2965,Son /,Son,,M,NA,NA,NA,NA,NA,1404,NA +2967,1362,229,Elizabeth /,Elizabeth,,F,NA,NA,NA,NA,NA,76,NA +2968,NA,NA,Peter Phillips/,Peter,Phillips,M,NA,NA,NA,NA,Major,NA,1405 +2969,2972,2971,Sylvana Tomaselli/,Sylvana,Tomaselli,F,ABT 1957,Canada,NA,NA,NA,1408,"1407, 1406" +2970,NA,NA,John Paul Jones/,John Paul,Jones,M,NA,NA,NA,NA,NA,NA,1407 +2971,NA,NA,Max Tomaselli/,Max,Tomaselli,M,NA,NA,NA,NA,NA,NA,1408 +2972,NA,NA,Josiane Derners/,Josiane,Derners,F,NA,NA,NA,NA,Madame,NA,1408 +2973,2614,2448,Antoinette /,Antoinette,,F,NA,NA,NA,NA,NA,1147,NA +2974,2614,2448,Sophie /,Sophie,,F,NA,NA,NA,NA,NA,1147,NA +2975,2614,2448,Julie /,Julie,,F,NA,NA,NA,NA,NA,1147,NA +2976,NA,NA,Emich Karl of_Leiningen /,NA,,M,ABT 1762,NA,1814,NA,Prince,NA,1409 +2977,NA,NA,Lucy Lindsay-Hogg/,Lucy,Lindsay-Hogg,F,NA,NA,NA,NA,NA,NA,1410 +2978,2977,54,Frances Armstrong-Jones/,Frances,Armstrong-Jones,F,17 JUL 1979,NA,NA,NA,Lady,1410,NA +2979,NA,NA,Julia Rawlinson/,Julia,Rawlinson,F,NA,NA,NA,NA,NA,NA,1411 +2980,NA,NA,Athol Schmith/,Athol,Schmith,M,NA,NA,NA,NA,NA,NA,1412 +2981,314,2980,Schmith/,NA,Schmith,M,ABT 1943,NA,NA,NA,NA,1412,NA +2982,NA,NA,Erwin Stein/,Erwin,Stein,M,NA,NA,NA,NA,NA,NA,1413 +2983,NA,NA,Sophie /,Sophie,,F,NA,NA,NA,NA,NA,NA,1413 +2984,NA,NA,Alexander (Sachie) McCorquodale/,Alexander (Sachie),McCorquodale,M,ABT 1898,NA,NA,NA,NA,NA,299 +2985,NA,2994,Gerald Legge/,Gerald,Legge,M,NA,NA,NA,NA,Earl Dartmouth,1417,1414 +2986,2988,2987,Hugh McCorquodale/,Hugh,McCorquodale,M,NA,NA,NA,NA,NA,1416,1415 +2987,NA,NA,Harold McCorquodale/,Harold,McCorquodale,M,NA,NA,NA,NA,NA,NA,1416 +2988,NA,NA,Gracie /,Gracie,,F,NA,NA,NA,NA,NA,NA,1416 +2989,806,2986,Ian McCorquodale/,Ian,McCorquodale,M,11 OCT 1937,NA,NA,NA,NA,1415,NA +2990,243,2985,Legge/,NA,Legge,NA,NA,NA,NA,NA,NA,1414,NA +2991,243,2985,Legge/,NA,Legge,NA,NA,NA,NA,NA,NA,1414,NA +2992,243,2985,Legge/,NA,Legge,NA,NA,NA,NA,NA,NA,1414,NA +2993,243,2985,Legge/,NA,Legge,NA,NA,NA,NA,NA,NA,1414,NA +2994,NA,NA,Humphrey Legge/,Humphrey,Legge,M,NA,NA,NA,NA,Hon.,NA,1417 +2995,3008,3007,Bertram (Bertie) Cartland/,Bertram (Bertie),Cartland,M,NA,NA,27 MAY 1917,NA,Major,1422,1418 +2996,2999,3002,Mary Hamilton (Polly) Scobell/,NA,Scobell,F,5 SEP 1877,NA,NA,NA,NA,1419,1418 +2997,2996,2995,Ronald Cartland/,Ronald,Cartland,M,3 JAN 1907,NA,30 MAY 1940,"Nr Cassel,France",NA,1418,NA +2998,2996,2995,Anthony (Tony) Cartland/,Anthony (Tony),Cartland,M,4 JAN 1912,NA,29 MAY 1940,NA,NA,1418,NA +2999,3000,NA,Edith Palairet/,Edith,Palairet,F,NA,NA,NA,NA,NA,1420,1419 +3000,NA,3001,Mary Anne Hamilton/,Mary Anne,Hamilton,F,NA,NA,NA,NA,NA,1421,1420 +3001,NA,NA,Andrew Hamilton/,Andrew,Hamilton,M,NA,NA,NA,NA,NA,NA,1421 +3002,NA,NA,George Scobell/,George,Scobell,M,NA,NA,NA,NA,NA,NA,1419 +3003,2999,3002,Melloney Scobell/,Melloney,Scobell,F,NA,NA,NA,NA,NA,1419,NA +3004,2999,3002,Scobell/,NA,Scobell,M,NA,NA,BEF 1877,NA,NA,1419,NA +3005,2999,3002,Emily Scobell/,Emily,Scobell,F,NA,NA,NA,NA,NA,1419,NA +3006,2999,3002,John Sanford Scobell/,John Sanford,Scobell,M,1879,NA,NA,NA,Sir,1419,NA +3007,NA,NA,James Cartland/,James,Cartland,M,NA,NA,NA,NA,NA,NA,1422 +3008,NA,NA,Flora /,Flora,,F,NA,NA,NA,NA,NA,NA,1422 +3009,2996,2995,Cartland/,NA,Cartland,F,NA,NA,ABT 1911,NA,NA,1418,NA +3010,806,2986,Glen McCorquodale/,Glen,McCorquodale,M,31 DEC 1939,NA,NA,NA,NA,1415,NA diff --git a/data/ASOIAF.rda b/data/ASOIAF.rda new file mode 100644 index 00000000..e7f0db05 Binary files /dev/null and b/data/ASOIAF.rda differ diff --git a/data/royal92.rda b/data/royal92.rda new file mode 100644 index 00000000..357f1aba Binary files /dev/null and b/data/royal92.rda differ diff --git a/man/ASOIAF.Rd b/man/ASOIAF.Rd new file mode 100644 index 00000000..3314fb52 --- /dev/null +++ b/man/ASOIAF.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/documentData.R +\docType{data} +\name{ASOIAF} +\alias{ASOIAF} +\title{A song of ice and fire pedigree data} +\format{ +A data frame with 501 observations +} +\usage{ +data(ASOIAF) +} +\description{ +A dataset created from the Song of Ice and Fire series by George R. R. Martin. +} +\details{ +The variables are as follows: +\itemize{ + \item \code{id}: Person identification variable + \item \code{momID}: ID of the mother + \item \code{dadID}: ID of the father + \item \code{name}: Name of the person + \item \code{sex}: Biological sex + } +} +\keyword{datasets} diff --git a/man/assignParentIDs.Rd b/man/assignParentIDs.Rd index e57dd6cc..8bd15170 100644 --- a/man/assignParentIDs.Rd +++ b/man/assignParentIDs.Rd @@ -4,12 +4,14 @@ \alias{assignParentIDs} \title{Assign momID and dadID based on family mapping} \usage{ -assignParentIDs(df_temp, family_to_parents) +assignParentIDs(df_temp, family_to_parents, datasource) } \arguments{ \item{df_temp}{A data frame containing individual information.} \item{family_to_parents}{A list mapping family IDs to parent IDs.} + +\item{datasource}{A string indicating the data source. Options are "gedcom" and "wiki".} } \value{ A data frame with added momID and dad_ID columns. diff --git a/man/checkPedigreeNetwork.Rd b/man/checkPedigreeNetwork.Rd new file mode 100644 index 00000000..d6e92749 --- /dev/null +++ b/man/checkPedigreeNetwork.Rd @@ -0,0 +1,39 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/checkPedigree.R +\name{checkPedigreeNetwork} +\alias{checkPedigreeNetwork} +\title{Validate Pedigree Network Structure} +\usage{ +checkPedigreeNetwork( + ped, + personID = "ID", + momID = "momID", + dadID = "dadID", + verbose = FALSE +) +} +\arguments{ +\item{ped}{Dataframe representing the pedigree.} + +\item{personID}{Character. Column name for individual IDs.} + +\item{momID}{Character. Column name for maternal IDs.} + +\item{dadID}{Character. Column name for paternal IDs.} + +\item{verbose}{Logical. If TRUE, print informative messages.} +} +\value{ +List containing detailed validation results. +} +\description{ +Checks for structural issues in pedigree networks, including: +- Individuals with more than two parents. +- Presence of cyclic parent-child relationships. +} +\examples{ +\dontrun{ +results <- checkPedigreeNetwork(ped, personID = "ID", +momID = "momID", dadID = "dadID", verbose = TRUE) +} +} diff --git a/man/com2links.Rd b/man/com2links.Rd new file mode 100644 index 00000000..9dae2f09 --- /dev/null +++ b/man/com2links.Rd @@ -0,0 +1,60 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/makeLinks.R +\name{com2links} +\alias{com2links} +\title{Convert Sparse Relationship Matrices to Kinship Links} +\usage{ +com2links( + rel_pairs_file = "dataRelatedPairs.csv", + ad_ped_matrix = NULL, + mit_ped_matrix = mt_ped_matrix, + mt_ped_matrix = NULL, + cn_ped_matrix = NULL, + write_buffer_size = 1000, + update_rate = 1000, + gc = TRUE, + writetodisk = TRUE, + verbose = FALSE, + legacy = FALSE, + outcome_name = "data", + drop_upper_triangular = TRUE, + ... +) +} +\arguments{ +\item{rel_pairs_file}{File path to write related pairs to (CSV format).} + +\item{ad_ped_matrix}{Matrix of additive genetic relatedness coefficients.} + +\item{mit_ped_matrix}{Matrix of mitochondrial relatedness coefficients. Alias: \code{mt_ped_matrix}.} + +\item{mt_ped_matrix}{Matrix of mitochondrial relatedness coefficients.} + +\item{cn_ped_matrix}{Matrix of common nuclear relatedness coefficients.} + +\item{write_buffer_size}{Number of related pairs to write to disk at a time.} + +\item{update_rate}{Numeric. Frequency (in iterations) at which progress messages are printed.} + +\item{gc}{Logical. If TRUE, performs garbage collection via \code{\link{gc}} to free memory.} + +\item{writetodisk}{Logical. If TRUE, writes the related pairs to disk; if FALSE, returns a data frame.} + +\item{verbose}{Logical. If TRUE, prints progress messages.} + +\item{legacy}{Logical. If TRUE, uses the legacy branch of the function.} + +\item{outcome_name}{Character string representing the outcome name (used in file naming).} + +\item{drop_upper_triangular}{Logical. If TRUE, drops the upper triangular portion of the matrix.} + +\item{...}{Additional arguments to be passed to \code{\link{com2links}}} +} +\value{ +A data frame of related pairs if \code{writetodisk} is FALSE; otherwise, writes the results to disk. +} +\description{ +This function processes one or more sparse relationship components (additive, mitochondrial, +and common nuclear) and converts them into kinship link pairs. The resulting related pairs are +either returned as a data frame or written to disk in CSV format. +} diff --git a/man/compute_parent_adjacency.Rd b/man/compute_parent_adjacency.Rd new file mode 100644 index 00000000..9cd4311c --- /dev/null +++ b/man/compute_parent_adjacency.Rd @@ -0,0 +1,61 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/convertPedigree.R +\name{compute_parent_adjacency} +\alias{compute_parent_adjacency} +\title{Compute Parent Adjacency Matrix with Multiple Approaches} +\usage{ +compute_parent_adjacency( + ped, + component, + adjacency_method = "indexed", + saveable, + resume, + save_path, + verbose, + lastComputed, + nr, + checkpoint_files, + update_rate, + parList, + lens, + save_rate_parlist, + ... +) +} +\arguments{ +\item{ped}{a pedigree dataset. Needs ID, momID, and dadID columns} + +\item{component}{character. Which component of the pedigree to return. See Details.} + +\item{adjacency_method}{character. The method to use for computing the adjacency matrix. Options are "loop" or "indexed"} + +\item{saveable}{logical. If TRUE, save the intermediate results to disk} + +\item{resume}{logical. If TRUE, resume from a checkpoint} + +\item{save_path}{character. The path to save the checkpoint files} + +\item{verbose}{logical. If TRUE, print progress through stages of algorithm} + +\item{lastComputed}{the last computed index} + +\item{nr}{the number of rows in the pedigree dataset} + +\item{checkpoint_files}{a list of checkpoint files} + +\item{update_rate}{numeric. The rate at which to print progress} + +\item{parList}{a list of parent-child relationships} + +\item{lens}{a vector of the lengths of the parent-child relationships} + +\item{save_rate_parlist}{numeric. The rate at which to save the intermediate results by parent list. If NULL, defaults to save_rate*1000} + +\item{...}{additional arguments to be passed to \code{\link{ped2com}}} +} +\description{ +Compute Parent Adjacency Matrix with Multiple Approaches +} +\details{ +The algorithms and methodologies used in this function are further discussed and exemplified in the vignette titled "examplePedigreeFunctions". For more advanced scenarios and detailed explanations, consult this vignette. +} diff --git a/man/createFamilyToParentsMapping.Rd b/man/createFamilyToParentsMapping.Rd index 87f14848..20d8216d 100644 --- a/man/createFamilyToParentsMapping.Rd +++ b/man/createFamilyToParentsMapping.Rd @@ -4,7 +4,7 @@ \alias{createFamilyToParentsMapping} \title{Create a mapping of family IDs to parent IDs} \usage{ -createFamilyToParentsMapping(df_temp) +createFamilyToParentsMapping(df_temp, datasource) } \arguments{ \item{df_temp}{A data frame containing information about individuals.} diff --git a/man/compute_transpose.Rd b/man/dot-computeTranspose.Rd similarity index 86% rename from man/compute_transpose.Rd rename to man/dot-computeTranspose.Rd index 0b8935f7..38c8fa82 100644 --- a/man/compute_transpose.Rd +++ b/man/dot-computeTranspose.Rd @@ -1,10 +1,10 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/convertPedigree.R -\name{compute_transpose} -\alias{compute_transpose} +\name{.computeTranspose} +\alias{.computeTranspose} \title{Compute the transpose multiplication for the relatedness matrix} \usage{ -compute_transpose(r2, transpose_method = "tcrossprod", verbose = FALSE) +.computeTranspose(r2, transpose_method = "tcrossprod", verbose = FALSE) } \arguments{ \item{r2}{a relatedness matrix} diff --git a/man/extractSummaryText.Rd b/man/extractSummaryText.Rd new file mode 100644 index 00000000..ad1e90a9 --- /dev/null +++ b/man/extractSummaryText.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/readPedigree.R +\name{extractSummaryText} +\alias{extractSummaryText} +\title{Extract Summary Text} +\usage{ +extractSummaryText(text) +} +\arguments{ +\item{text}{A character string containing the text of a family tree in wiki format.} +} +\value{ +A character string containing the summary text. +} +\description{ +Extract Summary Text +} +\keyword{internal} diff --git a/man/makeLongTree.Rd b/man/makeLongTree.Rd new file mode 100644 index 00000000..e03db2f9 --- /dev/null +++ b/man/makeLongTree.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/readPedigree.R +\name{makeLongTree} +\alias{makeLongTree} +\title{Make Long Tree} +\usage{ +makeLongTree(tree_df, cols_to_pivot) +} +\arguments{ +\item{tree_df}{A data frame containing the tree structure.} + +\item{cols_to_pivot}{A character vector of column names to pivot.} +} +\value{ +A long data frame containing the tree structure. +} +\description{ +Make Long Tree +} +\keyword{internal} diff --git a/man/matchMembers.Rd b/man/matchMembers.Rd new file mode 100644 index 00000000..e02311af --- /dev/null +++ b/man/matchMembers.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/readPedigree.R +\name{matchMembers} +\alias{matchMembers} +\title{Match Members} +\usage{ +matchMembers(text) +} +\arguments{ +\item{text}{A character string containing the text of a family tree in wiki format.} +} +\value{ +A data frame containing information about the members of the family tree. +} +\description{ +Match Members +} +\keyword{internal} diff --git a/man/parseRelationships.Rd b/man/parseRelationships.Rd new file mode 100644 index 00000000..a02a5983 --- /dev/null +++ b/man/parseRelationships.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/readPedigree.R +\name{parseRelationships} +\alias{parseRelationships} +\title{infer relationship from tree template} +\usage{ +parseRelationships(tree_long) +} +\arguments{ +\item{tree_long}{A data frame containing the tree structure in long format.} +} +\value{ +A data frame containing the relationships between family members. +} +\description{ +infer relationship from tree template +} +\keyword{internal} diff --git a/man/parseTree.Rd b/man/parseTree.Rd new file mode 100644 index 00000000..e429662c --- /dev/null +++ b/man/parseTree.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/readPedigree.R +\name{parseTree} +\alias{parseTree} +\title{Parse Tree} +\usage{ +parseTree(tree_lines) +} +\arguments{ +\item{tree_lines}{A character vector containing the lines of the tree structure.} +} +\value{ +A data frame containing the tree structure. +} +\description{ +Parse Tree +} +\keyword{internal} diff --git a/man/ped2add.Rd b/man/ped2add.Rd index 39b1347f..029e5559 100644 --- a/man/ped2add.Rd +++ b/man/ped2add.Rd @@ -13,6 +13,7 @@ ped2add( flatten.diag = FALSE, standardize.colnames = TRUE, transpose_method = "tcrossprod", + adjacency_method = "direct", saveable = FALSE, resume = FALSE, save_rate = 5, @@ -41,6 +42,8 @@ ped2add( \item{transpose_method}{character. The method to use for computing the transpose. Options are "tcrossprod", "crossprod", or "star"} +\item{adjacency_method}{character. The method to use for computing the adjacency matrix. Options are "loop" or "indexed"} + \item{saveable}{logical. If TRUE, save the intermediate results to disk} \item{resume}{logical. If TRUE, resume from a checkpoint} diff --git a/man/ped2cn.Rd b/man/ped2cn.Rd index d2922922..36f14288 100644 --- a/man/ped2cn.Rd +++ b/man/ped2cn.Rd @@ -16,6 +16,7 @@ ped2cn( saveable = FALSE, resume = FALSE, save_rate = 5, + adjacency_method = "indexed", save_rate_gen = save_rate, save_rate_parlist = 1000 * save_rate, save_path = "checkpoint/", @@ -47,6 +48,8 @@ ped2cn( \item{save_rate}{numeric. The rate at which to save the intermediate results} +\item{adjacency_method}{character. The method to use for computing the adjacency matrix. Options are "loop" or "indexed"} + \item{save_rate_gen}{numeric. The rate at which to save the intermediate results by generation. If NULL, defaults to save_rate} \item{save_rate_parlist}{numeric. The rate at which to save the intermediate results by parent list. If NULL, defaults to save_rate*1000} diff --git a/man/ped2com.Rd b/man/ped2com.Rd index fe4e48cc..60c8fc05 100644 --- a/man/ped2com.Rd +++ b/man/ped2com.Rd @@ -14,11 +14,13 @@ ped2com( flatten.diag = FALSE, standardize.colnames = TRUE, transpose_method = "tcrossprod", + adjacency_method = "indexed", + isChild_method = "classic", saveable = FALSE, resume = FALSE, save_rate = 5, save_rate_gen = save_rate, - save_rate_parlist = 1000 * save_rate, + save_rate_parlist = 1e+05 * save_rate, update_rate = 100, save_path = "checkpoint/", ... @@ -45,6 +47,10 @@ ped2com( \item{transpose_method}{character. The method to use for computing the transpose. Options are "tcrossprod", "crossprod", or "star"} +\item{adjacency_method}{character. The method to use for computing the adjacency matrix. Options are "loop" or "indexed"} + +\item{isChild_method}{character. The method to use for computing the isChild matrix. Options are "classic" or "partialparent"} + \item{saveable}{logical. If TRUE, save the intermediate results to disk} \item{resume}{logical. If TRUE, resume from a checkpoint} diff --git a/man/ped2mit.Rd b/man/ped2mit.Rd index afb813bb..1606204d 100644 --- a/man/ped2mit.Rd +++ b/man/ped2mit.Rd @@ -14,10 +14,11 @@ ped2mit( flatten.diag = FALSE, standardize.colnames = TRUE, transpose_method = "tcrossprod", + adjacency_method = "direct", saveable = FALSE, resume = FALSE, save_rate = 5, - save_rate_gen = save_rate_gen, + save_rate_gen = save_rate, save_rate_parlist = 1000 * save_rate, save_path = "checkpoint/", ... @@ -42,6 +43,8 @@ ped2mit( \item{transpose_method}{character. The method to use for computing the transpose. Options are "tcrossprod", "crossprod", or "star"} +\item{adjacency_method}{character. The method to use for computing the adjacency matrix. Options are "loop" or "indexed"} + \item{saveable}{logical. If TRUE, save the intermediate results to disk} \item{resume}{logical. If TRUE, resume from a checkpoint} diff --git a/man/processParents.Rd b/man/processParents.Rd index 9f8064d1..e8077472 100644 --- a/man/processParents.Rd +++ b/man/processParents.Rd @@ -4,7 +4,7 @@ \alias{processParents} \title{Process parents information} \usage{ -processParents(df_temp) +processParents(df_temp, datasource) } \arguments{ \item{df_temp}{A data frame containing information about individuals.} diff --git a/man/readWikifamilytree.Rd b/man/readWikifamilytree.Rd new file mode 100644 index 00000000..b06acf7b --- /dev/null +++ b/man/readWikifamilytree.Rd @@ -0,0 +1,14 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/readPedigree.R +\name{readWikifamilytree} +\alias{readWikifamilytree} +\title{Read Wiki Family Tree} +\usage{ +readWikifamilytree(text) +} +\arguments{ +\item{text}{A character string containing the text of a family tree in wiki format.} +} +\description{ +Read Wiki Family Tree +} diff --git a/man/repairSex.Rd b/man/repairSex.Rd index 5f52fe36..52e304d9 100644 --- a/man/repairSex.Rd +++ b/man/repairSex.Rd @@ -4,7 +4,7 @@ \alias{repairSex} \title{Repairs Sex Coding in a Pedigree Dataframe} \usage{ -repairSex(ped, verbose = FALSE, code_male = NULL) +repairSex(ped, verbose = FALSE, code_male = NULL, code_female = NULL) } \arguments{ \item{ped}{A dataframe representing the pedigree data with a 'sex' column.} @@ -12,6 +12,8 @@ repairSex(ped, verbose = FALSE, code_male = NULL) \item{verbose}{A logical flag indicating whether to print progress and validation messages to the console.} \item{code_male}{The current code used to represent males in the 'sex' column.} + +\item{code_female}{The current code used to represent females in the 'sex' column. If both are NULL, no recoding is performed.} } \value{ A modified version of the input data.frame \code{ped}, containing an additional or modified 'sex_recode' column where the 'sex' values are recoded according to \code{code_male}. NA values in the 'sex' column are preserved. diff --git a/man/royal92.Rd b/man/royal92.Rd new file mode 100644 index 00000000..518957ed --- /dev/null +++ b/man/royal92.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/documentData.R +\docType{data} +\name{royal92} +\alias{royal92} +\title{Royal pedigree data from 1992} +\format{ +A data frame with 3110 observations +} +\usage{ +data(royal92) +} +\description{ +A dataset created by Denis Reid from the Royal Families of Europe. +} +\details{ +The variables are as follows: +id,momID,dadID,name,sex,birth_date,death_date,attribute_title +\itemize{ + \item \code{id}: Person identification variable + \item \code{momID}: ID of the mother + \item \code{dadID}: ID of the father + \item \code{name}: Name of the person + \item \code{sex}: Biological sex + \item \code{birth_date}: Date of birth + \item \code{death_date}: Date of death + \item \code{attribute_title}: Title of the person + +} +} +\keyword{datasets} diff --git a/man/summarizePedigrees.Rd b/man/summarizePedigrees.Rd index 48c28b9b..1a076fdc 100644 --- a/man/summarizePedigrees.Rd +++ b/man/summarizePedigrees.Rd @@ -20,6 +20,7 @@ summarizePedigrees( noldest = 5, skip_var = NULL, five_num_summary = FALSE, + network_checks = FALSE, verbose = FALSE ) } @@ -57,6 +58,8 @@ Defaults to `byr` (if available) or `personID` otherwise.} \item{five_num_summary}{Logical. If `TRUE`, includes the first quartile (Q1) and third quartile (Q3) in addition to the minimum, median, and maximum values.} +\item{network_checks}{Logical. If `TRUE`, performs network checks on the pedigree data.} + \item{verbose}{Logical, if TRUE, print progress messages.} } \value{ diff --git a/tests/testthat/test-checkPedigreeNetwork.R b/tests/testthat/test-checkPedigreeNetwork.R new file mode 100644 index 00000000..a896a415 --- /dev/null +++ b/tests/testthat/test-checkPedigreeNetwork.R @@ -0,0 +1,63 @@ +# Test Case 1: Validate correct network structure in the original 'potter' dataset +test_that("checkPedigreeNetwork identifies valid pedigree network correctly in potter dataset", { + ped <- potter + results <- checkPedigreeNetwork(ped, personID = "personID", momID = "momID", dadID = "dadID", verbose = FALSE) + expect_true(results$is_acyclic) + expect_equal(length(results$individuals_with_excess_parents), 0) + expect_null(results$cyclic_relationships) +}) + +# Test Case 2: Validate detection of a cycle in 'potter' dataset by introducing a cyclic relationship +test_that("checkPedigreeNetwork detects cyclic relationships correctly in potter dataset", { + cyclic_potter <- potter + # Introduce a cycle: making Harry Potter his own ancestor + cyclic_potter$dadID[cyclic_potter$personID == cyclic_potter$dadID[cyclic_potter$name == "Harry Potter"]] <- cyclic_potter$personID[cyclic_potter$name == "Harry Potter"] + + results <- checkPedigreeNetwork(cyclic_potter, personID = "personID", momID = "momID", dadID = "dadID", verbose = FALSE) + expect_false(results$is_acyclic) + expect_true(!is.null(results$cyclic_relationships)) + expect_true(any(cyclic_potter$personID[cyclic_potter$name == "Harry Potter"] %in% results$cyclic_relationships)) +}) + +# Test Case 3: Validate detection of individuals with more than two parents in 'potter' dataset +test_that("checkPedigreeNetwork detects individuals with excess parents in potter dataset", { + data("potter") + excess_parents_potter <- potter + # Artificially create an excess parent situation for Harry Potter + new_parent <- data.frame( + personID = "999", + famID = "1", + name = "New Parent", + gen = 1, + momID = NA, + dadID = NA, + spouseID = NA, + sex = "M" + ) + + excess_parents_potter <- rbind(excess_parents_potter, new_parent) + + # Duplicate Harry Potter row to simulate excess parentage scenario + extra_row <- excess_parents_potter[excess_parents_potter$name == "Harry Potter", ] + extra_row$dadID <- "999" # new parent + excess_parents_potter <- rbind(excess_parents_potter, extra_row) + + results <- checkPedigreeNetwork(excess_parents_potter, personID = "personID", momID = "momID", dadID = "dadID", verbose = FALSE) + + expect_true("Harry Potter" %in% excess_parents_potter$name[excess_parents_potter$personID %in% results$individuals_with_excess_parents]) +}) + +# Test Case 4: Validate detection of duplicate edges in 'potter' dataset +test_that("checkPedigreeNetwork detects duplicate edges in potter dataset", { + dup_potter <- potter + dup_row <- potter[1, ] + dup_potter <- rbind(dup_potter, dup_row) + + results <- checkPedigreeNetwork(dup_potter, + personID = "personID", + momID = "momID", + dadID = "dadID", verbose = FALSE + ) + + expect_true(nrow(results$duplicate_edges) > 0) +}) diff --git a/tests/testthat/test-checkSex.R b/tests/testthat/test-checkSex.R index 5e8832e8..335aee62 100644 --- a/tests/testthat/test-checkSex.R +++ b/tests/testthat/test-checkSex.R @@ -10,7 +10,7 @@ test_that("checkSex identifies sex coding correctly in potter dataset", { }) # Test Case 2: Validate sex coding without repair -test_that("checkSex identifies potentially problematic sex coding in potter dataset", { +test_that("checkSex identifies potentially problematic sex coding of non-male dad in potter dataset", { df_potter <- potter df_potter$sex[df_potter$name == "Vernon Dursley"] <- 5 @@ -35,6 +35,24 @@ test_that("checkSex identifies potentially problematic sex coding in potter dat expect_true(dim(df_fix)[2] == dim(df_potter)[2]) }) +# Test Case 2: Validate sex coding without repair +test_that("checkSex identifies potentially problematic sex coding of non-female mom in potter dataset", { + df_potter <- potter + df_potter$sex[df_potter$name == "Petunia Evans"] <- 5 + + results <- checkSex(df_potter, + code_male = 1, + code_female = 0, verbose = TRUE, repair = FALSE + ) + expect_true("sex_unique" %in% names(results)) + + expect_equal(sort(results$sex_unique), sort(c(5, 1, 0))) + + expect_equal(results$sex_length, 3) + + expect_equal(results[["ID_male_moms"]], df_potter$personID[df_potter$name == "Petunia Evans"]) +}) + # Test Case 3: Recode sex variable @@ -42,6 +60,13 @@ test_that("recodeSex correctly recodes sex in potter dataset", { recoded_potter <- recodeSex(potter, code_male = 1, code_female = 0, recode_male = "M", recode_female = "F") expect_true(all(recoded_potter$sex %in% c("M", "F"))) expect_false(any(is.na(recoded_potter$sex))) + + recoded_potter <- recodeSex(potter, code_female = 0, recode_male = "M", recode_female = "F") + expect_true(all(recoded_potter$sex %in% c("M", "F"))) + expect_false(any(is.na(recoded_potter$sex))) + + recoded_potter <- recodeSex(potter, recode_male = "M", recode_female = "F") + expect_false(all(recoded_potter$sex %in% c("M", "F"))) }) diff --git a/tests/testthat/test-convertPedigree.R b/tests/testthat/test-convertPedigree.R index d0bcdabb..f85ccd4a 100644 --- a/tests/testthat/test-convertPedigree.R +++ b/tests/testthat/test-convertPedigree.R @@ -231,7 +231,8 @@ test_that("ped2com handles checkpoint saving and resuming", { ped_add_saved <- ped2com(hazard, component = "additive", saveable = TRUE, save_path = save_path, save_rate_gen = 1, - save_rate_parlist = 1 + save_rate_parlist = 10, + adjacency_method = "direct" ) checkpoint_files_v0 <- list( @@ -257,10 +258,214 @@ test_that("ped2com handles checkpoint saving and resuming", { expect_equal(length(checkpoint_files_v1), length(checkpoint_files_v0)) # Resume from checkpoint - resumed_matrix <- ped2com(hazard, component = "additive", resume = TRUE, save_path = save_path) + resumed_matrix <- ped2com(hazard, + component = "additive", resume = TRUE, save_path = save_path, + adjacency_method = "direct" + ) expect_equal(dim(resumed_matrix), c(nrow(hazard), nrow(hazard))) expect_equal(dim(resumed_matrix), dim(ped_add_saved)) # Cleanup unlink(save_path, recursive = TRUE) }) + +# adjacency_method = "indexed" and "loop" produce the same results", { +test_that("adjacency_method 'indexed', 'loop', and direct produce the same results for additive matrix", { + data(inbreeding) + tolerance <- 1e-10 + ped_add_indexed <- ped2com(hazard, component = "additive", adjacency_method = "indexed") + ped_add_loop <- ped2com(hazard, component = "additive", adjacency_method = "loop") + ped_add_direct <- ped2com(hazard, component = "additive", adjacency_method = "direct") + expect_equal(ped_add_indexed, ped_add_loop, tolerance = tolerance) + expect_equal(ped_add_loop, ped_add_direct, tolerance = tolerance) + expect_equal(ped_add_indexed, ped_add_direct, tolerance = tolerance) +}) + +test_that("adjacency_method 'indexed', 'loop', and direct produce the same results for mtdna matrix", { + data(hazard) + tolerance <- 1e-10 + + ped_mit_indexed <- ped2com(hazard, component = "mitochondrial", adjacency_method = "indexed") + ped_mit_loop <- ped2com(hazard, component = "mitochondrial", adjacency_method = "loop") + ped_mit_direct <- ped2com(hazard, component = "mitochondrial", adjacency_method = "direct") + expect_equal(ped_mit_indexed, ped_mit_loop, tolerance = tolerance) + expect_equal(ped_mit_loop, ped_mit_direct, tolerance = tolerance) + expect_equal(ped_mit_indexed, ped_mit_direct, tolerance = tolerance) +}) + + +test_that("adjacency_method 'indexed', 'loop', and direct produce the same results for common nuclear matrix", { + data(hazard) + tolerance <- 1e-10 + + # common nuclear + ped_common_indexed <- ped2com(hazard, component = "common nuclear", adjacency_method = "indexed") + ped_common_loop <- ped2com(hazard, component = "common nuclear", adjacency_method = "loop") + # ped_common_direct <- ped2com(hazard, component = "common nuclear", adjacency_method = "direct") + expect_equal(ped_common_indexed, ped_common_loop, tolerance = tolerance) + # expect_equal(ped_common_loop, ped_common_direct, tolerance = tolerance) + # expect_equal(ped_common_indexed, ped_common_direct, tolerance = tolerance) +}) + + +test_that("adjacency_method 'indexed', 'loop', and direct produce the same results for generation matrix", { + data(hazard) + tolerance <- 1e-10 + # generation + ped_gen_indexed <- ped2com(hazard, component = "generation", adjacency_method = "indexed") + ped_gen_loop <- ped2com(hazard, component = "generation", adjacency_method = "loop") + ped_gen_direct <- ped2com(hazard, component = "generation", adjacency_method = "direct") + + expect_equal(ped_gen_indexed, ped_gen_loop, tolerance = tolerance) + expect_equal(ped_gen_loop, ped_gen_direct, tolerance = tolerance) + expect_equal(ped_gen_indexed, ped_gen_direct, tolerance = tolerance) +}) + +test_that("isChild_method product the same results for mtdna matrix, remove mom", { + data(hazard) + df <- hazard + tolerance <- 1e-10 + ped_mit_partial_nona <- ped2com(df, + isChild_method = "partialparent", + component = "mitochondrial", + adjacency_method = "direct" + ) + ped_mit_classic_nona <- ped2com(df, + isChild_method = "classic", + component = "mitochondrial", adjacency_method = "direct" + ) + + expect_equal(ped_mit_partial_nona, ped_mit_classic_nona, tolerance = tolerance) + df$momID[df$ID == 4] <- NA + + # maternal + ped_mit_partial <- ped2com(df, + isChild_method = "partialparent", + component = "mitochondrial", + adjacency_method = "direct" + ) + ped_mit_classic <- ped2com(df, + isChild_method = "classic", + component = "mitochondrial", adjacency_method = "direct" + ) + # should be the same within method + # expect_equal(ped_mit_partial, ped_mit_classic, tolerance = tolerance) + # expect_equal(ped_mit_partial, ped_mit_classic_nona, tolerance = tolerance) + + # should be the same across methods + # expect_equal(ped_mit_partial_nona, ped_mit_partial, tolerance = tolerance) + # expect_equal(ped_mit_classic_nona, ped_mit_classic, tolerance = tolerance) +}) + +test_that("isChild_method product the same results for mtdna matrix, remove dad", { + data(hazard) + df <- hazard + tolerance <- 1e-10 + ped_mit_partial_nona <- ped2com(df, + isChild_method = "partialparent", + component = "mitochondrial", + adjacency_method = "direct" + ) + ped_mit_classic_nona <- ped2com(df, + isChild_method = "classic", + component = "mitochondrial", adjacency_method = "direct" + ) + + expect_equal(ped_mit_partial_nona, ped_mit_classic_nona, tolerance = tolerance) + df$dadID[df$ID == 4] <- NA + # maternal + ped_mit_partial <- ped2com(df, + isChild_method = "partialparent", + component = "mitochondrial", + adjacency_method = "direct" + ) + ped_mit_classic <- ped2com(df, + isChild_method = "classic", + component = "mitochondrial", adjacency_method = "direct" + ) + # should be the same within method + expect_equal(ped_mit_partial, ped_mit_classic, tolerance = tolerance) + expect_equal(ped_mit_partial, ped_mit_classic_nona, tolerance = tolerance) + + # should be the same across methods + expect_equal(ped_mit_partial_nona, ped_mit_partial, tolerance = tolerance) + expect_equal(ped_mit_classic_nona, ped_mit_classic, tolerance = tolerance) +}) + +test_that("isChild_method product the same results for add matrix for hazard", { + data(hazard) + tolerance <- 1e-10 + df <- hazard + + ped_add_partial_nona <- ped2com(df, + isChild_method = "partialparent", + component = "additive", + adjacency_method = "direct" + ) + ped_add_classic_nona <- ped2com(df, + isChild_method = "classic", + component = "additive", adjacency_method = "direct" + ) + expect_equal(ped_add_partial_nona, ped_add_classic_nona, tolerance = tolerance) + + df$momID[df$ID == 4] <- NA + tolerance <- 1e-10 + # add + ped_add_partial <- ped2com(df, + isChild_method = "partialparent", + component = "additive", + adjacency_method = "direct" + ) + ped_add_classic <- ped2com(df, + isChild_method = "classic", + component = "additive", adjacency_method = "direct" + ) + + expect_equal(ped_add_partial[4, 4], 1, tolerance = tolerance) + expect_equal(ped_add_classic[4, 4], .75, tolerance = tolerance) + difference <- ped_add_partial - ped_add_classic + + # expect_equal(ped_add_partial, ped_add_classic_nona, tolerance = tolerance) + + difference <- ped_add_partial - ped_add_classic + + expect_gt(sum(abs(difference)), 0) +}) + + + +test_that("isChild_method product the same results for add matrix with inbreeding", { + data(inbreeding) + df <- inbreeding + tolerance <- 1e-10 + ped_add_classic_nona <- ped2com(df, + isChild_method = "classic", + component = "additive", adjacency_method = "direct" + ) + ped_add_partial_nona <- ped2com(df, + isChild_method = "partialparent", + component = "additive", + adjacency_method = "direct" + ) + df$momID[df$ID == 6] <- NA + + # add + ped_add_partial <- ped2com(df, + isChild_method = "partialparent", + component = "additive", + adjacency_method = "direct" + ) + ped_add_classic <- ped2com(df, + isChild_method = "classic", + component = "additive", adjacency_method = "direct" + ) + + expect_equal(ped_add_partial[6, 6], 1, tolerance = tolerance) + expect_equal(ped_add_classic[6, 6], .75, tolerance = tolerance) + difference <- ped_add_partial - ped_add_classic + # expect_equal(ped_add_partial, ped_add_classic, tolerance = tolerance) + + difference <- ped_add_partial - ped_add_classic + + expect_gt(sum(abs(difference)), 0) +}) diff --git a/tests/testthat/test-makeLinks.R b/tests/testthat/test-makeLinks.R new file mode 100644 index 00000000..2edb8377 --- /dev/null +++ b/tests/testthat/test-makeLinks.R @@ -0,0 +1,236 @@ +test_that("com2links handles missing matrices properly", { + expect_error( + com2links(ad_ped_matrix = NULL, mit_ped_matrix = NULL, cn_ped_matrix = NULL), + "At least one of 'ped_matrix', 'mit_ped_matrix', or 'cn_ped_matrix' must be provided." + ) +}) + + + + +test_that("com2links rejects invalid matrix types", { + fake_matrix <- data.frame(A = c(1, 2), B = c(3, 4)) + expect_error(com2links(ad_ped_matrix = fake_matrix), "The 'ad_ped_matrix' must be a matrix or dgCMatrix.") +}) + +test_that("com2links produces correct output with a single relationship matrix (hazard dataset)", { + data(hazard) + ad_ped_matrix <- ped2add(hazard, sparse = TRUE) + + result <- com2links(ad_ped_matrix = ad_ped_matrix, writetodisk = FALSE) + + expect_true(is.data.frame(result)) + expect_true(all(c("ID1", "ID2", "addRel") %in% colnames(result))) + expect_equal(ncol(result), 3) # Expect ID1, ID2, and addRel + expect_true(all(result$addRel >= 0)) # Relatedness values should be non-negative +}) + +test_that("com2links produces correct output with mt_ped_matrix", { + data(hazard) + mit_ped_matrix <- ped2mit(hazard, sparse = TRUE) + + result <- com2links(mt_ped_matrix = mit_ped_matrix, writetodisk = FALSE) + + expect_true(is.data.frame(result)) + expect_true(all(c("ID1", "ID2", "mitRel") %in% colnames(result))) + expect_equal(ncol(result), 3) # Expect ID1, ID2, and addRel + expect_true(all(result$addRel >= 0)) # Relatedness values should be non-negative +}) + +test_that("com2links processes multiple matrices correctly (hazard dataset)", { + data(hazard) + ad_ped_matrix <- ped2add(hazard, sparse = TRUE) + mit_ped_matrix <- ped2mit(hazard, sparse = TRUE) + cn_ped_matrix <- ped2cn(hazard, sparse = TRUE) + + result <- com2links(ad_ped_matrix = ad_ped_matrix, mit_ped_matrix = mit_ped_matrix, cn_ped_matrix = cn_ped_matrix, writetodisk = FALSE) + + expect_true(is.data.frame(result)) + expect_true(all(c("ID1", "ID2", "addRel", "mitRel", "cnuRel") %in% colnames(result))) + expect_equal(ncol(result), 5) # Expect ID1, ID2, addRel, mitRel, and cnuRel + expect_true(all(result$addRel >= 0)) + expect_true(all(result$mitRel %in% c(0, 1))) # Mitochondrial should be binary + expect_true(all(result$cnuRel >= 0)) +}) + + +test_that("com2links written version matchs", { + data(hazard) + ad_ped_matrix <- ped2com(hazard, component = "additive", adjacency_method = "direct", sparse = TRUE) + mit_ped_matrix <- ped2com(hazard, component = "mitochondrial", adjacency_method = "direct", sparse = TRUE) + cn_ped_matrix <- ped2com(hazard, component = "common nuclear", adjacency_method = "indexed", sparse = TRUE) + + result <- com2links( + ad_ped_matrix = ad_ped_matrix, + mit_ped_matrix = mit_ped_matrix, cn_ped_matrix = cn_ped_matrix, + writetodisk = TRUE, rel_pairs_file = "dataRelatedPairs_new.csv" + ) + expect_true(is.null(result)) + + written_data <- read.csv("dataRelatedPairs_new.csv") + # remove the file + expect_true(file.remove("dataRelatedPairs_new.csv")) + expect_true(all(c("ID1", "ID2", "addRel", "mitRel", "cnuRel") %in% colnames(written_data))) + + result <- com2links( + ad_ped_matrix = ad_ped_matrix, + mit_ped_matrix = mit_ped_matrix, cn_ped_matrix = cn_ped_matrix, + writetodisk = FALSE + ) + + expect_true(is.data.frame(result)) + expect_true(all(c("ID1", "ID2", "addRel", "mitRel", "cnuRel") %in% colnames(result))) + + # Drop row names to avoid mismatches in expect_equal + rownames(result) <- NULL + rownames(written_data) <- NULL + + + # Final comparison between written versions + expect_equal(written_data, result) +}) +test_that("com2links legacy works", { + data(hazard) + ad_ped_matrix <- ped2com(hazard, component = "additive", adjacency_method = "direct", sparse = TRUE) + mit_ped_matrix <- ped2com(hazard, component = "mitochondrial", adjacency_method = "direct", sparse = TRUE) + cn_ped_matrix <- ped2com(hazard, component = "common nuclear", adjacency_method = "indexed", sparse = TRUE) + + resultlegacy <- com2links( + ad_ped_matrix = ad_ped_matrix, + mit_ped_matrix = mit_ped_matrix, cn_ped_matrix = cn_ped_matrix, + legacy = TRUE + ) + expect_true(is.null(resultlegacy)) + expect_true(file.exists("dataRelatedPairs.csv")) + written_data <- read.csv("dataRelatedPairs.csv") + # remove the file + expect_true(file.remove("dataRelatedPairs.csv")) + + expect_true(all(c("ID1", "ID2", "addRel", "mitRel", "cnuRel") %in% colnames(written_data))) + + result <- com2links( + ad_ped_matrix = ad_ped_matrix, + mit_ped_matrix = mit_ped_matrix, cn_ped_matrix = cn_ped_matrix, + writetodisk = FALSE + ) + + expect_true(is.data.frame(result)) + + # Drop row names to avoid mismatches in expect_equal + rownames(result) <- NULL + rownames(written_data) <- NULL + + # Final comparison between written versions + expect_equal(written_data, result) +}) + + +test_that("com2links correctly handles missing matrices", { + data(hazard) + # ad_ped_matrix <- ped2add(hazard) + + expect_error( + com2links(ad_ped_matrix = NULL, mit_ped_matrix = NULL, cn_ped_matrix = NULL), + "At least one of 'ped_matrix', 'mit_ped_matrix', or 'cn_ped_matrix' must be provided." + ) + + expect_error(com2links(ad_ped_matrix = hazard), "The 'ad_ped_matrix' must be a matrix or dgCMatrix.") +}) + +test_that("com2links correctly processes inbreeding dataset", { + data(inbreeding) + ad_ped_matrix <- ped2add(inbreeding, sparse = TRUE) + mit_ped_matrix <- ped2mit(inbreeding, sparse = TRUE) + cn_ped_matrix <- ped2cn(inbreeding, sparse = TRUE) + + result <- com2links( + ad_ped_matrix = ad_ped_matrix, + mit_ped_matrix = mit_ped_matrix, + cn_ped_matrix = cn_ped_matrix, + writetodisk = FALSE + ) + + expect_true(is.data.frame(result)) + expect_true(all(c("ID1", "ID2", "addRel", "mitRel", "cnuRel") %in% colnames(result))) + expect_equal(ncol(result), 5) + expect_true(all(result$addRel >= 0)) + expect_true(all(result$mitRel %in% c(0, 1))) # Mitochondrial should be binary + expect_true(all(result$cnuRel >= 0)) +}) + + +test_that("com2links writes correct data to disk", { + data(hazard) + ad_ped_matrix <- ped2add(hazard, sparse = TRUE) + + temp_file <- tempfile(fileext = ".csv") + com2links(ad_ped_matrix = ad_ped_matrix, rel_pairs_file = temp_file, writetodisk = TRUE) + + expect_true(file.exists(temp_file)) + written_data <- read.csv(temp_file) + expect_true(all(c("ID1", "ID2", "addRel") %in% colnames(written_data))) +}) + +test_that("com2links handles large batch writing correctly", { + set.seed(123) + kpc <- 4 + Ngen <- 4 + marR <- 0.8 + sexR <- 0.5 + df_fam <- simulatePedigree(kpc = kpc, Ngen = Ngen, sexR = sexR, marR = marR) + + ad_ped_matrix <- ped2add(df_fam, sparse = TRUE) + + temp_file <- tempfile(fileext = ".csv") + com2links(ad_ped_matrix = ad_ped_matrix, rel_pairs_file = temp_file, writetodisk = TRUE, verbose = TRUE) + + expect_true(file.exists(temp_file)) + written_data <- read.csv(temp_file) + expect_true(nrow(written_data) > 1000) # Ensuring batch writing logic works +}) + +test_that("com2links garbage collection does not affect output, using two components", { + data(hazard) + ad_ped_matrix <- ped2add(hazard, sparse = TRUE) + mit_ped_matrix <- ped2mit(hazard, sparse = TRUE) + cn_ped_matrix <- ped2cn(hazard, sparse = TRUE) + + result_gc <- com2links( + ad_ped_matrix = ad_ped_matrix, + mit_ped_matrix = mit_ped_matrix, + gc = TRUE, writetodisk = FALSE + ) + result_no_gc <- com2links( + ad_ped_matrix = ad_ped_matrix, + mit_ped_matrix = mit_ped_matrix, + gc = FALSE, writetodisk = FALSE + ) + + expect_equal(result_gc, result_no_gc) + + result_gc <- com2links( + ad_ped_matrix = ad_ped_matrix, + cn_ped_matrix = cn_ped_matrix, + gc = TRUE, writetodisk = FALSE + ) + result_no_gc <- com2links( + ad_ped_matrix = ad_ped_matrix, + cn_ped_matrix = cn_ped_matrix, + gc = FALSE, writetodisk = FALSE + ) + + expect_equal(result_gc, result_no_gc) + + result_gc <- com2links( + mit_ped_matrix = mit_ped_matrix, + cn_ped_matrix = cn_ped_matrix, + gc = TRUE, writetodisk = FALSE + ) + result_no_gc <- com2links( + mit_ped_matrix = mit_ped_matrix, + cn_ped_matrix = cn_ped_matrix, + gc = FALSE, writetodisk = FALSE + ) + + expect_equal(result_gc, result_no_gc) +}) diff --git a/tests/testthat/test-plotPedigree.R b/tests/testthat/test-plotPedigree.R new file mode 100644 index 00000000..4944bcdb --- /dev/null +++ b/tests/testthat/test-plotPedigree.R @@ -0,0 +1,34 @@ +test_that("simulated pedigree plots correctly", { + set.seed(5) + Ngen <- 4 + kpc <- 4 + sexR <- .50 + marR <- .7 + + results <- simulatePedigree(kpc = kpc, Ngen = Ngen, sexR = sexR, marR = marR) + + expect_no_error(plotPedigree(results, verbose = FALSE)) + + kpc <- 2 + results2 <- simulatePedigree(kpc = kpc, Ngen = Ngen, sexR = sexR, marR = marR) + results2$fam <- paste0("fam 2") + results <- rbind(results, results2) + expect_output(plotPedigree(results, verbose = TRUE)) +}) + + +test_that("pedigree plots correctly with affected variables", { + set.seed(5) + Ngen <- 4 + kpc <- 4 + sexR <- .50 + marR <- .7 + + results <- simulatePedigree(kpc = kpc, Ngen = Ngen, sexR = sexR, marR = marR) + results$affected <- rbinom(n = nrow(results), size = 1, prob = .1) + expect_output(plotPedigree(results, verbose = TRUE, affected = "affected")) + expect_output(plotPedigree(results, verbose = TRUE, affected = results$affected)) + + # file.remove("Rplots.pdf") +}) +# file.remove("Rplots.pdf") diff --git a/tests/testthat/test-readPedigrees.R b/tests/testthat/test-readPedigrees.R index 810040e4..94cbcb28 100644 --- a/tests/testthat/test-readPedigrees.R +++ b/tests/testthat/test-readPedigrees.R @@ -137,7 +137,7 @@ test_that("processParents adds momID and dadID correctly", { ) # Call processParents - df_temp <- processParents(df_temp) + df_temp <- processParents(df_temp, datasource = "gedcom") # Check the structure of the data frame expect_true("momID" %in% colnames(df_temp)) @@ -161,7 +161,7 @@ test_that("processParents adds momID and dadID correctly", { ) # Call processParents - df_temp <- processParents(df_temp) + df_temp <- processParents(df_temp, datasource = "gedcom") # Check the contents of the data frame expect_equal(df_temp$momID[3], "I2") @@ -176,3 +176,32 @@ test_that("if file does not exist, readGedcom throws an error", { # Call readGedcom with a non-existent file expect_error(readGedcom("nonexistent.ged")) }) + + + +# readWikifamilytree + +test_that("readWikifamilytree reads a simple file correctly", { + # Create a temporary WikiFamilyTree file for testing + # Example usage + family_tree_text <- "{{familytree/start |summary=I have a brother Joe and a little sister: my mom married my dad, and my dad's parents were Grandma and Grandpa; they had another child, Aunt Daisy.}} +{{familytree | | | | GMa |~|y|~| GPa | | GMa=Gladys|GPa=Sydney}} +{{familytree | | | | | | | |)|-|-|-|.| }} +{{familytree | | | MOM |y| DAD | |DAISY| MOM=Mom|DAD=Dad|DAISY=[[Daisy Duke]]}} +{{familytree | |,|-|-|-|+|-|-|-|.| | | }} +{{familytree | JOE | | ME | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}} +{{familytree/end}}" + + result <- readWikifamilytree(family_tree_text) + + # list( + # summary = summary_text, + # members = members_df, + # structure = tree_long, + # relationships = relationships_df + # ) + expect_equal( + result$summary, + "I have a brother Joe and a little sister: my mom married my dad, and my dad's parents were Grandma and Grandpa; they had another child, Aunt Daisy." + ) +}) diff --git a/tests/testthat/test-simulatePedigree.R b/tests/testthat/test-simulatePedigree.R index 56e1a537..74c72935 100644 --- a/tests/testthat/test-simulatePedigree.R +++ b/tests/testthat/test-simulatePedigree.R @@ -17,22 +17,6 @@ test_that("simulated pedigree generates expected data structure", { expect_equal(mean(results$sex == "M"), sexR, tolerance = .05) }) -test_that("simulated pedigree plots correctly", { - set.seed(5) - Ngen <- 4 - kpc <- 4 - sexR <- .50 - marR <- .7 - - results <- simulatePedigree(kpc = kpc, Ngen = Ngen, sexR = sexR, marR = marR) - expect_no_error(plotPedigree(results, verbose = FALSE)) - - kpc <- 2 - results2 <- simulatePedigree(kpc = kpc, Ngen = Ngen, sexR = sexR, marR = marR) - results2$fam <- paste0("fam 2") - results <- rbind(results, results2) - expect_output(plotPedigree(results, verbose = TRUE)) -}) test_that("simulatePedigree verbose prints updates", { set.seed(5) @@ -43,16 +27,3 @@ test_that("simulatePedigree verbose prints updates", { expect_output(simulatePedigree(kpc = kpc, Ngen = Ngen, sexR = sexR, marR = marR, verbose = TRUE), regexp = "Let's build the connection within each generation first") }) - -test_that("pedigree plots correctly with affected variables", { - set.seed(5) - Ngen <- 4 - kpc <- 4 - sexR <- .50 - marR <- .7 - - results <- simulatePedigree(kpc = kpc, Ngen = Ngen, sexR = sexR, marR = marR) - results$affected <- rbinom(n = nrow(results), size = 1, prob = .1) - expect_output(plotPedigree(results, verbose = TRUE, affected = "affected")) - expect_output(plotPedigree(results, verbose = TRUE, affected = results$affected)) -}) diff --git a/tests/testthat/test-tweakPedigree.R b/tests/testthat/test-tweakPedigree.R index 5a70b8ae..ec9ca622 100644 --- a/tests/testthat/test-tweakPedigree.R +++ b/tests/testthat/test-tweakPedigree.R @@ -21,6 +21,13 @@ test_that("makeTwins - Twins specified by IDs", { MZtwin = c(2, 1, NA, NA) ) result <- makeTwins(ped, ID_twin1 = 1, ID_twin2 = 2) + + expect_equal(result, expected_result) + # does it handle weird variable names? "fam" = "famID" + + names(ped)[1] <- "famID" + + result <- makeTwins(ped, ID_twin1 = 1, ID_twin2 = 2, verbose = TRUE) expect_equal(result, expected_result) }) @@ -75,9 +82,6 @@ test_that("makeInbreeding - Inbred mates specified by IDs", { expect_equal(result, expected_result) }) - - - test_that("makeInbreeding - Inbred mates specified by generation and sibling", { set.seed(15) Ngen <- 4 diff --git a/vignettes/partial.Rmd b/vignettes/partial.Rmd new file mode 100644 index 00000000..45fb7ce6 --- /dev/null +++ b/vignettes/partial.Rmd @@ -0,0 +1,467 @@ +--- +title: "Adjacency matrix methods" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Adjacency} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>" +) +options(rmarkdown.html_vignette.check_title = FALSE) +library(tidyverse) +``` + +# Introduction + +The `ped2com` function computes relationship matrices from pedigree data using a recursive algorithm based on parent-offspring connections. Central to this computation is the parent `adjacency matrix`, which defines how individuals in the pedigree are connected across generations. The adjacency matrix acts as the structural input from which genetic relatedness is propagated. + +The function offers two methods for constructing this matrix: + +1. The classic method, which assumes that all parents are known and that the adjacency matrix is complete. +2. The partial parent method, which allows for missing values in the parent adjacency matrix. + +When parent data are complete, both methods return equivalent results. But when parental information is missing, their behavior diverges. This vignette illustrates how and why these differences emerge, and under what conditions the partial method provides more accurate results. + +## Hazard Data Example + +We begin with the `hazard` dataset. First, we examine behavior under complete pedigree data. + + +```{r} +library(BGmisc) + +data(hazard) + +df <- hazard # this is the data that we will use for the example +``` +```{r, echo=FALSE} +plotPedigree(df) +``` + +We compute the additive genetic relationship matrix using both the classic and partial parent methods. Because the pedigree is complete, we expect no differences in the resulting matrices. + +```{r} +ped_add_partial_complete <- ped2com(df, + isChild_method = "partialparent", + component = "additive", + adjacency_method = "direct" +) +ped_add_classic_complete <- ped2com(df, + isChild_method = "classic", + component = "additive", adjacency_method = "direct" +) +``` + +The following plots display the full additive matrices. These matrices should be identical. + +This can be confirmed visually and numerically. + +```{r} +library(corrplot) + + +corrplot(as.matrix(ped_add_classic_complete), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Additive component - Classic method" +) + +corrplot(as.matrix(ped_add_partial_complete), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Additive component - Partial parent method" +) +``` + + +To verify this, we subtract one matrix from the other and calculate RMSE. The difference should be numerically zero. Indeed, it is `r sqrt(mean((ped_add_classic_complete-ped_add_partial_complete)^2))`. + +```{r} +corrplot(as.matrix(ped_add_classic_complete - ped_add_partial_complete), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE +) +``` + + +## Introducing Missingness: Remove a Parent + + +To observe how the two methods diverge when data are incomplete, we remove one parent—starting with the mother of individual 4. + + +```{r} +df$momID[df$ID == 4] <- NA +``` + +```{r} +ped_add_partial_mom <- ped_add_partial <- ped2com(df, + isChild_method = "partialparent", + component = "additive", + adjacency_method = "direct" +) + +ped_add_classic_mom <- ped_add_classic <- ped2com(df, + isChild_method = "classic", + component = "additive", adjacency_method = "direct" +) +``` + + +The two methods now treat individual 4 differently in the parent adjacency matrix. The classic method applies a fixed contribution because one parent remains. The partial parent method inflates the individual’s diagonal contribution to account for the missing parent. + +The resulting additive matrices reflect this difference. The RMSE between the two matrices is `r sqrt(mean((ped_add_classic-ped_add_partial)^2))`. + + +```{r} +corrplot(as.matrix(ped_add_classic), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Classic (mother removed)" +) + +corrplot(as.matrix(ped_add_partial), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Partial (mother removed)" +) +``` + + +We quantify the overall matrix difference: + +```{r} +sqrt(mean((ped_add_classic - ped_add_partial)^2)) +``` + + +Next, we compare each method to the matrix from the complete pedigree. This evaluates how much each method deviates from the correct additive structure. + +```{r} +corrplot(as.matrix(ped_add_classic_complete - ped_add_classic), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE +) + +sqrt(mean((ped_add_classic_complete - ped_add_classic)^2)) +``` + +The RMSE between the true additive component and the classic method is `r sqrt(mean((ped_add_classic_complete-ped_add_classic)^2))`. + +```{r} +corrplot(as.matrix(ped_add_classic_complete - ped_add_partial), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE +) + +sqrt(mean((ped_add_classic_complete - ped_add_partial)^2)) +``` + +The RMSE between the true additive component and the partial parent method is `r sqrt(mean((ped_add_classic_complete-ped_add_partial)^2))`. + + +The partial method shows smaller deviations from the complete matrix, confirming that it better preserves relatedness structure when one parent is missing. + + +### Removing the Father Instead + +We now repeat the same process, this time removing the father of individual 4. + + +```{r} +data(hazard) + +df <- hazard # this is the data that we will use for the example + + +df$dadID[df$ID == 4] <- NA +# add +ped_add_partial_dad <- ped_add_partial <- ped2com(df, + isChild_method = "partialparent", + component = "additive", + adjacency_method = "direct" +) + +ped_add_classic_dad <- ped_add_classic <- ped2com(df, + isChild_method = "classic", + component = "additive", adjacency_method = "direct" +) +``` + + +As we can see, the two matrices are different. The RMSE between the two matrices is `r sqrt(mean((ped_add_classic-ped_add_partial)^2))`. + +```{r} +corrplot(as.matrix(ped_add_classic_dad), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Classic (father removed)" +) + +corrplot(as.matrix(ped_add_partial_dad), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Partial (father removed)" +) +``` + +Again, we compare to the true matrix from the complete pedigree: + + +```{r} +corrplot(as.matrix(ped_add_classic_complete - ped_add_classic), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE +) + +sqrt(mean((ped_add_classic_complete - ped_add_classic)^2)) +``` + + +```{r} +corrplot(as.matrix(ped_add_classic_complete - ped_add_partial), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE +) + +sqrt(mean((ped_add_classic_complete - ped_add_partial)^2)) +``` + +The partial parent method again yields a matrix closer to the full-data version. + + + +## Inbreeding Dataset: Family-Level Evaluation + +To generalize the comparison across a larger and more varied set of pedigrees, we use the `inbreeding` dataset. Each family in this dataset is analyzed independently. + +```{r} +data("inbreeding") + +df <- inbreeding + +FamIDs <- unique(df$FamID) +``` + +For each one, we construct the additive relationship matrix under complete information and then simulate two missingness scenarios: + +- Missing mother: One individual with a known mother is randomly selected, and the mother's ID is set to NA. + +- Missing father: Similarly, one individual with a known father is selected, and the father's ID is set to NA. + + +In each condition, we recompute the additive matrix using both the classic and partial parent methods. We then calculate the RMSE between each estimate and the matrix from the complete pedigree. This allows us to quantify which method more accurately reconstructs the original relatedness structure when parental data are partially missing. + + +```{r} +inbreeding_list <- list() +results <- data.frame( + FamIDs = FamIDs, + RMSE_partial_dad = rep(NA, length(FamIDs)), + RMSE_partial_mom = rep(NA, length(FamIDs)), + RMSE_classic_dad = rep(NA, length(FamIDs)), + RMSE_classic_mom = rep(NA, length(FamIDs)), + max_R_classic_dad = rep(NA, length(FamIDs)), + max_R_partial_dad = rep(NA, length(FamIDs)), + max_R_classic_mom = rep(NA, length(FamIDs)), + max_R_partial_mom = rep(NA, length(FamIDs)), + max_R_classic = rep(NA, length(FamIDs)) +) +``` + +The loop below performs this procedure for all families in the dataset and stores both the RMSEs and the maximum relatedness values. + + +```{r} +for (i in 1:length(FamIDs)) { + # make three versions to filter down + df_fam_dad <- df_fam_mom <- df_fam <- df[df$FamID == FamIDs[i], ] + + results$RMSE_partial_mom[i] <- sqrt(mean((ped_add_classic_complete - ped_add_partial_mom)^2)) + + + ped_add_partial_complete <- ped2com(df_fam, + isChild_method = "partialparent", + component = "additive", + adjacency_method = "direct" + ) + + ped_add_classic_complete <- ped2com(df_fam, + isChild_method = "classic", + component = "additive", + adjacency_method = "direct" + ) + + + # select first ID with a mom and dad + momid_to_cut <- df_fam$ID[!is.na(df_fam$momID)] %>% head(1) + dadid_to_cut <- df_fam$ID[!is.na(df_fam$dadID)] %>% head(1) + + df_fam_dad$dadID[df_fam$ID == dadid_to_cut] <- NA + + df_fam_mom$momID[df_fam$ID == momid_to_cut] <- NA + + ped_add_partial_dad <- ped2com(df_fam_dad, + isChild_method = "partialparent", + component = "additive", + adjacency_method = "direct" + ) + ped_add_classic_dad <- ped2com(df_fam_dad, + isChild_method = "classic", + component = "additive", adjacency_method = "direct" + ) + + results$RMSE_partial_dad[i] <- sqrt(mean((ped_add_classic_complete - ped_add_partial_dad)^2)) + results$RMSE_classic_dad[i] <- sqrt(mean((ped_add_classic_complete - ped_add_classic_dad)^2)) + results$max_R_classic_dad[i] <- max(as.matrix(ped_add_classic_dad)) + results$max_R_partial_dad[i] <- max(as.matrix(ped_add_partial_dad)) + + + ped_add_partial_mom <- ped2com(df_fam_mom, + isChild_method = "partialparent", + component = "additive", + adjacency_method = "direct" + ) + + ped_add_classic_mom <- ped2com(df_fam_mom, + isChild_method = "classic", + component = "additive", adjacency_method = "direct" + ) + + results$RMSE_partial_mom[i] <- sqrt(mean((ped_add_classic_complete - ped_add_partial_mom)^2)) + results$RMSE_classic_mom[i] <- sqrt(mean((ped_add_classic_complete - ped_add_classic_mom)^2)) + results$max_R_classic_mom[i] <- max(as.matrix(ped_add_classic_mom)) + results$max_R_partial_mom[i] <- max(as.matrix(ped_add_partial_mom)) + results$max_R_classic[i] <- max(as.matrix(ped_add_classic_complete)) + + inbreeding_list[[i]] <- list( + df_fam = df_fam, + ped_add_partial_complete = ped_add_partial_complete, + ped_add_classic_complete = ped_add_classic_complete, + ped_add_partial_dad = ped_add_partial_dad, + ped_add_classic_dad = ped_add_classic_dad, + ped_add_partial_mom = ped_add_partial_mom, + ped_add_classic_mom = ped_add_classic_mom + ) +} +``` + +### Example: Family ``r FamIDs[1]`` + + +To understand what these matrices look like, we visualize them for one representative family. For this example, we select the first family in the dataset. + +```{r echo=FALSE, message=FALSE, warning=FALSE} +plotPedigree(inbreeding_list[[1]]$df_fam, + verbose = FALSE +) +``` + +```{r} +# pull the first family from the list +fam1 <- inbreeding_list[[1]] + +corrplot(as.matrix(fam1$ped_add_classic_complete), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Classic - Complete" +) + +corrplot(as.matrix(fam1$ped_add_classic_mom), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Classic - Mom Missing" +) + +corrplot(as.matrix(fam1$ped_add_partial_mom), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Partial - Mom Missing" +) + +corrplot(as.matrix(fam1$ped_add_classic_dad), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Classic - Dad Missing" +) + +corrplot(as.matrix(fam1$ped_add_partial_dad), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Partial - Dad Missing" +) +``` + + +To visualize the differences from the true matrix: + +```{r} +corrplot(as.matrix(fam1$ped_add_classic_complete - fam1$ped_add_classic_mom), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Classic Mom Diff from Complete" +) + +corrplot(as.matrix(fam1$ped_add_classic_complete - fam1$ped_add_partial_mom), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Partial Mom Diff from Complete" +) + +corrplot(as.matrix(fam1$ped_add_classic_complete - fam1$ped_add_classic_dad), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Classic Dad Diff from Complete" +) + +corrplot(as.matrix(fam1$ped_add_classic_complete - fam1$ped_add_partial_dad), + method = "color", type = "lower", col.lim = c(0, 1), + is.corr = FALSE, title = "Partial Dad Diff from Complete" +) +``` + +These plots show how each method responds to missing data, and whether it maintains consistency with the complete pedigree. We observe that the partial parent method typically introduces smaller deviations. If desired, this same diagnostic can be repeated for additional families, such as inbreeding_list[[2]]. + + + + +## Summary + +Across all families in the inbreeding dataset, the results show a consistent pattern: +the partial parent method outperforms the classic method in reconstructing the additive genetic relationship matrix when either a mother or a father is missing. + +To make this explicit, we calculate the RMSE difference between methods. A positive value means that the partial method had lower RMSE (i.e., better accuracy) than the classic method: + +```{r} +results <- results %>% + as.data.frame() %>% + mutate( + RMSE_diff_dad = RMSE_classic_dad - RMSE_partial_dad, + RMSE_diff_mom = RMSE_classic_mom - RMSE_partial_mom + ) +``` + +We can then summarize the pattern across families: + + +```{r} +results %>% + select(RMSE_diff_mom, RMSE_diff_dad) %>% + summary() +``` + +In all families, both `RMSE_diff_mom` and `RMSE_diff_dad` are positive—indicating that the classic method produces larger the errors relative to the partial method. This holds regardless of whether the missing parent is a mother or a father. + +To verify this directly: + +```{r} +mean(results$RMSE_diff_mom > 0, na.rm = TRUE) +mean(results$RMSE_diff_dad > 0, na.rm = TRUE) +``` + +These proportions show how often the partial method produces a lower RMSE across the dataset. This confirms the earlier findings: when pedigree data are incomplete, the partial parent method more faithfully reconstructs the full-data relatedness matrix. + +```{r} +results %>% + as.data.frame() %>% + select( + -FamIDs, -RMSE_diff_mom, -RMSE_diff_dad, -max_R_classic_dad, + -max_R_partial_dad, -max_R_classic_mom, -max_R_partial_mom, -max_R_classic + ) %>% + summary() +``` + + + + diff --git a/vignettes/partial.html b/vignettes/partial.html new file mode 100644 index 00000000..aaa1fbec --- /dev/null +++ b/vignettes/partial.html @@ -0,0 +1,785 @@ + + + + + + + + + + + + + + +Adjacency matrix methods + + + + + + + + + + + + + + + + + + + + + + + + + + +

Adjacency matrix methods

+ + + +
+

Introduction

+

The ped2com function computes relationship matrices from +pedigree data using a recursive algorithm based on parent-offspring +connections. Central to this computation is the parent +adjacency matrix, which defines how individuals in the +pedigree are connected across generations. The adjacency matrix acts as +the structural input from which genetic relatedness is propagated.

+

The function offers two methods for constructing this matrix:

+
    +
  1. The classic method, which assumes that all parents are known and +that the adjacency matrix is complete.
  2. +
  3. The partial parent method, which allows for missing values in the +parent adjacency matrix.
  4. +
+

When parent data are complete, both methods return equivalent +results. But when parental information is missing, their behavior +diverges. This vignette illustrates how and why these differences +emerge, and under what conditions the partial method provides more +accurate results.

+
+

Hazard Data Example

+

We begin with the hazard dataset. First, we examine +behavior under complete pedigree data.

+
library(BGmisc)
+
+data(hazard)
+
+df <- hazard # this is the data that we will use for the example
+

+
#> named list()
+

We compute the additive genetic relationship matrix using both the +classic and partial parent methods. Because the pedigree is complete, we +expect no differences in the resulting matrices.

+
ped_add_partial_complete <- ped2com(df,
+  isChild_method = "partialparent",
+  component = "additive",
+  adjacency_method = "direct"
+)
+ped_add_classic_complete <- ped2com(df,
+  isChild_method = "classic",
+  component = "additive", adjacency_method = "direct"
+)
+

The following plots display the full additive matrices. These +matrices should be identical.

+

This can be confirmed visually and numerically.

+
library(corrplot)
+#> corrplot 0.95 loaded
+
+
+corrplot(as.matrix(ped_add_classic_complete),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Additive component - Classic method"
+)
+

+

+corrplot(as.matrix(ped_add_partial_complete),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Additive component - Partial parent method"
+)
+

+

To verify this, we subtract one matrix from the other and calculate +RMSE. The difference should be numerically zero. Indeed, it is 0.

+
corrplot(as.matrix(ped_add_classic_complete - ped_add_partial_complete),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE
+)
+#> Warning in corrplot(as.matrix(ped_add_classic_complete -
+#> ped_add_partial_complete), : col.lim interval too wide, please set a suitable
+#> value
+

+
+
+

Introducing Missingness: Remove a Parent

+

To observe how the two methods diverge when data are incomplete, we +remove one parent—starting with the mother of individual 4.

+
df$momID[df$ID == 4] <- NA
+
ped_add_partial_mom <- ped_add_partial <- ped2com(df,
+  isChild_method = "partialparent",
+  component = "additive",
+  adjacency_method = "direct"
+)
+
+ped_add_classic_mom <- ped_add_classic <- ped2com(df,
+  isChild_method = "classic",
+  component = "additive", adjacency_method = "direct"
+)
+

The two methods now treat individual 4 differently in the parent +adjacency matrix. The classic method applies a fixed contribution +because one parent remains. The partial parent method inflates the +individual’s diagonal contribution to account for the missing +parent.

+

The resulting additive matrices reflect this difference. The RMSE +between the two matrices is 0.009811.

+
corrplot(as.matrix(ped_add_classic),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Classic (mother removed)"
+)
+

+

+corrplot(as.matrix(ped_add_partial),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Partial (mother removed)"
+)
+

+

We quantify the overall matrix difference:

+
sqrt(mean((ped_add_classic - ped_add_partial)^2))
+#> [1] 0.009811047
+

Next, we compare each method to the matrix from the complete +pedigree. This evaluates how much each method deviates from the correct +additive structure.

+
corrplot(as.matrix(ped_add_classic_complete - ped_add_classic),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE
+)
+

+

+sqrt(mean((ped_add_classic_complete - ped_add_classic)^2))
+#> [1] 0.02991371
+

The RMSE between the true additive component and the classic method +is 0.0299137.

+
corrplot(as.matrix(ped_add_classic_complete - ped_add_partial),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE
+)
+

+

+sqrt(mean((ped_add_classic_complete - ped_add_partial)^2))
+#> [1] 0.02825904
+

The RMSE between the true additive component and the partial parent +method is 0.028259.

+

The partial method shows smaller deviations from the complete matrix, +confirming that it better preserves relatedness structure when one +parent is missing.

+
+

Removing the Father Instead

+

We now repeat the same process, this time removing the father of +individual 4.

+
data(hazard)
+
+df <- hazard # this is the data that we will use for the example
+
+
+df$dadID[df$ID == 4] <- NA
+# add
+ped_add_partial_dad <- ped_add_partial <- ped2com(df,
+  isChild_method = "partialparent",
+  component = "additive",
+  adjacency_method = "direct"
+)
+
+ped_add_classic_dad <- ped_add_classic <- ped2com(df,
+  isChild_method = "classic",
+  component = "additive", adjacency_method = "direct"
+)
+

As we can see, the two matrices are different. The RMSE between the +two matrices is 0.009811.

+
corrplot(as.matrix(ped_add_classic_dad),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Classic (father removed)"
+)
+

+

+corrplot(as.matrix(ped_add_partial_dad),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Partial (father removed)"
+)
+

+

Again, we compare to the true matrix from the complete pedigree:

+
corrplot(as.matrix(ped_add_classic_complete - ped_add_classic),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE
+)
+

+

+sqrt(mean((ped_add_classic_complete - ped_add_classic)^2))
+#> [1] 0.02991371
+
corrplot(as.matrix(ped_add_classic_complete - ped_add_partial),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE
+)
+

+

+sqrt(mean((ped_add_classic_complete - ped_add_partial)^2))
+#> [1] 0.02825904
+

The partial parent method again yields a matrix closer to the +full-data version.

+
+
+
+

Inbreeding Dataset: Family-Level Evaluation

+

To generalize the comparison across a larger and more varied set of +pedigrees, we use the inbreeding dataset. Each family in +this dataset is analyzed independently.

+
data("inbreeding")
+
+df <- inbreeding
+
+FamIDs <- unique(df$FamID)
+

For each one, we construct the additive relationship matrix under +complete information and then simulate two missingness scenarios:

+ +

In each condition, we recompute the additive matrix using both the +classic and partial parent methods. We then calculate the RMSE between +each estimate and the matrix from the complete pedigree. This allows us +to quantify which method more accurately reconstructs the original +relatedness structure when parental data are partially missing.

+
inbreeding_list <- list()
+results <- data.frame(
+  FamIDs = FamIDs,
+  RMSE_partial_dad = rep(NA, length(FamIDs)),
+  RMSE_partial_mom = rep(NA, length(FamIDs)),
+  RMSE_classic_dad = rep(NA, length(FamIDs)),
+  RMSE_classic_mom = rep(NA, length(FamIDs)),
+  max_R_classic_dad = rep(NA, length(FamIDs)),
+  max_R_partial_dad = rep(NA, length(FamIDs)),
+  max_R_classic_mom = rep(NA, length(FamIDs)),
+  max_R_partial_mom = rep(NA, length(FamIDs)),
+  max_R_classic = rep(NA, length(FamIDs))
+)
+

The loop below performs this procedure for all families in the +dataset and stores both the RMSEs and the maximum relatedness +values.

+
for (i in 1:length(FamIDs)) {
+  # make three versions to filter down
+  df_fam_dad <- df_fam_mom <- df_fam <- df[df$FamID == FamIDs[i], ]
+
+  results$RMSE_partial_mom[i] <- sqrt(mean((ped_add_classic_complete - ped_add_partial_mom)^2))
+
+
+  ped_add_partial_complete <- ped2com(df_fam,
+    isChild_method = "partialparent",
+    component = "additive",
+    adjacency_method = "direct"
+  )
+
+  ped_add_classic_complete <- ped2com(df_fam,
+    isChild_method = "classic",
+    component = "additive",
+    adjacency_method = "direct"
+  )
+
+
+  # select first ID with a mom and dad
+  momid_to_cut <- df_fam$ID[!is.na(df_fam$momID)] %>% head(1)
+  dadid_to_cut <- df_fam$ID[!is.na(df_fam$dadID)] %>% head(1)
+
+  df_fam_dad$dadID[df_fam$ID == dadid_to_cut] <- NA
+
+  df_fam_mom$momID[df_fam$ID == momid_to_cut] <- NA
+
+  ped_add_partial_dad <- ped2com(df_fam_dad,
+    isChild_method = "partialparent",
+    component = "additive",
+    adjacency_method = "direct"
+  )
+  ped_add_classic_dad <- ped2com(df_fam_dad,
+    isChild_method = "classic",
+    component = "additive", adjacency_method = "direct"
+  )
+
+  results$RMSE_partial_dad[i] <- sqrt(mean((ped_add_classic_complete - ped_add_partial_dad)^2))
+  results$RMSE_classic_dad[i] <- sqrt(mean((ped_add_classic_complete - ped_add_classic_dad)^2))
+  results$max_R_classic_dad[i] <- max(as.matrix(ped_add_classic_dad))
+  results$max_R_partial_dad[i] <- max(as.matrix(ped_add_partial_dad))
+
+
+  ped_add_partial_mom <- ped2com(df_fam_mom,
+    isChild_method = "partialparent",
+    component = "additive",
+    adjacency_method = "direct"
+  )
+
+  ped_add_classic_mom <- ped2com(df_fam_mom,
+    isChild_method = "classic",
+    component = "additive", adjacency_method = "direct"
+  )
+
+  results$RMSE_partial_mom[i] <- sqrt(mean((ped_add_classic_complete - ped_add_partial_mom)^2))
+  results$RMSE_classic_mom[i] <- sqrt(mean((ped_add_classic_complete - ped_add_classic_mom)^2))
+  results$max_R_classic_mom[i] <- max(as.matrix(ped_add_classic_mom))
+  results$max_R_partial_mom[i] <- max(as.matrix(ped_add_partial_mom))
+  results$max_R_classic[i] <- max(as.matrix(ped_add_classic_complete))
+
+  inbreeding_list[[i]] <- list(
+    df_fam = df_fam,
+    ped_add_partial_complete = ped_add_partial_complete,
+    ped_add_classic_complete = ped_add_classic_complete,
+    ped_add_partial_dad = ped_add_partial_dad,
+    ped_add_classic_dad = ped_add_classic_dad,
+    ped_add_partial_mom = ped_add_partial_mom,
+    ped_add_classic_mom = ped_add_classic_mom
+  )
+}
+
+

Example: Family 1

+

To understand what these matrices look like, we visualize them for +one representative family. For this example, we select the first family +in the dataset.

+

+
#> named list()
+
# pull the first family from the list
+fam1 <- inbreeding_list[[1]]
+
+corrplot(as.matrix(fam1$ped_add_classic_complete),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Classic - Complete"
+)
+

+

+corrplot(as.matrix(fam1$ped_add_classic_mom),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Classic - Mom Missing"
+)
+

+

+corrplot(as.matrix(fam1$ped_add_partial_mom),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Partial - Mom Missing"
+)
+

+

+corrplot(as.matrix(fam1$ped_add_classic_dad),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Classic - Dad Missing"
+)
+

+

+corrplot(as.matrix(fam1$ped_add_partial_dad),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Partial - Dad Missing"
+)
+

+

To visualize the differences from the true matrix:

+
corrplot(as.matrix(fam1$ped_add_classic_complete - fam1$ped_add_classic_mom),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Classic Mom Diff from Complete"
+)
+

+

+corrplot(as.matrix(fam1$ped_add_classic_complete - fam1$ped_add_partial_mom),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Partial Mom Diff from Complete"
+)
+

+

+corrplot(as.matrix(fam1$ped_add_classic_complete - fam1$ped_add_classic_dad),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Classic Dad Diff from Complete"
+)
+

+

+corrplot(as.matrix(fam1$ped_add_classic_complete - fam1$ped_add_partial_dad),
+  method = "color", type = "lower", col.lim = c(0, 1),
+  is.corr = FALSE, title = "Partial Dad Diff from Complete"
+)
+

+

These plots show how each method responds to missing data, and +whether it maintains consistency with the complete pedigree. We observe +that the partial parent method typically introduces smaller deviations. +If desired, this same diagnostic can be repeated for additional +families, such as inbreeding_list[[2]].

+
+
+
+

Summary

+

Across all families in the inbreeding dataset, the results show a +consistent pattern: the partial parent method outperforms the classic +method in reconstructing the additive genetic relationship matrix when +either a mother or a father is missing.

+

To make this explicit, we calculate the RMSE difference between +methods. A positive value means that the partial method had lower RMSE +(i.e., better accuracy) than the classic method:

+
results <- results %>%
+  as.data.frame() %>%
+  mutate(
+    RMSE_diff_dad = RMSE_classic_dad - RMSE_partial_dad,
+    RMSE_diff_mom = RMSE_classic_mom - RMSE_partial_mom
+  )
+

We can then summarize the pattern across families:

+
results %>%
+  select(RMSE_diff_mom, RMSE_diff_dad) %>%
+  summary()
+#>  RMSE_diff_mom      RMSE_diff_dad     
+#>  Min.   :0.001222   Min.   :0.001222  
+#>  1st Qu.:0.001869   1st Qu.:0.002036  
+#>  Median :0.002538   Median :0.002520  
+#>  Mean   :0.005763   Mean   :0.005786  
+#>  3rd Qu.:0.005625   3rd Qu.:0.005625  
+#>  Max.   :0.024221   Max.   :0.024221
+

In all families, both RMSE_diff_mom and +RMSE_diff_dad are positive—indicating that the classic +method produces larger the errors relative to the partial method. This +holds regardless of whether the missing parent is a mother or a +father.

+

To verify this directly:

+
mean(results$RMSE_diff_mom > 0, na.rm = TRUE)
+#> [1] 1
+mean(results$RMSE_diff_dad > 0, na.rm = TRUE)
+#> [1] 1
+

These proportions show how often the partial method produces a lower +RMSE across the dataset. This confirms the earlier findings: when +pedigree data are incomplete, the partial parent method more faithfully +reconstructs the full-data relatedness matrix.

+
results %>%
+  as.data.frame() %>%
+  select(
+    -FamIDs, -RMSE_diff_mom, -RMSE_diff_dad, -max_R_classic_dad,
+    -max_R_partial_dad, -max_R_classic_mom, -max_R_partial_mom, -max_R_classic
+  ) %>%
+  summary()
+#>  RMSE_partial_dad  RMSE_partial_mom  RMSE_classic_dad  RMSE_classic_mom 
+#>  Min.   :0.04773   Min.   :0.04773   Min.   :0.04895   Min.   :0.04895  
+#>  1st Qu.:0.05570   1st Qu.:0.05349   1st Qu.:0.05774   1st Qu.:0.05555  
+#>  Median :0.06206   Median :0.06899   Median :0.06457   Median :0.07158  
+#>  Mean   :0.07545   Mean   :0.07686   Mean   :0.08124   Mean   :0.08262  
+#>  3rd Qu.:0.08237   3rd Qu.:0.08323   3rd Qu.:0.08866   3rd Qu.:0.08866  
+#>  Max.   :0.15547   Max.   :0.15547   Max.   :0.17969   Max.   :0.17969
+
+
+ + + + + + + + + + + diff --git a/vignettes/validation.Rmd b/vignettes/validation.Rmd index 878af068..2cc44c49 100644 --- a/vignettes/validation.Rmd +++ b/vignettes/validation.Rmd @@ -24,13 +24,18 @@ Working with pedigree data often involves dealing with inconsistencies, missing # Identifying and Repairing ID Issues -The `checkIDs()` function detects two types of ID duplication: +The `checkIDs()` function detects two types of common ID errors in pedigree data: - Between-row duplication: When two or more individuals share the same ID - Within-row duplication: When an individual's parents' IDs are incorrectly listed as their own ID -To illustrate `checkIDs()` in action, we will examine a clean example using the Potter family dataset. +These problems are especially common when merging family records or processing historical data. Let’s explore how they show up — and what they imply for downstream structure. + + +## A Clean Dataset + +We'll begin with the Potter family dataset, cleaned and reformatted with `ped2fam()`: ```{r,checkIDs} @@ -40,19 +45,21 @@ library(BGmisc) df <- ped2fam(potter, famID = "newFamID", personID = "personID") # Check for ID issues -result <- checkIDs(df, repair = FALSE) -print(result) +checkIDs(df, repair = FALSE) ``` +There are no duplicated or self-referential IDs here. But things rarely stay that simple. -The checkIDs() function checks for: + +### What `checkIDs()` Reports + +The `checkIDs()` function checks for: - Whether all IDs are unique (reported by `all_unique_ids`, which tells you if all IDs in the dataset are unique, and `total_non_unique_ids`, which gives you the count of non-unique IDs found) - Cases where someone's ID matches their parent's ID (shown in `total_own_father` and `total_own_mother`, which count individuals whose father's or mother's ID matches their own ID) - Total duplicated parent IDs (tracked by `total_duplicated_parents`, which counts individuals with duplicated parent IDs) - Within-row duplicates (measured by `total_within_row_duplicates` showing the count and `within_row_duplicates` indicating their presence) -As the output shows, there are no duplicates in our sample dataset. - +If you set `repair = TRUE`, the function will attempt to fix the issues it finds. We'll explore this later. ## A Tale of Two Duplicates @@ -60,16 +67,16 @@ To understand how these tools work in practice, let's create a dataset with two ```{r datamade} - # Create our problematic dataset df_duplicates <- df # Sibling ID conflict -df_duplicates$personID[df_duplicates$name == "Vernon Dursley"] <- +df_duplicates$personID[df_duplicates$name == "Vernon Dursley"] <- df_duplicates$personID[df_duplicates$name == "Marjorie Dursley"] # Duplicate entry -df_duplicates <- rbind(df_duplicates, - df_duplicates[df_duplicates$name == "Dudley Dursley", ]) - +df_duplicates <- rbind( + df_duplicates, + df_duplicates[df_duplicates$name == "Dudley Dursley", ] +) ``` @@ -78,14 +85,15 @@ If we look at the data using standard tools, the problems aren't immediately obv ```{r} library(tidyverse) -summarizeFamilies(df_duplicates, - famID = "newFamID", - personID = "personID")$family_summary %>% +summarizeFamilies(df_duplicates, + famID = "newFamID", + personID = "personID" +)$family_summary %>% glimpse() - ``` -This is where `checkIDs` becomes invaluable: +But `checkIDs()` detects the problems clearly: + ```{r} # Identify duplicates @@ -102,9 +110,9 @@ df_duplicates %>% arrange(personID) ``` - Yep, these are definitely the duplicates. + ### Repairing Between-Row Duplicates Some ID issues can be fixed automatically. Let's try the repair option: @@ -124,6 +132,7 @@ print(result) Great! Notice what happened here: the function was able to repair the full duplicate, without any manual intervention. That still leaves us with the sibling ID conflict, but that's a more complex issue that would require manual intervention. We'll leave that for now. +So far we’ve only checked for violations of uniqueness. But do these errors also affect the graph structure? Let's find out. ## Oedipus ID diff --git a/vignettes/validation.html b/vignettes/validation.html index 1ae0d77b..03f976c9 100644 --- a/vignettes/validation.html +++ b/vignettes/validation.html @@ -352,45 +352,53 @@

Introduction

Identifying and Repairing ID Issues

-

The checkIDs() function detects two types of ID -duplication:

+

The checkIDs() function detects two types of common ID +errors in pedigree data:

-

To illustrate checkIDs() in action, we will examine a -clean example using the Potter family dataset.

+

These problems are especially common when merging family records or +processing historical data. Let’s explore how they show up — and what +they imply for downstream structure.

+
+

A Clean Dataset

+

We’ll begin with the Potter family dataset, cleaned and reformatted +with ped2fam():

library(BGmisc)
 
 # Load our example dataset
 df <- ped2fam(potter, famID = "newFamID", personID = "personID")
 
 # Check for ID issues
-result <- checkIDs(df, repair = FALSE)
-print(result)
-#> $all_unique_ids
-#> [1] TRUE
-#> 
-#> $total_non_unique_ids
-#> [1] 0
-#> 
-#> $total_own_father
-#> [1] 0
-#> 
-#> $total_own_mother
-#> [1] 0
-#> 
-#> $total_duplicated_parents
-#> [1] 0
-#> 
-#> $total_within_row_duplicates
-#> [1] 0
-#> 
-#> $within_row_duplicates
-#> [1] FALSE
-

The checkIDs() function checks for:

+checkIDs(df, repair = FALSE) +#> $all_unique_ids +#> [1] TRUE +#> +#> $total_non_unique_ids +#> [1] 0 +#> +#> $total_own_father +#> [1] 0 +#> +#> $total_own_mother +#> [1] 0 +#> +#> $total_duplicated_parents +#> [1] 0 +#> +#> $total_within_row_duplicates +#> [1] 0 +#> +#> $within_row_duplicates +#> [1] FALSE
+

There are no duplicated or self-referential IDs here. But things +rarely stay that simple.

+
+

What checkIDs() Reports

+

The checkIDs() function checks for:

-

As the output shows, there are no duplicates in our sample -dataset.

+

If you set repair = TRUE, the function will attempt to +fix the issues it finds. We’ll explore this later.

+
+

A Tale of Two Duplicates

To understand how these tools work in practice, let’s create a @@ -416,43 +426,45 @@

A Tale of Two Duplicates

give Vernon Dursley the same ID as his sister Marjorie (a common issue when merging family records). Then, we’ll add a complete duplicate of Dudley Dursley (as might happen during data entry).

-

-# Create our problematic dataset
-df_duplicates <- df
-# Sibling ID conflict
-df_duplicates$personID[df_duplicates$name == "Vernon Dursley"] <- 
-  df_duplicates$personID[df_duplicates$name == "Marjorie Dursley"]
-# Duplicate entry
-df_duplicates <- rbind(df_duplicates, 
-                       df_duplicates[df_duplicates$name == "Dudley Dursley", ])
+
# Create our problematic dataset
+df_duplicates <- df
+# Sibling ID conflict
+df_duplicates$personID[df_duplicates$name == "Vernon Dursley"] <-
+  df_duplicates$personID[df_duplicates$name == "Marjorie Dursley"]
+# Duplicate entry
+df_duplicates <- rbind(
+  df_duplicates,
+  df_duplicates[df_duplicates$name == "Dudley Dursley", ]
+)

If we look at the data using standard tools, the problems aren’t immediately obvious:

library(tidyverse)
 
-summarizeFamilies(df_duplicates, 
-                  famID = "newFamID", 
-                  personID = "personID")$family_summary %>% 
-  glimpse()
-#> Rows: 1
-#> Columns: 17
-#> $ newFamID        <dbl> 1
-#> $ count           <int> 37
-#> $ gen_mean        <dbl> 1.756757
-#> $ gen_median      <dbl> 2
-#> $ gen_min         <dbl> 0
-#> $ gen_max         <dbl> 3
-#> $ gen_sd          <dbl> 1.038305
-#> $ spouseID_mean   <dbl> 38.2
-#> $ spouseID_median <dbl> 15
-#> $ spouseID_min    <dbl> 1
-#> $ spouseID_max    <dbl> 106
-#> $ spouseID_sd     <dbl> 44.15118
-#> $ sex_mean        <dbl> 0.5135135
-#> $ sex_median      <dbl> 1
-#> $ sex_min         <dbl> 0
-#> $ sex_max         <dbl> 1
-#> $ sex_sd          <dbl> 0.5067117
-

This is where checkIDs becomes invaluable:

+summarizeFamilies(df_duplicates, + famID = "newFamID", + personID = "personID" +)$family_summary %>% + glimpse() +#> Rows: 1 +#> Columns: 17 +#> $ newFamID <dbl> 1 +#> $ count <int> 37 +#> $ gen_mean <dbl> 1.756757 +#> $ gen_median <dbl> 2 +#> $ gen_min <dbl> 0 +#> $ gen_max <dbl> 3 +#> $ gen_sd <dbl> 1.038305 +#> $ spouseID_mean <dbl> 38.2 +#> $ spouseID_median <dbl> 15 +#> $ spouseID_min <dbl> 1 +#> $ spouseID_max <dbl> 106 +#> $ spouseID_sd <dbl> 44.15118 +#> $ sex_mean <dbl> 0.5135135 +#> $ sex_median <dbl> 1 +#> $ sex_min <dbl> 0 +#> $ sex_max <dbl> 1 +#> $ sex_sd <dbl> 0.5067117
+

But checkIDs() detects the problems clearly:

# Identify duplicates
 result <- checkIDs(df_duplicates)
 print(result)
@@ -531,6 +543,8 @@ 

Repairing Between-Row Duplicates

full duplicate, without any manual intervention. That still leaves us with the sibling ID conflict, but that’s a more complex issue that would require manual intervention. We’ll leave that for now.

+

So far we’ve only checked for violations of uniqueness. But do these +errors also affect the graph structure? Let’s find out.

@@ -620,8 +634,8 @@

Identifying and Repairing Sex Coding Issues

) #> Step 1: Checking how many sexes/genders... #> 2 unique values found. -#> 1 2 unique values found. -#> 0Checks Made: +#> Unique values: 1, 0 +#> Checks Made: #> $sex_unique #> [1] 1 0 #> @@ -666,11 +680,11 @@

Identifying and Repairing Sex Coding Issues

) #> Step 1: Checking how many sexes/genders... #> 2 unique values found. -#> 1 2 unique values found. -#> 0Step 2: Attempting to repair sex coding... +#> Unique values: 1, 0 +#> Step 2: Attempting to repair sex coding... #> Changes Made: #> [[1]] -#> [1] "Recode sex based on most frequent sex in dads: 1. Total gender changes made: 36" +#> [1] "Recode sex based on most frequent sex in dads: 1. Total sex changes made: 36" print(df_fix) #> ID fam name gen momID dadID spID sex #> 1 1 1 Vernon Dursley 1 101 102 3 M