enhead | R Documentation |
Data cells in a table are associated with header cells by proximity.
enhead()
joins a data frame of data cells to a data frame of header cells,
choosing the nearest header cells in the given direction. See ?direction
.
enhead(data_cells, header_cells, direction, drop = TRUE)
data_cells |
Data frame of data cells with at least the columns 'row'
and 'column', which are |
header_cells |
Data frame of header cells with at least the columns 'row' and 'column', which are numeric/integer vectors. |
direction |
The direction between a data cell and its header, one of
|
drop |
Logical vector length 1. Whether data cells that can't be
associated with a header should be dropped. Default: |
library(dplyr) # Load some pivoted data (x <- purpose$`up-left left-up`) # Make a tidy representation cells <- as_cells(x) cells <- cells[!is.na(cells$chr), ] head(cells) # Select the cells containing the values data_cells <- filter(cells, row >= 3, col >= 3) %>% transmute(row, col, count = as.integer(chr)) head(data_cells) # Select the headers qualification <- filter(cells, col == 1) %>% select(row, col, qualification = chr) age <- filter(cells, col == 2) %>% select(row, col, age = chr) gender <- filter(cells, row == 1) %>% select(row, col, gender = chr) satisfaction <- filter(cells, row == 2) %>% select(row, col, satisfaction = chr) # From each data cell, search for the nearest one of each of the headers data_cells %>% enhead(gender, "up-left") %>% enhead(satisfaction, "up") %>% enhead(qualification, "left-up") %>% enhead(age, "left") %>% select(-row, -col) # The `drop` argument controls what happens when for some cells there is no # header in the given direction. When `drop = TRUE` (the default), cells that # can't be joined to a header are dropped. Otherwise they are kept. enhead(data_cells, gender, "up") enhead(data_cells, gender, "up", drop = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.