Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.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
条件标题标题取决于代码块R标记的输出_R_R Markdown_Kable - Fatal编程技术网

条件标题标题取决于代码块R标记的输出

条件标题标题取决于代码块R标记的输出,r,r-markdown,kable,R,R Markdown,Kable,我知道以前有人问过这个问题,但我仍然在努力找到一个与我的例子相符的答案。基本上,我有一个代码块,它读取数据帧的行数。如果数据框中有任何行,它将使用kable()输出一个表。如果有零行,则不输出表 当输出表格时,我希望表格上方有一个标题(只是粗体文本,即“我的表格”)。当没有表格输出时,我不需要标题。我怎样才能做到这一点?我曾尝试在r设置块中使用eval语句,如print\u option,但没有成功。下面是精简的伪代码: ```{r warning = FALSE, echo = FALSE,

我知道以前有人问过这个问题,但我仍然在努力找到一个与我的例子相符的答案。基本上,我有一个代码块,它读取数据帧的行数。如果数据框中有任何行,它将使用
kable()
输出一个表。如果有零行,则不输出表

当输出表格时,我希望表格上方有一个标题(只是粗体文本,即
“我的表格”
)。当没有表格输出时,我不需要标题。我怎样才能做到这一点?我曾尝试在r设置块中使用eval语句,如
print\u option
,但没有成功。下面是精简的伪代码:

```{r warning = FALSE, echo = FALSE, fig.height=10, fig.width=6}
    
    #Existing data frame my_df

   numRows <- nrow(my_df)

   if (numRows>0) {

       #Print table 
       my_df %>%
       arrange(my_field)%>%
       kable() %>%  kable_styling(bootstrap_options = "striped","condensed", font_size = 12)

   }


```
`{r warning=FALSE,echo=FALSE,fig.height=10,fig.width=6}
#现有数据帧my_df
numRows(0){
#打印表
我的_df%>%
排列(我的_字段)%>%
kable()%%>%kable\u样式(引导\u options=“条带化”、“浓缩”,font\u size=12)
}
```

我对iris数据集进行了最小的更改以实现您的代码,它可以按照您的意愿工作

没有行(也没有标题)
`{r warning=FALSE,echo=FALSE,fig.height=10,fig.width=6}
图书馆(dplyr)
图书馆(kableExtra)
#现有数据帧my_df
我的_df 0){
#打印表
我的_df%>%
排列(种类)%>%
kable()%>%
kable_样式(bootstrap_options=“条带化”、“浓缩”,font_size=12)
}
```
带数据(和表头)
`{r warning=FALSE,echo=FALSE,fig.height=10,fig.width=6}
图书馆(dplyr)
图书馆(kableExtra)
#现有数据帧my_df
我的_df 0){
#打印表
我的_df%>%
排列(种类)%>%
kable()%>%
kable_样式(bootstrap_options=“条带化”、“浓缩”,font_size=12)
}
```

您当前的解决方案是否适用于例如iris数据集?谢谢您的回答,您的代码确实有效,但我已经编辑了我的问题,因为我问的问题不对。对不起!使用现有代码得到的当前输出是什么?啊,我问错了。我的意思是表格标题-标题-而不是标题。很抱歉现在编辑帖子。我根据你编辑的问题更新了答案,注入了以下内容:
r if(numRows>0){“##这是你用markdown写的标题”}
da11an,这很有效,我已经接受了你的答案,谢谢。但它仍然不适用于我的略为复杂的真实示例,我已将其发布在这里:请随意查看并提供答案:
```{r warning = FALSE, echo = FALSE, fig.height=10, fig.width=6}
library(dplyr)
library(kableExtra)

#Existing data frame my_df
my_df <- iris[NULL, ]
numRows <- nrow(my_df)
```

`r  if (numRows > 0) {"## This is your heading written in markdown"}`

```{r warning = FALSE, echo = FALSE, fig.height=10, fig.width=6}
if (numRows>0) {
  #Print table 
  my_df %>%
    arrange(Species) %>%
    kable() %>%
    kable_styling(bootstrap_options = "striped","condensed", font_size = 12)
}
```
```{r warning = FALSE, echo = FALSE, fig.height=10, fig.width=6}
library(dplyr)
library(kableExtra)

#Existing data frame my_df
my_df <- iris[1:10, ]
numRows <- nrow(my_df)
```

`r  if (numRows > 0) {"## This is your heading written in markdown"}`

```{r warning = FALSE, echo = FALSE, fig.height=10, fig.width=6}
if (numRows>0) {
  #Print table 
  my_df %>%
    arrange(Species) %>%
    kable() %>%
    kable_styling(bootstrap_options = "striped","condensed", font_size = 12)
}
```