Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
library(dplyr)
library(tibble)
library(matsbyname)
library(matsindf)
## -----------------------------------------------------------------------------
m <- matrix(c(1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12), nrow = 3, ncol = 4, byrow = TRUE,
dimnames = list(c("duck", "duck", "goose"),
c("John", "Paul", "George", "Ringo")))
m
aggregate_byname(m)
## -----------------------------------------------------------------------------
m
aggregate_byname(m, aggregation_map = list(birds = c("duck", "goose"),
guitarists = c("John", "Paul", "George")))
## -----------------------------------------------------------------------------
m
aggregate_byname(m, aggregation_map = list(Beatles = c("John", "Paul", "George", "Ringo")),
margin = 2)
## -----------------------------------------------------------------------------
m
aggregate_byname(m, aggregation_map = list(guitarists = "^[JPG]"),
margin = 2, pattern_type = "literal")
## -----------------------------------------------------------------------------
m
aggregate_byname(m, aggregation_map = list(birds = c("duck", "goose"),
zguitarists = c("John", "Paul", "George")))
## ----eval=FALSE---------------------------------------------------------------
# # Not run
# aggregate_byname(m, aggregation_map = list(Beatles = c("John", "Paul", "George", "Ringo")))
## -----------------------------------------------------------------------------
m_pieces <- matrix(c(1, 2, 3,
4, 5, 6), nrow = 2, ncol = 3, byrow = TRUE,
dimnames = list(c("Electricity [from Coal]", "Electricity [from Solar]"),
c("Motors -> MD", "Cars -> MD", "LED lamps -> Light")))
m_pieces
## -----------------------------------------------------------------------------
m_pieces
rename_to_piece_byname(m_pieces, piece = "pref", margin = 1,
notation = RCLabels::bracket_notation)
rename_to_piece_byname(m_pieces, piece = "suff", margin = 1,
notation = RCLabels::bracket_notation)
rename_to_piece_byname(m_pieces, piece = "from", margin = 1,
notation = RCLabels::bracket_notation)
rename_to_piece_byname(m_pieces, piece = "pref", margin = 2,
notation = RCLabels::arrow_notation)
rename_to_piece_byname(m_pieces, piece = "suff", margin = 2,
notation = RCLabels::arrow_notation)
## -----------------------------------------------------------------------------
m_pieces
rename_to_piece_byname(m_pieces, piece = "pref", margin = 1)
## -----------------------------------------------------------------------------
rename_to_piece_byname(m_pieces, piece = "pref", margin = c(1, 2))
## -----------------------------------------------------------------------------
rename_to_piece_byname(m_pieces, piece = "pref")
rename_to_piece_byname(m_pieces, piece = "suff")
## -----------------------------------------------------------------------------
rename_to_piece_byname(m_pieces, piece = "suff", choose_most_specific = TRUE)
## -----------------------------------------------------------------------------
rename_to_piece_byname(m_pieces, piece = "noun")
## -----------------------------------------------------------------------------
m_pieces_with_types <- m_pieces %>%
setrowtype("Product") %>% setcoltype("Industry")
m_pieces_with_types
m_pieces_with_types %>%
rename_to_piece_byname(piece = "pref", margin = "Product")
m_pieces_with_types %>%
rename_to_piece_byname(piece = "suff", margin = "Product")
m_pieces_with_types %>%
rename_to_piece_byname(piece = "from", margin = "Product")
m_pieces_with_types %>%
rename_to_piece_byname(piece = "suff", margin = "Product", choose_most_specific = TRUE)
m_pieces_with_types %>%
rename_to_piece_byname(piece = "suff", margin = "Industry")
## -----------------------------------------------------------------------------
m_pieces
# Aggregate Electricity in rows
aggregate_pieces_byname(m_pieces, piece = "pref", margin = 1,
notation = RCLabels::bracket_notation)
# Aggregate useful energy types in columns
aggregate_pieces_byname(m_pieces, piece = "suff", margin = 2,
notation = RCLabels::arrow_notation)
## -----------------------------------------------------------------------------
m_pieces
# Aggregate by original energy type
aggregate_pieces_byname(m_pieces, piece = "from", margin = 1,
notation = RCLabels::bracket_notation,
aggregation_map = list(`All sources` = c("Coal", "Solar")))
aggregate_pieces_byname(m_pieces, piece = "suff", margin = 2,
notation = RCLabels::arrow_notation,
aggregation_map = list(`Transport` = "MD"))
## -----------------------------------------------------------------------------
m_pieces
res <- rename_to_piece_byname(list(m_pieces, m_pieces),
piece = list("pref", "suff"),
margin = list(1, 2),
notation = list(RCLabels::bracket_notation,
RCLabels::arrow_notation))
res
df <- tibble::tibble(mats = list(m_pieces, m_pieces),
pce = list("suff", "pref"),
mgn = list(1, 2),
am = list(list(Sources = c("Coal", "Solar")),
list(Transport = c("Motors", "Cars"))),
notn = list(RCLabels::from_notation, RCLabels::arrow_notation))
df
res2 <- df %>%
dplyr::mutate(
aggregated = aggregate_pieces_byname(mats, piece = pce, margin = mgn,
aggregation_map = am, notation = notn)
)
res2
res2$aggregated[[1]]
res2$aggregated[[2]]
## -----------------------------------------------------------------------------
df_simple <- tibble::tribble(~key, ~val,
"A", 1,
"A", 2,
"B", 10)
df_simple
df_simple %>%
dplyr::group_by(key) %>%
dplyr::summarise(val = sum(val))
## -----------------------------------------------------------------------------
# 2 rows are expected. 3 are observed.
df_simple %>%
dplyr::group_by(key) %>%
dplyr::summarise(val = sum_byname(val), .groups = "drop")
## -----------------------------------------------------------------------------
res <- df_simple %>%
dplyr::group_by(key) %>%
dplyr::summarise(val = sum_byname(val, .summarise = TRUE))
# res$val is a list column.
res
res$val
## -----------------------------------------------------------------------------
m <- matrix(c(11, 12, 13,
21, 22, 23), nrow = 2, ncol = 3, byrow = TRUE,
dimnames = list(c("r1", "r2"), c("c1", "c2", "c3")))
df <- tibble::tibble(key = c("A", "A", "B"), m = list(m, m, m))
unexpected <- df %>%
dplyr::group_by(key) %>%
dplyr::summarise(m = sum_byname(m), .groups = "drop")
# 2 rows are expected. 3 are observed.
unexpected
res <- df %>%
dplyr::group_by(key) %>%
dplyr::summarise(m = sum_byname(m, .summarise = TRUE))
res
res$m[[1]]
res$m[[2]]
## -----------------------------------------------------------------------------
df <- tibble::tribble(~member, ~role, ~band,
"John", "guitarists", "The Beatles",
"Paul", "guitarists", "The Beatles",
"George", "guitarists", "The Beatles",
"Ringo", "drummers", "The Beatles",
"Mick", "singers", "Rolling Stones",
"Keith", "guitarists", "Rolling Stones",
"Ronnie", "guitarists", "Rolling Stones",
"Bill", "guitarists", "Rolling Stones",
"Charlie", "drummers", "Rolling Stones")
df
bands_membs_agg_map <- agg_table_to_agg_map(df, few_colname = "band", many_colname = "member")
bands_membs_agg_map
agg_table_to_agg_map(df, few_colname = "role", many_colname = "member")
## -----------------------------------------------------------------------------
agg_map_to_agg_table(bands_membs_agg_map,
few_colname = "bands",
many_colname = "members")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.