Kod

Kod może być osadzony w tekście za pomocą otaczających go pojedynczych grawitów (`) lub może być używany w niezależnych blokach przy użyciu potrójnych grawitacji (“`). Opcjonalnie możesz określić język programowania w bloku kodu, aby aktywować podświetlanie składni dla tego kodu. Jeśli użyjemy następującego wejścia:

“` r

and_two_numbers <- function (x,y) {

return (x+y)

}

“`

Otrzymujemy następujący wynik:

and_two_numbers <- function (x,y) {

return (x+y)

}

Cytaty

Cytaty są bardzo przydatne, gdy próbuje się podkreślić rzeczy czytelnikom. Są również bardzo łatwe do stworzenia. Wszystko, co musisz zrobić, to poprzedzić znak większości (>), a następnie spację na początku wiersza. Jeśli użyjemy następującego wejścia:

> Spójrz głęboko w naturę, a wtedy wszystko lepiej zrozumiesz.

> -Albert Einstein

Otrzymujemy następujący wynik:

Spójrz głęboko w naturę, a wtedy wszystko lepiej zrozumiesz.

– Albert Einstein

Obrazy

Obrazy mają podobną strukturę do linków, ale są poprzedzone wykrzyknikiem (!). Nazwa obrazu (zawarta w nawiasach) jest wyświetlana tylko wtedy, gdy rzeczywistego obrazu nie ma (na przykład plik nie został znaleziony w określonej trasie). Adres URL to zastąpiona ścieżka do obrazu, który chcesz pokazać. Domyślnie rozmiar obrazu będzie możliwie największy. Przy założeniu, że obrazy znajdują się w katalogu o nazwie images w tym samym katalogu, co plik Markdown, działa następujący przykład. Jeśli użyjemy następującego wejścia:

[The R Project for Statistical Computing (./images/r.pg)

[Pact Publishing]./images/packt-publishig.png)

Otrzymujemy następujący wynik:

Linki

Aby udostępnić linki, możesz po prostu wpisać link bezpośrednio. Jeśli chcesz nazwać linki tak, aby wyświetlała się tylko nazwa, ale nie adres URL, jak te, które widzisz na stronach internetowych, możesz użyć nawiasów zawierających nazwę, po których bezpośrednio następuje nawias zawierający rzeczywisty link, w formacie „[Nazwa] ( URL) ”.

Jeśli użyjemy następującego wejścia:

[The R Project for Statistical Computing (https://www.r-project.org/)

[Pact Publishing](https://www.packtpub.com/)

Otrzymujemy następujący wynik:

The R Project for Statistical Computing

Pact Publishing

Tabele

Tabele to jedne z najbardziej kłopotliwych struktur do tworzenia przy użyciu Markdown. To powiedziawszy, nadal nie jest trudno je stworzyć. Jeśli je wyrównasz, wszystko wygląda normalnie. Jednak w większości przypadków ludzie ich nie wyrównują i wydają się nieco dziwni, jeśli nie jesteś przyzwyczajony do składni. Przez tabele bez wyrównania rozumiemy, że po elementach nie ma spacji, aby linie pionowe były wyrównane. Poniższa tabela jest tabelą wyrównaną. Jeśli użyjemy następującego wejścia:

 

Otrzymujemy następujący wynik:

Listy

Listy mogą być uporządkowane, nieuporządkowane i mogą być oznaczone jako zadania. Obejmują one większość potrzebnych przypadków i są bardzo proste w użyciu. W przypadku list uporządkowanych można użyć łączników (-) lub gwiazdek (*), a także zagnieżdżać je w celu utworzenia list zagnieżdżonych. W przypadku list uporządkowanych można używać cyfr i liter. Wreszcie, aby utworzyć listy zadań, wystarczy umieścić parę nawiasów na początku pozycji ([]). Jeśli w nawiasach znajduje się X, oznacza to, że zadanie zostało zakończone. Jeśli między nawiasami jest spacja, element nadal oczekuje. Jeśli użyjemy następującego wejścia:

  1. This i sam ordered item

                – This is a uordered item

                -This is aother unordered item

  1. This is another ordered item

                – [ ] This is a peding task

                – [X] This is a completed task

– [ ] This is another incomplete task

  1. Which contais one ordereditem

– And one unorded item

Dane wyjściowe

 

Nagłówki

Jeśli chcesz, możesz mieć odpowiedniki sekcji (nagłówki pierwszego poziomu), podsekcji (nagłówki drugiego poziomu), podsekcji (nagłówki trzeciego poziomu) i tak dalej. Struktury organizacyjne są oznaczane za pomocą znaku liczbowego, powtarzanego tyle razy, ile głębokości chcesz uzyskać w dokumencie. Łańcuch taki jak # Header utworzyłby nagłówek pierwszego poziomu, podczas gdy ### Header utworzyłby nagłówek trzeciego poziomu. Jeśli użyjemy następującego wejścia:

# Header Level 1

## Header Level 2

### Header Level 3

#### Header Level 4

Otrzymujemy następujący wynik

 

Tekst

Jeśli potrzebujesz prostego tekstu, możesz po prostu pisać tak, jak zwykle. Jeśli chcesz sformatować tekst, możesz użyć par gwiazdek (*) lub podkreśleń (_). Poniższa tabela pokazuje, jak używać par gwiazdek. Podkreślenia działają w ten sam sposób. Jeśli użyjemy następującego wejścia:

Tekst z *kursywą* w środku.

Tekst z **pogrubieniem** w środku.

Tekst z **pogrubieniem i *kursywą* w środku**.

Otrzymujemy następujący wynik:

Tekst z kursywą w środku.

Tekst z pogrubieniem w środku.

Tekst z pogrubieniem i kursywą w środku.

Delikatne wprowadzenie do Markdown

Markdown ma różne wersje składni, które są obsługiwane przez różne systemy i platformy. Ten, który tutaj pokazujemy, jest ogólny, który jest przydatny w wielu systemach, w tym w R Markdown. W poniższych przykładach pokazujemy podstawowe elementy strukturyzowania treści przy użyciu języka Markdown. Rzeczywista estetyka zależy od tego, jakie style są stosowane w plikach. W poniższych przykładach nie zastosowano żadnej estetyki. W dalszej części rozdziału pokażemy, jak dostosować je do naszej prezentacji.

Podstawowe narzędzia dla potoku automatyzacji

Potok to proces, który zaczyna się od tekstu, kodu i surowych danych, a kończy się na ostatecznym dokumencie lub prezentacji, którą chcemy pokazać lub rozpowszechnić. Na szczęście większość ciężkiej pracy jest zautomatyzowana w R, więc nie musisz nic robić poza zainstalowaniem tych narzędzi i skonfigurowaniem pliku kompilacji.

Nasz potok powinien być wystarczająco ogólny, aby pomieścić różne przypadki użycia bez konieczności znacznych modyfikacji. Jeśli tak jest, możemy opanować jeden zestaw narzędzi i używać go ponownie w różnych projektach, zamiast uczyć się za każdym razem nowego zestawu narzędzi. Po stronie wprowadzania, używając tekstu, kod i dane są wystarczająco ogólne. Po stronie wyjściowej możliwość generowania dokumentów HTML, PDF, LaTeX, a nawet Word wydaje się być wystarczająco ogólna, więc możemy zacząć. Markdown to język narzutów o niskim koszcie. Jego główną zaletą dla pisarzy jest to, że pozwala nam skupić się na pisaniu, a nie na formatowaniu. Ma proste i minimalne, ale intuicyjne elementy formatowania, a także wiele programów, które mogą między innymi tłumaczyć Markdown na pliki HTML i PDF. R Markdown jest rozszerzeniem Markdown w celu włączenia kodu R. Dokumenty napisane w R Markdown mają zagnieżdżony kod R, co pozwala nam tworzyć dynamiczne prezentacje. Nie można ich ocenić za pomocą standardowych narzędzi Markdown. Zamiast tego kod R jest oceniany jako część przetwarzania R Markdown przed wywołaniem tradycyjnych narzędzi Markdown. Jednym z pierwszych systemów programowania w języku R jest Sweave, który służy do tworzenia dynamicznych raportów i powtarzalnych badań przy użyciu LaTeX. Sweave umożliwia osadzanie kodu R w dokumentach LaTeX w celu wygenerowania pliku PDF zawierającego tekst, analizę, grafikę, kod i wyniki obliczeń. knitr (z pierwszą małą literą) to pakiet R, który dodaje wiele nowych możliwości do Sweave.

R Markdown można przekształcić w standardową przecenę za pomocą pakietu knitr w R, który wstawia wyniki R do dokumentu Markdown. Markdown można następnie przekonwertować na HTML za pomocą Pandoc. Użycie R Markdown do tworzenia powtarzalnych raportów szybko stało się podstawowym narzędziem dla wielu naukowców. Nie będziemy wchodzić w szczegóły, w jaki sposób Sweave, LaTeX lub Pandoc przekształcają pliki w różnych formatach, ponieważ nie będziesz musiał ich bezpośrednio obsługiwać. Skoncentrujemy się na używaniu R Markdown i knitr. Jednak nadal musimy się upewnić, że mamy wszystkie te narzędzia zainstalowane w naszym systemie, zanim będziemy kontynuować. Sweave jest wysyłany w ramach dowolnej dystrybucji R. R Markdown i knitr można zainstalować w R. Pandoc, a LaTeX należy zainstalować bezpośrednio na komputerze. Na koniec należy zauważyć, że nie są to jedyne dostępne narzędzia do tworzenia zautomatyzowanych treści. Ponieważ programowanie w języku R stało się przedmiotem dużego zainteresowania, naturalnie wiele narzędzi zostało i nadal jest rozwijanych do tego celu. Chociaż ten rozdział skupia się na R Markdown i knitr, istnieją inne narzędzia, takie jak Presenter R Studio (RPres) i Slidify. Nie pokazaliśmy tych narzędzi w tej książce, ponieważ są one albo bardziej ograniczone w zastosowaniu, albo bardziej złożone w użyciu. Uważamy, że kombinacja R Markdown-knitr zapewnia bardzo dobrą równowagę między mocą a łatwością użytkowania i jest to nasza kombinacja z wyboru. Zachęcamy jednak czytelnika do zbadania innych narzędzi i znalezienia najlepszego