#r #ggplot2 #shiny
#r #ggplot2 #блестящий
Вопрос:
Я обнаружил, что при запуске блестящего документа обычный «не блестящий» ggplot не может отображаться, если мы назовем блок, отображающий его (см. Код ниже). Я, конечно, могу оставить все «не блестящие» фрагменты ggplot без имен, но это будет раздражать код, если блестящий документ длинный и содержит много «не блестящих» ggplots.
Таким образом, мне интересно, есть ли способ, чтобы мы могли назвать все фрагменты, независимо от того, является ли это блестящим или «не блестящим» графиком.
Спасибо!
---
title: ""
author: ""
date: ""
runtime: shiny
output:
html_document:
fig_height: 3
fig_width: 6
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(collapse=TRUE, prompt=TRUE, eval=TRUE, message=F,include=T,comment=NULL, echo=TRUE)
```
```{r problematic chunk}
#HAS NAME FOR THIS CHUNK! CANNOT DISPLAY
library(ggplot2)
library(dplyr)
library(babynames)
head(babynames)
#Let's do male David (and alternative spelling: Dave, Davis, Davi) line plot
babynames %>% filter(name %in% c("David","Dave","Davis","Davi"),sex=="M") %>%
ggplot(aes(x=year)) geom_line(aes(y=n, color=name))
xlab("Year") ylab("Count") ggtitle("Distribution of these four male 'David-like' names over years")
```
```{r}
#NO NAME FOR THIS CHUNK! NO Problem displaying
library(ggplot2)
library(dplyr)
library(babynames)
head(babynames)
#Let's do male David (and alternative spelling: Dave, Davis, Davi) line plot
babynames %>% filter(name %in% c("David","Dave","Davis","Davi"),sex=="M") %>%
ggplot(aes(x=year)) geom_line(aes(y=n, color=name))
xlab("Year") ylab("Count") ggtitle("Distribution of these four male 'David-like' names over years")
```
```{r Shiny No problem}
library(mosaicData)
head(Galton)
inputPanel(
checkboxInput("color_or_not",label="Color by sex?",value = FALSE, width = NULL)
)
renderPlot({
if(input$color_or_not)
{
ggplot(Galton,aes(x=father,y=height,color=sex)) geom_point()
xlab("Father's height") ylab("Person's height") ggtitle("Person's height against father's height conditioned on sex")}
else{
ggplot(Galton,aes(x=father,y=height)) geom_point()
xlab("Father's height") ylab("Person's height") ggtitle("Person's height against father's height")
}
})
```
Комментарии:
1. Работает ли это, если вы измените имя блока на строку без пробелов, например,
problematic_chunk
?2. Ах, да! Это действительно работает! Итак, теперь, по крайней мере, мы можем назвать его, но это все еще немного раздражает, поскольку мы можем использовать только одну строку без пробела в имени ?…