我在这里没有提供可复制的示例,因为我的代码有点麻烦并且涉及一些专有数据,但是我只是想了解这种情况下可能发生的情况。
我用静态数据在Rstudio中制作了一个.Rmd仪表板,每次运行它时,它都会在两个不同的输出之间来回切换,它应该会生成2页,每个页面都有2个可绘制的图形和一些文本。
按下编织按钮一次,我将得到以下结果:
第1页:
图1_a:作品
图2_a:作品
文字:有效
第2页:
图1_b:作品
图2_a:尝试打印完全相同的东西,但是它坏了!
文字:作品
然后,如果我再按一次编织,我会得到:
第1页:
图1_a:作品
图2_a:之前第2页上的碎东西!
文字:有效
第2页:
图表1_b:空白
图2_a:空白
文字:作品
每次单击编织时,我都认为它会根据这两个结果来回切换,尽管我可能重复了几次。我对什么可能导致这种情况感到不知所措。我读了一些有关Rmarkdown如何进行缓存的内容,也许这只是我的头绪,但我不太明白如何解释它。我从哪里开始甚至可以解决此问题?我应该看或尝试些什么?我从未在编码中遇到过类似的事情。
这里有一些基本代码,以防万一它有用(由于markdown是SO的语言,我在代码中的前面加了4个空格,使其在此处显示为代码)。再一次,我不是要提供一个真实的,可重复的答案,我主要是在询问如何看待该问题或可能导致这种情况的总体原因。
---
title: "title"
output:
flexdashboard::flex_dashboard:
orientation: rows
---
```{r setup, include=FALSE}
library(data.table)
library(lubridate)
library(plotly)
analysis_time <- ymd_hms(paste('2019','02', '22', '22', '00', '00'), tz = 'America/New_York')
data_5 <- readRDS('intermed/data_5')
analyze_time_function <- function(analysis_time, function_data = data_5) {
#do stuff to produce graphs
list(graph1, graph2, graph3, graph4, information_table)
}
graph_list <- analyze_time_function(analysis_time)
```
Page 1
=====================================
Row
-------------------------------------
### Chart 1a
```{r}
graph_list <- analyze_time_function(analysis_time)
graph_list[[2]] %>%
layout(title = "graph title...")
```
Row
-------------------------------------
### Chart 2a
```{r}
graph_list[[1]] %>%
layout(title = "graph title...")
```
### text_a
```{r}
#print the information
graph_list[[5]]
```
Page 2
=====================================
Row
-------------------------------------
### Chart 1b
```{r}
graph_list[[4]] %>%
layout(title = "graph title")
```
Row
-------------------------------------
### Chart 2a
```{r}
graph_list[[1]] %>%
layout(title = "graph title...")
```
### text_b
```{r}
print('this is where stuff goes that we want to print')