Nothing
## -----------------------------------------------------------------------------
library(tidyxl)
x <- xlex("MIN(3,MAX(2,A1))")
x
## ----out.width = "850px", include = FALSE-------------------------------------
knitr::include_graphics("enron-constants.png")
## -----------------------------------------------------------------------------
library(dplyr)
library(tidyr)
library(purrr)
library(ggplot2)
# The original filename was "barry_tycholiz__848__2002 Plan Worksheet CC107322.xlsx"
sheet <- tidy_xlsx(system.file("extdata/enron-constants.xlsx",
package = "tidyxl"),
"Detail Breakdown")$data[[1]]
sheet$formula[22]
xlex(sheet$formula[22])
## -----------------------------------------------------------------------------
tokens <-
sheet %>%
filter(!is.na(formula)) %>%
select(row, col, formula) %>%
mutate(tokens = map(formula, xlex)) %>%
select(-formula)
tokens
## -----------------------------------------------------------------------------
constants <-
tokens %>%
unnest(tokens) %>%
filter(type %in% c("error", "bool", "number", "text"))
constants
## -----------------------------------------------------------------------------
constants %>%
count(token, sort = TRUE) %>%
print(n = Inf)
## -----------------------------------------------------------------------------
has_constants <-
constants %>%
distinct(row, col) %>%
mutate(has_constant = TRUE) %>%
right_join(sheet, by = c("row", "col")) %>%
filter(!is_blank) %>%
select(row, col, has_constant) %>%
replace_na(list(has_constant = FALSE))
has_constants
has_constants %>%
# filter(row <= 28) %>%
ggplot(aes(col, row, fill = has_constant)) +
geom_tile() +
scale_y_reverse() +
theme(legend.position = "top")
## -----------------------------------------------------------------------------
xlex("MAX(3,MIN(2,4))")
## -----------------------------------------------------------------------------
# The original filename was "albert_meyers__1__1-25act.xlsx"
sheet <- tidy_xlsx(system.file("extdata/enron-nested.xlsx",
package = "tidyxl"),
"Preschedule")$data[[1]]
deepest <-
sheet %>%
filter(!is.na(formula)) %>%
mutate(tokens = map(formula, xlex)) %>%
select(row, col, tokens) %>%
unnest(tokens) %>%
filter(level == max(level)) %>%
distinct(row, col, level)
deepest
## -----------------------------------------------------------------------------
sheet %>%
filter(row == 171, col == 2) %>%
pull(formula) # Aaaaaaaaaaarghhhhhhhh!
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.