У меня есть датафрейм, что-то вроде этого
test <-
data.frame(
product = c("car", "phone", "car", "computer"),
country = c("us", "us", "uk", "world"),
price = c(12, 44, 87, 78)
)
Я называю документ уценки вот так
rmarkdown::render(
input = "sale_template.Rmd",
params = list(
test= test
),
output_file = format(month, "%Y-%m-%d")
)
. Чего я хотел бы добиться:
- фильтровать данные по продукту
- создать сводку для каждого типа продукта (создать новую строку с текстом продукта "итого", столбцами суммы в цене и другие столбцы)
укажите значение продукта в качестве заголовка блока
телефон
datatable(
params$test,
rownames = F,
options = list(
pageLength = 99,
dom = "t",
columnDefs = list(list(className = "dt-center", targets = "_all")),
ordering = F
))
телефон
datatable(
params$test,
rownames = F,
options = list(
pageLength = 99,
dom = "t",
columnDefs = list(list(className = "dt-center", targets = "_all")),
ordering = F
))
Пожалуйста, имейте в виду, что в моем столбце продуктов есть десятки различных значений, которые нельзя отфильтровать вручную.
Для аналогичных, но с графиками ggplot, я использую это.
plotlist <- split(sales, sales$month)
plotlist <- lapply(plotlist, function(df){
ggplot(df, aes(x = month, y = type, fill = type)) +
geom_col(position = "dodge")
})
## Month 1
```{r}
print(plotlist[[1]])
```
## Month 2
```{r}
print(plotlist[[2]])
```
Но я не знаю, как вызывать мои кадры данных с неизвестной длиной / длиной списка в mardkown и использовать функцию данных.