1 + 1[1] 2
Hvað Quarto er, hvernig það byggir á markdown og LaTeX, og keyranleg R-dæmi með mtcars og plotly.
Quarto er opinn hugbúnaður til að búa til skjöl, vefsíður, glærur og bækur út frá einföldum textaskrám. Skrárnar hafa endinguna .qmd og eru í grunninn markdown — sama einfalda orðalag og notað er í README.md skrám á GitHub — en með þeirri viðbót að hægt er að skjóta inn keyranlegum kóðabútum (R, Python, Julia).
Þegar Quarto þýðir (e. renders) skrána:
Þessi vefsíða sem þú ert að lesa er einmitt gerð í Quarto.
Grunnurinn er hefðbundið markdown. Til vinstri er það sem þú skrifar, til hægri hvernig það birtist:
| Þú skrifar | Útkoma |
|---|---|
# Fyrirsögn |
stór fyrirsögn |
**feitletrað** |
feitletrað |
*skáletrað* |
skáletrað |
`kóði` |
kóði |
[hlekkur](https://hi.is) |
hlekkur |
- listi |
punktalisti |
Auk markdown er hægt að skrifa stærðfræði með LaTeX rithætti. Jöfnur inni í texta eru umluktar einu dollaramerki, t.d. $E = mc^2$ sem birtist sem \(E = mc^2\).
Sjálfstæð jafna er umlukt tvöföldu dollaramerki. Þetta:
birtist svona:
\[ \bar{x} = \frac{1}{n} \sum_{i=1}^{n} x_i \]
Kóðabútur er skrifaður milli þriggja backticks (```) með tungumálinu í slaufusvigum. Þetta skrifar þú í .qmd skrána:
Þegar Quarto þýðir skrána keyrir það bútinn og sýnir bæði kóðann og niðurstöðuna fyrir neðan:
mtcarsmtcars er innbyggt gagnasafn í R með upplýsingum um 32 bíla. Við skoðum fyrstu línurnar:
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
Og reiknum meðaleyðslu (mpg, mílur á gallon) eftir fjölda strokka (cyl):
Athugið: þessar tölur eru ekki slegnar inn handvirkt — þær eru reiknaðar af Quarto í hvert sinn sem síðan er þýdd. Ef gögnin breytast uppfærist taflan sjálfkrafa.
plotlySama gagnasafn, en núna sem gagnvirk mynd. Prófaðu að sveima yfir punktana og draga til að þysja:
library(plotly)
plot_ly(
data = mtcars,
x = ~wt,
y = ~mpg,
color = ~factor(cyl),
type = "scatter",
mode = "markers",
text = ~rownames(mtcars),
marker = list(size = 10)
) |>
layout(
title = "Eyðsla eftir þyngd bíls",
xaxis = list(title = "Þyngd (1000 lbs)"),
yaxis = list(title = "Mílur á gallon"),
legend = list(title = list(text = "Strokkar"))
)Sama skjalið gefur því bæði statískt úttak (töflur, tölur) og gagnvirkt úttak (plotly) — allt búið til beint úr kóðanum.
Plotly-grafið er gagnvirkt í þeim skilningi að þú getur sveimað, þysjað og dregið — en það er föst mynd sem var reiknuð einu sinni þegar síðan var þýdd. Kóðinn keyrir ekki aftur þegar þú smellir. Til að úttakið bregðist við aðgerðum notandans (síur, hnappar, valreitir sem endurreikna gögnin) þarf bakenda sem keyrir kóðann á ný — t.d. Shiny. Það er utan þess sem statísk Quarto-síða á GitHub Pages getur gert.
Sem sagt: maður kemst mjög langt með statískum síðum sem eru að einhverju leyti gagnvirkar (plotly-gröf, Leaflet-kort, síanlegar töflur o.þ.h.) — og fyrir flestar skýrslur er það alveg nóg. Það er fyrst þegar úttakið þarf að endurreiknast út frá vali notandans sem bakendi verður nauðsynlegur.
Quarto er ekki bundið við skýrslur. Sama grunnhugmynd — markdown + kóði — nýtist í fleira:
styles/hi-book.scss, tengt inn í _quarto.yml undir format: html: theme:..qmd skrám. Sjá glærurnar hér í námsefninu — þær eru líka gerðar í Quarto og hýstar á GitHub.