Pytanie o dzierganie RMarkdown.

Mam problemy podczas łączenia pliku Rmarkdown do formatu HTML / PDF. Kiedy uruchamiam moje fragmenty kodu w pliku Rmarkdown, wszystko działa płynnie (i otrzymuję wykresy wykonane za pomocą ggplot), ale podczas dziania otrzymuję wynik bez wykresów i błędów (błąd w eval, błąd w ggplot, błąd w druku). Czy ktoś ma z tym doświadczenie?

Błędy:

Błąd w eval (lewy, nadrzędny): nie znaleziono obiektu „iso3166”

Błąd w ggplot (inci_100k, aes (long, lat, map.id = nazwa mapy, fill = inci)): nie znaleziono obiektu „inci_100k”

Błąd w druku (INCIPLOT): nie znaleziono obiektu „INCIPLOT”

Kod:

---
title: "R Markdown MAP"
author: "Alexandra V"
date: "1/4/2020"
output:
  html_document: default
  pdf_document: default
  word_document: default
---
```{r,echo = FALSE, warning = FALSE, message=FALSE, error=TRUE}
knitr::opts_chunk$set(cache=TRUE)
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(error = TRUE)
```

Loading the packages we will need for the following analysis.
```{r echo=FALSE, warning=FALSE}
library(tidyverse)
library(lubridate)
library(ggmap)
library(countrycode)
library(grid)
library(gridExtra)
```

To only keep the data needed to make a worldmap of TB incidences, only the relevant data will be taken from the TB_burden_countries_2020-01-04.csv file. Column 1: country names, column 3: iso3 (country codes), column 6: years, column 8: e_inc_100k (estimated incidence all TB forms per 100.000). To make the file easier to work with the names of the columns will be changed to: country, code, year and inci respectively. 

```{r, message=FALSE}
TB.burden <- read.csv("TB_burden_countries_2020-01-04.csv")
TBworldINC.map <- as.data.frame(TB.burden[,c(1,3,6,8)], drop=false)
write.csv(TBworldINC.map, 'TBworldINC.map.csv', row.names = FALSE) 
tb.INC <- read_csv("TBworldINC.map.csv") %>%
  setNames(c("country", "code", "year", "inci"))
```

```{r}
world <- map_data("world")
tb_some_years <- tb.INC %>%
  filter(year %in% c(2005, 2010, 2015, 2018))
inci_100k <- tb_some_years %>%
  inner_join(iso3166 %>% select(a3, mapname), by = c(code = "a3")) %>%
  left_join(world, by = c(country = "region"))

INCIPLOT <- ggplot(inci_100k, aes(long, lat, map_id = mapname, 
                                                fill = inci)) +
  geom_map(map = world) +
  scale_fill_gradient(low = "blue", high = "yellow") +
  theme_void() +
  coord_map(xlim = c(-180, 180)) +
  labs(fill = "Incidence per year") +
  facet_wrap(~ year, ncol = 2)
print(INCIPLOT)
```

zdjęcie wyjścia, które otrzymuję w Rstudio

1
Alex 8 styczeń 2020, 21:52

1 odpowiedź

Najlepsza odpowiedź

Miałem podobne problemy podczas tworzenia map w R. Jednym obejściem jest tworzenie wykresów i zapisywanie ich lokalnie wraz z obrazami. Składnia dodawania obrazów w R Markdown to! [Tekst alternatywny] (ścieżka do obrazu)

0
Ryan Marinelli 8 styczeń 2020, 21:02