View source: R/umbrella_module_analyse_data.R
1 |
dataset |
|
draw_graph |
|
random_seed |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | ##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
function (dataset, draw_graph = c(TRUE, FALSE), random_seed = c(TRUE,
FALSE))
{
if (isTRUE(random_seed)) {
umbrella::ApplyRandomSeed()
}
else if (isFALSE(random_seed)) {
print(paste("NOTE: Argument 'random_seed' is set to 'FALSE'. Proceeding ",
"with machine default."))
}
else if (missing(random_seed)) {
print(paste("NOTE: Argument 'random_seed' is missing. Proceeding with ",
"machine default."))
}
else {
print("ERROR: An unknown error occurred. Terminating Data Analysis.")
return()
}
if (missing(dataset)) {
print(paste("ERROR: Argument 'dataset' has not been defined. Terminating",
"Data Analysis."))
return()
}
else if (typeof(dataset) == "list") {
print("NOTE: Data is of type 'list'.")
dataset_class <- class(dataset)
dataset_type <- typeof(dataset)
}
else {
print("ERROR: An unknown error occurred. Terminating Data Analysis.")
return()
}
print("NOTE: Validation Complete. No errors encountered.")
if (class(dataset) == "data.frame") {
print(paste("NOTE: Data are 'data.frame' format. Converting to 'igraph'."))
dataset <- igraph::graph_from_adj_list(dataset, mode = "all",
duplicate = FALSE)
print(paste("NOTE: Data have been converted to 'igraph'."))
}
else if (class(dataset) == "igraph") {
print(paste("NOTE: Data are 'igraph' format. No conversion required."))
}
else {
print("ERROR: An unknown error occurred. Terminating Data Analysis.")
return()
}
dataset_edge_count <- igraph::ecount(dataset)
print(paste("NOTE: Data contains a total of", igraph::ecount(dataset),
"connections (edges)."))
dataset_vertex_count = igraph::vcount(dataset)
print(paste("NOTE: Data contains a total of", igraph::vcount(dataset),
"nodes (vertices)."))
if (isTRUE(draw_graph)) {
igraph::plot.igraph(dataset, main = "Network Data Graph",
sub = paste("Umbrella", packageVersion("umbrella")))
}
dataset_transition_matrix <- igraph::stochastic_matrix(dataset,
sparse = TRUE)
analysis_payload <- list(dataset = dataset, dataset_type = dataset_type,
dataset_class = dataset_class, dataset_edge_count = dataset_edge_count,
dataset_vertex_count = dataset_vertex_count, dataset_adjacency_matrix = as_adjacency_matrix(dataset),
dataset_transition_matrix = dataset_transition_matrix)
return(analysis_payload)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.