У меня есть следующий Dataframe в R:
structure(list(seq = c("-", "FRD", "FHL", "ABC", "DEF", "XYZ",
"ZZZ", "CXY"), count1 = c(969, 324, 11, 161, 185, 79, 231, 9
), seq_perc = c("49.21%", "16.46%", "0.56%", "8.18%", "9.4%",
"4.01%", "11.73%", "0.46%"), marking = c("S2", "", "S1", "NA",
"Hold", "-", "-", "-"), marking_counter = c("1708", "215",
"35", "9", "2", "-", "-", "-"), Percentage2 = c("86.74%", "10.92%",
"1.78%", "0.46%", "0.1%", "-", "-", "-"), batch_no = c("6", "7",
"-", "-", "-", "-", "-", "-"), batch_no_counter = c("1717", "200",
"52", "-", "-", "-", "-", "-"), Percentage3 = c("87.2%", "10.16%",
"2.64%", "-", "-", "-", "-", "-")), .Names = c("seq", "count1",
"seq_perc", "marking", "marking_counter", "Percentage2", "batch_no",
"batch_no_counter", "Percentage3"), row.names = c("1", "9", "14",
"20", "22", "37", "46", "338"), class = "data.frame")
Я использую нижеприведенный код для преобразования кадра данных в HTML табличный формат, который можно использовать для прикрепления в теле письма с использованием mailR
библиотека.
Я получаю сообщение об ошибке типа Error in sass_options() : could not find function "strrep"
. Также иногда получаю ошибку Error: could not find function "gtsave"
library(gt)
library(tibble)
library(gt)
library(stringr)
library(dplyr)
test1 <- expression(marking == "Hold" & as.numeric(str_remove(Percentage2, "%")) > 25.00)
test2 <- expression(batch_no == "8" & as.numeric(str_remove(Percentage3, "%")) > 25.00)
test3 <- expression(marking == "S3" & batch_no == "9")
newtab <-
dataframe %>%
mutate(marking = ifelse(eval(test3), paste0(marking, " (In progress)"), marking)) %>%
gt() %>%
tab_style(style = list(cell_fill(color = "lightgreen"),
cell_text(weight = "bold")),
locations = cells_column_labels(columns = 1:9)) %>%
tab_style(style = list(cell_fill(color = "yellow"),
cell_text(weight = "bold")),
locations = cells_body(columns = 1:9, rows = nrow(dataframe))) %>%
tab_style(style = list(cell_fill(color = "red"),
cell_text(color = "white", weight = "bold")),
locations = cells_body(columns = c("marking", "Percentage2"),
rows = eval(test1))) %>%
tab_style(style = list(cell_fill(color = "red"),
cell_text(color = "white", weight = "bold")),
locations = cells_body(columns = c("batch_no", "Percentage3"),
rows = eval(test2))) %>%
tab_style(style = list(cell_text(size = px(2))),
locations = cells_body(columns = c("marking"),
rows = str_detect(string = marking, pattern = "progress")))
gtsave(newtab, file = "gttable.html")