Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rmd kable不';如果一个表是空的,我怎么能跳过这个表,仍然用其他表生成HTML,这些表是';你没有空吗?_R_R Markdown_Knitr_Kable - Fatal编程技术网

Rmd kable不';如果一个表是空的,我怎么能跳过这个表,仍然用其他表生成HTML,这些表是';你没有空吗?

Rmd kable不';如果一个表是空的,我怎么能跳过这个表,仍然用其他表生成HTML,这些表是';你没有空吗?,r,r-markdown,knitr,kable,R,R Markdown,Knitr,Kable,我使用rmd创建了一份周报。 该脚本导入多个excel表,并使用kable将它们放在一个HTML中。 excel表格每周都不同。有些总是充满数据,但有些(在示例中是Promos one)有时是空的。它是存在的,因为它是自动生成的,但如果该周没有任何促销活动,它只包含标题行。 在该表为空的几周内,我会收到错误消息,并且不会生成HTML。 如果我手动填写促销表并重试,HTML就会出现 如果表是空的,我怎么写代码呢?脚本应该跳过这一个,但仍然用其余的生成HTML 错误消息如下: Fehler in x

我使用rmd创建了一份周报。 该脚本导入多个excel表,并使用kable将它们放在一个HTML中。 excel表格每周都不同。有些总是充满数据,但有些(在示例中是Promos one)有时是空的。它是存在的,因为它是自动生成的,但如果该周没有任何促销活动,它只包含标题行。 在该表为空的几周内,我会收到错误消息,并且不会生成HTML。 如果我手动填写促销表并重试,HTML就会出现

如果表是空的,我怎么写代码呢?脚本应该跳过这一个,但仍然用其余的生成HTML

错误消息如下:

Fehler in xml_children(x)[[search]]: Indizierung außerhalb der Grenzen Ruft auf: <Anonymous> ... <Anonymous> -> column_spec -> column_spec_html -> xml_child
xml中的Fehler_children(x)[[search]]:Indizierung außerhalb der Grenzen Ruft auf:…->列\u规范->列\u规范\u html->xml\u子项
我的代码如下所示:

```
All <- read_excel("Path/All.xlsx")
Promos <- read_excel("Path/Promos.xlsx") 
```

###All
```{r, message = FALSE, echo=FALSE}
kable(All, escape = F, format = "html", booktabs = T) %>%
kable_classic(full_width = F, html_font = "Cambria", position = "left") %>%
kable_styling(latex_options = "striped", position = "left")%>%
row_spec(0, bold = T, background = "yellow") %>%
  column_spec(3, bold = T)
```

###Promos
```{r, message = FALSE, echo=FALSE}
kable(Promos, escape = F, format = "html", booktabs = T) %>%
kable_classic(full_width = F, html_font = "Cambria", position = "left") %>%
kable_styling(latex_options = "striped", position = "left")%>%
row_spec(0, bold = T, background = "yellow") %>%
  column_spec(3, bold = T)
```
```
全部%
kable_样式(latex_options=“striped”,position=“left”)%>%
行规格(0,粗体=T,背景=“黄色”)%>%
列规格(3,粗体=T)
```
###宣传片
```{r,message=FALSE,echo=FALSE}
kable(宣传片,escape=F,format=“html”,booktabs=T)%>%
kable_classic(全宽=F,html_font=“Cambria”,position=“left”)%%>%
kable_样式(latex_options=“striped”,position=“left”)%>%
行规格(0,粗体=T,背景=“黄色”)%>%
列规格(3,粗体=T)
```

最好将我们可以运行的示例放在一起。然后我们就能明白“空”是什么意思了。如果它仍然是一个数据帧,但没有行,请使用
If(nrow(Promos)>0)kable(…)%%>%…
。如果它是一个
NULL
,请使用
If(!is.NULL(Promos))kable(…)%%>%…
。谢谢,这很有效!