Error in CPL_read_ogr: Open failed.

Dear all,

I made an app with Rmarkdown, Shiny and used the packages sf, dplyr and ggplot. When I run it locally it works, however trying to upload it I got the following log error:

2018-12-16T21:05:05.824584+00:00 shinyapps[618088]: Warning: Error in CPL_read_ogr: Open failed.
2018-12-16T21:05:05.824586+00:00 shinyapps[618088]: 
2018-12-16T21:05:05.830258+00:00 shinyapps[618088]: Stack trace (innermost first):
2018-12-16T21:05:05.830260+00:00 shinyapps[618088]:     133: <Anonymous>
2018-12-16T21:05:05.830262+00:00 shinyapps[618088]:     132: stop
2018-12-16T21:05:05.830263+00:00 shinyapps[618088]:     131: CPL_read_ogr
2018-12-16T21:05:05.830264+00:00 shinyapps[618088]:     130: st_read.character
2018-12-16T21:05:05.830265+00:00 shinyapps[618088]:     129: sf::st_read

Could it be that the app isn't working on shinyapp.io due to not being able to retrieve information from the .dpf, .prj and .shx that go with running a .shp file?

Here I post my complete code because I unfortunately do not have an idea where it is going wrong.

---
title: "**Neigbourhoods in numbers | Haarlem**"
Author: Tobias Brils
runtime: shiny
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
    source_code: embed
    theme: bootstrap
    logo: haarlem.png
    
---

<style type="text/css">                     
body{ /* Normal  */ 
      font-size: 14px;
      font-family: "Helvetica";
        color: black;
}
.navbar-brand {
color:#6699CC!important;
}
code.r{ /* Code block */ 
    font-size: 14px;
    font-family: "Helvetica"; 
    color: #6699CC!important;
} 
</style>      

```{r include=FALSE} 

### Library and data ----

library(dplyr)
library(ggplot2)
library(tidyr)
library(scales)
library(gridExtra)
library(shiny)
library(forcats)
options(digits = 2)

#Data----

Shb1678 <- read.csv("Wijken1.csv")

Shb1678$Jaar <- as.character(Shb1678$Jaar)

```

```{r include=FALSE}

foreign::read.dbf("wijkPolygon.dbf")


Haarlem <- sf::st_read("wijkPolygon.shp")
#Creating a reactive map that shows the selected neighborhood (which is called wijk in Dutch) according to the selectizeInput() further down the script.

WIJK1 <- reactive ({
        Haarlem %>% filter(name == input$Wijk1)
})

WIJK2 <- reactive ({
        Haarlem %>% filter(name == input$Wijk2)
})

```

Sidebar {.sidebar}
======================================================================

```{r}
##Creating the selection boxes

name = Haarlem$name %>% as.factor()
selectizeInput("Wijk1", "Choose neigbourhood", name, selected = "Ter Kleefkwartier")

name = Haarlem$name %>% as.factor()
selectizeInput("Wijk2", "Choose neigbourhood", name, selected = "Boerhaavewijk")

```

```{r}

#Creating a reactive map that shows the selected neighbourhood (wijk) according to the selectizeInput() further down the script.

renderPlot({

       p <- Haarlem %>%
        ggplot() + 
        geom_sf(aes(fill = name), colour = "White", fill = "#99CCFF") +
        xlab("") +
        ylab("") +
        theme_minimal() + theme(axis.title.x=element_blank(),
                               axis.text = element_blank())
       
        p + geom_sf(data= WIJK1(), 
        aes(fill = name), colour = "#0066FF", fill = "#336699") + ##"#336699", "#6699CC" #99CC00
        geom_sf_text(data= WIJK1(), aes(label = name)) +
        geom_sf(data= WIJK2(), 
                aes(fill = name), colour = "#0066FF", fill = "#6699CC") + ##CC99CC
        geom_sf_text(data= WIJK2(), aes(label = name))
         
})
```

Migration background {.tabset}
======================================================================

Migration background
-----------------------------------------------------------------------

### % of people with a migration or native background in <span style="color:black;font-weight:bold">`r renderText(input$Wijk1)`</span> {#foo}

```{r}
###Slachthuiswijk afkomst data ------

pie.background <- reactive({ 
        
        Shb1678 %>% filter(Wijken %in% input$Wijk1) %>%
        filter(Jaar==max(Jaar)) %>%
        filter(X == 2) %>% ## filter op stads en wijkniveau
        group_by(WijkenEnBuurten) %>% ## grouperen op stad en wijk om percentage te berekenen
        mutate(Nederlands = AantalInwoners - (WestersTotaal +
                                                      NietWestersTotaal)) %>% ##mensen met een nederlandse achtergrond berekenen
        select(WijkenEnBuurten,
               WestersTotaal,
               NietWestersTotaal,
               Marokko, 
               NederlandseAntillenEnAruba,
               Suriname,
               Turkije,
               OverigNietWesters,
               Nederlands) %>% ## De variabelen selecteren voor de subset van data
        gather(Populatie, 
               Aantal, 
               WestersTotaal:OverigNietWesters, Nederlands, -WijkenEnBuurten,
               factor_key = T) %>% ## De data subset (als een pivot tabel)
        group_by(WijkenEnBuurten) %>%
        mutate(Achtergrond = case_when(
                Populatie == "WestersTotaal" ~ "Migrantion background",
                Populatie == "NietWestersTotaal" ~ "Migrantion background",
                Populatie == "Nederlands" ~ "Native background")) %>%
                select(-Populatie) %>% ## populatie droppen, niet nodig
        group_by(WijkenEnBuurten, Achtergrond) %>% ##grouperen voor de som
        filter(Achtergrond %in% c("Migrantion background", "Native background")) %>%
        summarise_all(sum) %>% ## som nederlandse en mensen met migranten achtergrond
        mutate(Percentage = Aantal / sum(Aantal) *100) %>% ## percentage berekenen
        ggplot(aes(x="", y= Percentage, fill= Achtergrond, label = Achtergrond)) +
        geom_bar(width = 1, stat = "identity") + coord_polar("y", start=0) + 
        theme_void() + scale_fill_manual(values=c("#99CCFF", "#6699CC")) +
        theme(plot.title = element_text(hjust = 0.5)) +
        geom_label(aes(label=sprintf("%0.2f%%", Percentage)),
                   position = position_stack(vjust = 0.5)) +
        xlab("") +
        ylab("") +
        labs(fill = "", caption = "Year of measurement: 2018")
        
})

## afkomst taart ========

renderPlot({
      pie.background()  
})
```

### % of migrant population per country of descent in <span style="color:black;font-weight:bold">`r renderText(input$Wijk1)`</span> {#foo}

```{r}
###Slachthuiswijk afkomst data ------

bar.background <- reactive({ 
        
        Shb1678 %>% filter(Wijken %in% input$Wijk1) %>%
        filter(Jaar == max(Jaar)) %>%
        filter(X == 2) %>% ## filter op stads en wijkniveau
        mutate(Nederlands = AantalInwoners - (WestersTotaal +
                                                      NietWestersTotaal)) %>% ##mensen met een nederlandse achtergrond berekenen
        select(WijkenEnBuurten,
               WestersTotaal,
               NietWestersTotaal,
               Marokko, 
               NederlandseAntillenEnAruba,
               Suriname,
               Turkije,
               OverigNietWesters,
               Nederlands) %>% ## De variabelen selecteren voor de subset van data
        gather(Populatie, 
               Aantal, 
               WestersTotaal:OverigNietWesters, Nederlands, -WijkenEnBuurten,
               factor_key = T) %>% ## De data subset (als een pivot tabel)
                mutate(Populatie = fct_recode(Populatie, 
                              "Western" = "WestersTotaal",
                              "Non western" = "NietWestersTotaal",
                              "Moroccan" = "Marokko",
                              "Antillean & Aruban" = "NederlandseAntillenEnAruba",
                              "Surinamese" = "Suriname",
                              "Turkish" = "Turkije",
                              "Other non-western" = "OverigNietWesters",
                              "Dutch" = "Nederlands")) %>%

                filter(Populatie %in% c("Western",
                                "Moroccan",
                                "Antillean & Aruban",
                                "Surinamese",
                                "Turkish",
                                "Other non-western")) %>%
        mutate(Percentage = Aantal / sum(Aantal)) %>%
        ggplot(aes(x= reorder(Populatie, -Percentage),
                   y=Percentage, colour = Populatie)) +
        geom_bar(stat="identity",
                 colour = "White",
                 fill = "#99CCFF") + ###99CC00 ###99CCFF ###99CC99 ##CC99CC ###990000 ###00CC99 ###000033
        coord_flip() +
        theme_minimal() +
        theme(legend.position = "none") +
        ggtitle("") +
        xlab("") +
        ylab("") +
        scale_y_continuous(labels= percent)

})

## afkomst taart ========

renderPlot({
      bar.background()  
        
})
```

Migratie Achtergrond
-----------------------------------------------------------------------

### % population with migration or native background in <span style="color:black;font-weight:bold">`r renderText(input$Wijk2)`</span> {#foo}

```{r}
###Slachthuiswijk afkomst data ------

pie.background2 <- reactive({ 
        
        Shb1678 %>% filter(Wijken %in% input$Wijk2) %>%
        filter(Jaar==max(Jaar)) %>%
        filter(X < 3) %>% ## filter op stads en wijkniveau
        group_by(WijkenEnBuurten) %>% ## grouperen op stad en wijk om percentage te berekenen
        mutate(Nederlands = AantalInwoners - (WestersTotaal +
                                                      NietWestersTotaal)) %>% ##mensen met een nederlandse achtergrond berekenen
        select(WijkenEnBuurten,
               WestersTotaal,
               NietWestersTotaal,
               Marokko, 
               NederlandseAntillenEnAruba,
               Suriname,
               Turkije,
               OverigNietWesters,
               Nederlands) %>% ## De variabelen selecteren voor de subset van data
        gather(Populatie, 
               Aantal, 
               WestersTotaal:OverigNietWesters, Nederlands, -WijkenEnBuurten,
               factor_key = T) %>% ## De data subset (als een pivot tabel)
        group_by(WijkenEnBuurten) %>%
        mutate(Achtergrond = case_when(
                Populatie == "WestersTotaal" ~ "Migrantion background",
                Populatie == "NietWestersTotaal" ~ "Migrantion background",
                Populatie == "Nederlands" ~ "Native background")) %>%
                select(-Populatie) %>% ## populatie droppen, niet nodig
        group_by(WijkenEnBuurten, Achtergrond) %>% ##grouperen voor de som
        filter(Achtergrond %in% c("Migrantion background", "Native background")) %>%
        summarise_all(sum) %>% ## som nederlandse en mensen met migranten achtergrond
        mutate(Percentage = Aantal / sum(Aantal) *100) %>% ## percentage berekenen
        ggplot(aes(x="", y= Percentage, fill= Achtergrond, label = Achtergrond)) +
        geom_bar(width = 1, stat = "identity") + coord_polar("y", start=0) + 
        theme_void() + scale_fill_manual(values=c("#99CCFF", "#6699CC")) +
        theme(plot.title = element_text(hjust = 0.5)) +
        geom_label(aes(label=sprintf("%0.2f%%", Percentage)),
                   position = position_stack(vjust = 0.5)) +
        xlab("") +
        ylab("") +
        labs(fill = "", caption = "Year of measurement: 2018")

        
})

## afkomst taart ========

renderPlot({
      pie.background2()  
})
```

###  % of migrant population per country of descent in <span style="color:black;font-weight:bold">`r renderText(input$Wijk2)`</span> {#foo}

```{r}
###Slachthuiswijk afkomst data ------

bar.background2 <- reactive({ 
        
        Shb1678 %>% filter(Wijken %in% input$Wijk2) %>%
        filter(Jaar == max(Jaar)) %>%
        filter(X < 3) %>% ## filter op stads en wijkniveau
        mutate(Nederlands = AantalInwoners - (WestersTotaal +
                                                      NietWestersTotaal)) %>% ##mensen met een nederlandse achtergrond berekenen
        select(WijkenEnBuurten,
               WestersTotaal,
               NietWestersTotaal,
               Marokko, 
               NederlandseAntillenEnAruba,
               Suriname,
               Turkije,
               OverigNietWesters,
               Nederlands) %>% ## De variabelen selecteren voor de subset van data
        gather(Populatie, 
               Aantal, 
               WestersTotaal:OverigNietWesters, Nederlands, -WijkenEnBuurten,
               factor_key = T) %>% ## De data subset (als een pivot tabel)
                                mutate(Populatie = fct_recode(Populatie, 
                              "Western" = "WestersTotaal",
                              "Non western" = "NietWestersTotaal",
                              "Moroccan" = "Marokko",
                              "Antillean & Aruban" = "NederlandseAntillenEnAruba",
                              "Surinamese" = "Suriname",
                              "Turkish" = "Turkije",
                              "Other non-western" = "OverigNietWesters",
                              "Dutch" = "Nederlands")) %>%
                filter(Populatie %in% c("Western",
                                "Moroccan",
                                "Antillean & Aruban",
                                "Surinamese",
                                "Turkish",
                                "Other non-western")) %>%
        mutate(Percentage = Aantal / sum(Aantal)) %>%
        ggplot(aes(x= reorder(Populatie, -Percentage),
                   y=Percentage, colour = Populatie)) +
        geom_bar(stat="identity",
                 colour = "White",
                 fill = "#99CCFF") + ###99CC00 ###99CCFF ###99CC99 ##CC99CC ###990000 ###00CC99 ###000033
        coord_flip() +
        theme_minimal() +
        theme(legend.position = "none") +
        ggtitle("") +
        xlab("") +
        ylab("") +
        scale_y_continuous(labels= percent) + theme(axis.title.x=element_blank())

})

## afkomst taart ========

renderPlot({
      bar.background2()  
        
})
```

Age cohorts {.tabset}
======================================================================

Age cohorts
-----------------------------------------------------------------------

### % population per age cohorts in <span style="color:black;font-weight:bold">`r renderText(input$Wijk1)`</span> {#foo}

``` {r}

Age.bar <- reactive({ 
        
        Shb1678 %>%
        filter(Jaar==2018) %>%
        filter(X == 2) %>% ## filter op stads en wijkniveau
        filter(Wijken %in% input$Wijk1) %>%
        select(WijkenEnBuurten,
               k_0Tot15Jaar,
               k_15Tot25Jaar,
               k_25Tot45Jaar, 
               k_45Tot65Jaar,
               k_65JaarOfOuder) %>%
        gather(Naam, 
               Populatie, 
               k_0Tot15Jaar:k_65JaarOfOuder, -WijkenEnBuurten,
               factor_key = T) %>% 
        group_by(WijkenEnBuurten) %>% 
        mutate(Percentage = Populatie / sum(Populatie)) %>%
        mutate(Naam = fct_recode(Naam, 
                                 "0 to 15 years old" = "k_0Tot15Jaar",
                                 "15 to 25 years old" = "k_15Tot25Jaar",
                                 "25 to 45 years old" = "k_25Tot45Jaar",
                                 "45 to 65 years old" = "k_45Tot65Jaar",
                                 "65 and older" = "k_65JaarOfOuder")) %>%
        rename("Age categories" = Naam) %>%
        ggplot(aes(x= reorder(`Age categories`, -Percentage),
                   y=Percentage, colour = `Age categories`)) +
        geom_bar(stat="identity",
                 colour = "White",
                 fill = "#99CCFF") +
        coord_flip() +
        theme_minimal() +
        geom_text(aes(label=Populatie),
                  colour = "White",
                  position = position_stack(vjust = 0.5)) +
        xlab("") +
        ylab("") +
        scale_y_continuous(labels= percent) +
        labs( caption = "Year of measurement: 2018")
        
})

## afkomst taart ========

renderPlot({
      Age.bar()  
        
})
```

### % cohort 0 to 15 years old over time in <span style="color:black;font-weight:bold">`r renderText(input$Wijk1)`</span> {#foo}

``` {r}

## elke leeftijdsgroep ====

Age.line <- reactive({
        
        Shb1678 %>%
        filter(Wijken %in% input$Wijk1) %>%
                filter(X > 2) %>%
        select(Jaar,
               WijkenEnBuurten,
               k_0Tot15Jaar,
               k_15Tot25Jaar,
               k_25Tot45Jaar, 
               k_45Tot65Jaar,
               k_65JaarOfOuder) %>%
        gather(Populatie,
               Aantal,
               k_0Tot15Jaar:k_65JaarOfOuder, -WijkenEnBuurten, -Jaar,
               factor_key = T) %>%
        group_by(WijkenEnBuurten, Jaar) %>%
        mutate(Percentage = Aantal / sum(Aantal)) %>%
        mutate(Populatie = fct_recode(Populatie, 
                                 "Categorie 0 tot 15 jarige" = "k_0Tot15Jaar",
                                 "Categorie 15 tot 25 jarige" = "k_15Tot25Jaar",
                                 "Categorie 25 tot 45 jarige" = "k_25Tot45Jaar",
                                 "Categorie 45 tot 65 jarige" = "k_45Tot65Jaar",
                                 "Categorie 65 en ouder" = "k_65JaarOfOuder")) %>%
        filter(Populatie %in% c("Categorie 0 tot 15 jarige")) %>% 
                rename("Neighbourhoods" = WijkenEnBuurten) %>%
        ggplot(aes(x = Jaar, 
                   y = Percentage, 
                   colour = Neighbourhoods,
                   group = Neighbourhoods)) +
        geom_line() + geom_point() + scale_colour_brewer(palette = "Set1") +
        scale_y_continuous(labels= percent) +
        facet_grid(vars(Populatie)) +
        ggtitle("") +
        xlab("Year") +
        ylab("") +
                labs(colour = "Neighbourhood's\nsub-areas\n")
        
})

renderPlot({
      Age.line()  
        
})
```

leeftijdscohorten
-----------------------------------------------------------------------

### % population per age cohorts in <span style="color:black;font-weight:bold">`r renderText(input$Wijk2)`</span> {#foo}

``` {r}

Age.bar1 <- reactive({ 
        
        Shb1678 %>%
        filter(Jaar==2018) %>%
        filter(X == 2) %>% ## filter op stads en wijkniveau
        filter(Wijken %in% input$Wijk2) %>%
        select(WijkenEnBuurten,
               k_0Tot15Jaar,
               k_15Tot25Jaar,
               k_25Tot45Jaar, 
               k_45Tot65Jaar,
               k_65JaarOfOuder) %>%
        gather(Naam, 
               Populatie, 
               k_0Tot15Jaar:k_65JaarOfOuder, -WijkenEnBuurten,
               factor_key = T) %>% 
        group_by(WijkenEnBuurten) %>% 
        mutate(Percentage = Populatie / sum(Populatie)) %>%
        mutate(Naam = fct_recode(Naam, 
                                 "0 to 15 years old" = "k_0Tot15Jaar",
                                 "15 to 25 years old" = "k_15Tot25Jaar",
                                 "25 to 45 years old" = "k_25Tot45Jaar",
                                 "45 to 65 years old" = "k_45Tot65Jaar",
                                 "65 and older" = "k_65JaarOfOuder")) %>%
        rename("Age categories" = Naam) %>%
        ggplot(aes(x= reorder(`Age categories`, -Percentage),
                   y=Percentage, colour = `Age categories`)) +
        geom_bar(stat="identity",
                 colour = "White",
                 fill = "#99CCFF") +
        coord_flip() +
        theme_minimal() +
        geom_text(aes(label=Populatie),
                  colour = "White",
                  position = position_stack(vjust = 0.5)) +
        xlab("") +
        ylab("") +
        scale_y_continuous(labels= percent) +
                labs( caption = "Year of measurement: 2018")

        
})

## afkomst taart ========

renderPlot({
      Age.bar1()  
        
})
```

### % cohort 0 to 15 years old over time in <span style="color:black;font-weight:bold">`r renderText(input$Wijk2)`</span> {#foo}

``` {r}

## elke leeftijdsgroep ====

Age.line1 <- reactive({
        
        Shb1678 %>%
        filter(Wijken %in% input$Wijk2) %>%
        filter(X > 2) %>%
        select(Jaar,
               WijkenEnBuurten,
               k_0Tot15Jaar,
               k_15Tot25Jaar,
               k_25Tot45Jaar, 
               k_45Tot65Jaar,
               k_65JaarOfOuder) %>%
        gather(Populatie,
               Aantal,
               k_0Tot15Jaar:k_65JaarOfOuder, -WijkenEnBuurten, -Jaar,
               factor_key = T) %>%
        group_by(WijkenEnBuurten, Jaar) %>%
        mutate(Percentage = Aantal / sum(Aantal)) %>%
        mutate(Populatie = fct_recode(Populatie, 
                                 "Categorie 0 tot 15 jarige" = "k_0Tot15Jaar",
                                 "Categorie 15 tot 25 jarige" = "k_15Tot25Jaar",
                                 "Categorie 25 tot 45 jarige" = "k_25Tot45Jaar",
                                 "Categorie 45 tot 65 jarige" = "k_45Tot65Jaar",
                                 "Categorie 65 en ouder" = "k_65JaarOfOuder")) %>%
        filter(Populatie %in% c("Categorie 0 tot 15 jarige")) %>% 
                rename("Neighbourhoods" = WijkenEnBuurten) %>%
        ggplot(aes(x = Jaar, 
                   y = Percentage, 
                   colour = Neighbourhoods,
                   group = Neighbourhoods)) +
        geom_line() + geom_point() + scale_colour_brewer(palette = "Set1") +
        scale_y_continuous(labels= scales::percent) +
        facet_grid(vars(Populatie)) +
        ggtitle("") +
        xlab("Year") +
        ylab("") +
                labs(colour = "Neighbourhood's\nsub-areas\n")

        
})

renderPlot({
      Age.line1()  
        
})
```

Household/dwelling types {.tabset}
======================================================================

Household types
-----------------------------------------------------------------------

### % household types in <span style="color:black;font-weight:bold">`r renderText(input$Wijk1)`</span> {#foo}

``` {r}

Household <- reactive({ 
        
        Shb1678 %>% filter(Wijken %in% input$Wijk1) %>%
        filter(Jaar==max(Jaar)) %>%
        filter(X == 2) %>%
        select(WijkenEnBuurten,
               Eenpersoonshuishoudens,
               HuishoudensZonderKinderen,
               HuishoudensMetKinderen) %>% ## De variabelen selecteren voor de subset van data
        gather(Huishoudens, 
               Aantal, 
               Eenpersoonshuishoudens:HuishoudensMetKinderen, -WijkenEnBuurten,
               factor_key = T) %>%
                mutate(Huishoudens = fct_recode(Huishoudens, 
                              "single-person household" = "Eenpersoonshuishoudens",
                              "Households without children" = "HuishoudensZonderKinderen",
                              "Households with children" = "HuishoudensMetKinderen")) %>%
        group_by(WijkenEnBuurten) %>% mutate(Percentage = Aantal / sum(Aantal) *100) %>%
        select(-Aantal) %>%
        ggplot(aes(x="", y= Percentage, fill= Huishoudens, label = Huishoudens)) +
        geom_bar(width = 1, stat = "identity") + coord_polar("y", start=0) + 
        theme_void() + scale_fill_manual(values=c("#99CCFF", "#336699", "#6699CC")) +
        theme(plot.title = element_text(hjust = 0.5)) +
        geom_label(aes(label=sprintf("%0.2f%%", Percentage)),
                   position = position_stack(vjust = 0.5)) +
        xlab("") +
        ylab("") +
        labs(fill = "Type of\nhousehold\n", caption = "Year of measurement: 2018")

        
})

## afkomst taart ========

renderPlot({
      Household()  
        
})
```

### % dwelling types in <span style="color:black;font-weight:bold">`r renderText(input$Wijk1)`</span> {#foo}

``` {r}

Housing.type <- reactive({
        
        Shb1678 %>%
        filter(Wijken %in% input$Wijk1) %>%
        filter(X == 2) %>%
        select(WijkenEnBuurten,
               PercentageEengezinswoning,
               PercentageMeergezinswoning,
               Jaar) %>%
        rename("Single-family dwellings" = PercentageEengezinswoning,
                       "Multi-storey dwellings" = PercentageMeergezinswoning) %>%
        gather(value = "Percentage",
               key = "Housing type",
               `Single-family dwellings`, `Multi-storey dwellings`) %>%
        ggplot(aes(x=Jaar,
                   y= (Percentage/100),
                   color=`Housing type`,
                   group = `Housing type`)) +
        stat_summary(fun.y = "mean", geom = "line") +
        geom_point() + scale_colour_brewer(palette = "Set1") +
        scale_y_continuous(labels= percent) +
                facet_grid(vars(WijkenEnBuurten)) +
        xlab("") +
        ylab("") +
                theme(plot.caption = element_text(hjust = 0.5)) +
                labs(colour = "Type of dwelling\n")

        
})

renderPlot({
      Housing.type()  
        
})
```

Huishoudenstype
-----------------------------------------------------------------------

### % household types in <span style="color:black;font-weight:bold">`r renderText(input$Wijk2)`</span> {#foo}

``` {r}

Household1 <- reactive({ 
        
        Shb1678 %>% filter(Wijken %in% input$Wijk2) %>%
        filter(Jaar==max(Jaar)) %>%
        filter(X == 2) %>%
        select(WijkenEnBuurten,
               Eenpersoonshuishoudens,
               HuishoudensZonderKinderen,
               HuishoudensMetKinderen) %>% ## De variabelen selecteren voor de subset van data
        gather(Huishoudens, 
               Aantal, 
               Eenpersoonshuishoudens:HuishoudensMetKinderen, -WijkenEnBuurten,
               factor_key = T) %>%
                mutate(Huishoudens = fct_recode(Huishoudens, 
                              "Single-person households" = "Eenpersoonshuishoudens",
                              "Households without children" = "HuishoudensZonderKinderen",
                              "Households with children" = "HuishoudensMetKinderen")) %>%
        group_by(WijkenEnBuurten) %>% mutate(Percentage = Aantal / sum(Aantal) *100) %>%
        select(-Aantal) %>%
        ggplot(aes(x="", y= Percentage, fill= Huishoudens, label = Huishoudens)) +
        geom_bar(width = 1, stat = "identity") + coord_polar("y", start=0) + 
        theme_void() + scale_fill_manual(values=c("#99CCFF","#336699", "#6699CC")) +
        theme(plot.title = element_text(hjust = 0.5)) +
        geom_label(aes(label=sprintf("%0.2f%%", Percentage)),
                   position = position_stack(vjust = 0.5)) +
        xlab("") +
        ylab("") +
        labs(fill = "Type of\nhousehold\n", caption = "Year of measurement: 2018")

        
})

## afkomst taart ========

renderPlot({
      Household1()  
        
})
```

### % dwelling types in <span style="color:black;font-weight:bold">`r renderText(input$Wijk2)`</span> {#foo}

``` {r}

## elke leeftijdsgroep ====

Housing.type1 <- reactive({
        
        Shb1678 %>%
        filter(Wijken %in% input$Wijk2) %>%
        filter(X == 2) %>%
        select(WijkenEnBuurten,
               PercentageEengezinswoning,
               PercentageMeergezinswoning,
               Jaar) %>%
        rename("Single-family dwellings" = PercentageEengezinswoning,
                       "Multi-storey dwellings" = PercentageMeergezinswoning) %>%
        gather(value = "Percentage",
               key = "Housing type",
               `Single-family dwellings`, `Multi-storey dwellings`) %>%
        ggplot(aes(x=Jaar,
                   y= (Percentage/100),
                   color=`Housing type`,
                   group = `Housing type`)) +
        stat_summary(fun.y = "mean", geom = "line") +
        geom_point() + scale_colour_brewer(palette = "Set1") +
        scale_y_continuous(labels= percent) +
                facet_grid(vars(WijkenEnBuurten)) +
        xlab("") +
        ylab("") +
                theme(plot.caption = element_text(hjust = 0.5)) +
                labs(colour = "Type of dwelling\n")
        
})

renderPlot({
      Housing.type1()  
        
})

Just before the logs you include here, I see the following:

2018-12-16T21:05:05.819078+00:00 shinyapps[618088]:   GDAL Error 4: Unable to open /srv/connect/apps/neigbourhood_dash/wijkPolygon.shx or /srv/connect/apps/neigbourhood_dash/wijkPolygon.SHX.Try --config SHAPE_RESTORE_SHX true to restore or create it
2018-12-16T21:05:05.819068+00:00 shinyapps[618088]: Warning in CPL_read_ogr(dsn, layer, query, as.character(options), quiet,  :

Are you deploying all the files in the project directory that you have locally?

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.