Overleaf menyediakan integrasi dengan knitr, yang memungkinkan Anda menambahkan kode R ke dokumen LaTeX Anda untuk menghasilkan keluaran dinamis.Dokumen yang berisi kode R harus disimpan dengan ekstensi .Rtex atau .Rnw, jika tidak, kode tersebut tidak akan berfungsi. Mari kita lihat contohnya:
\documentclass{article}\begin{document}You can type R commands in your \LaTeX{} document which will be processed and their output included in the document:<<>>=# Create a sequence of numbersX = 2:10# Display basic statistical measuressummary(X)@\end{document}
Buka contoh knitr ini di OverleafSeperti yang Anda lihat, teks di antara karakter <<>>= dan @ adalah kode R. Kode ini beserta keluarannya dicetak dalam format seperti listing. Potongan kode ini dapat menerima beberapa parameter tambahan untuk menyesuaikan keluaran dinamis, seperti yang dijelaskan di bagian berikutnya.
Blok kode seperti yang ditampilkan di bagian sebelumnya biasanya disebut chunk. Anda dapat mengatur beberapa opsi tambahan pada chunk knitr. Lihat contoh di bawah ini:
\documentclass{article}\begin{document}You can type R commands in your \LaTeX{} document which will be processed and their output included in the document:<<echo=FALSE, cache=TRUE>>=# Create a sequence of numbersX = 2:10# Display basic statistical measuressummary(X)@\end{document}
echo=FALSE Opsi ini menyembunyikan kode dan hanya mencetak keluaran yang dihasilkan oleh R.
cache=TRUE Jika cache diatur ke true, chunk tidak dijalankan, hanya objek yang dihasilkannya yang digunakan. Ini menghemat waktu jika data dalam chunk tersebut tidak berubah.
Perlu dicatat bahwa opsi cache=TRUE saat ini tidak didukung di Overleaf, tetapi seharusnya berfungsi secara lokal.
Objek yang dihasilkan dalam chunk dapat diakses dan dicetak secara inline.
\documentclass{article}\begin{document}You can type R commands in your \LaTeX{} document which will be processed and their output included in the document:<<echo=FALSE, cache=TRUE>>=# Create a sequence of numbersX = 2:10# Display basic statistical measuressummary(X)@So, the mean of the data is $\Sexpr{mean(X)}$\end{document}
Buka contoh knitr ini di OverleafPerintah \Sexpr{mean(X)} mencetak keluaran yang dikembalikan oleh kode R mean(X). Di dalam kurung kurawal, perintah R apa pun dapat diberikan.
Buka contoh knitr ini di OverleafHistogram ini menggunakan data yang tersimpan di “data.txt”, yang disimpan di direktori kerja saat ini. Beberapa opsi terkait gambar diberikan ke chunk tersebut.plot1 Ini adalah label yang digunakan untuk mereferensikan plot. Prefiks “fig:” wajib digunakan. Anda dapat melihat pada contoh bahwa gambar direferensikan dengan \ref{fig:plot1}. fig.pos="t" parameter posisi. Ini sama dengan yang digunakan pada lingkungan figure. fig.height=4, fig.width=4 Lebar dan tinggi gambar. fig.cap="First plot" Keterangan (caption) untuk gambar.
Anda dapat mengimpor bagian dari skrip R eksternal ke dalam dokumen knitr. Ini sangat membantu karena cukup umum untuk menulis dan men-debug skrip di program eksternal sebelum memasukkannya ke dalam dokumen Anda.Misalkan kita memiliki kode R berikut dalam file bernama mycode.R yang kita sertakan dalam dokumen LaTeX kita:
## ---- myrcode1# Create a sequence of numbers X = 2:10## ---- myrcode2# Display basic statistical measuressummary(X)
Perhatikan baris:
## ---- myrcode1
dan
## ---- myrcode2
Baris-baris ini menandai awal sebuah chunk kode dan wajib ada jika Anda ingin menggunakan skrip ini dalam dokumen, seperti yang ditunjukkan pada potongan kode berikut:
The chunk below will not be printed<<echo=FALSE, cache=FALSE>>=read_chunk("mycode.R")@The code must show up here<<myrcode2>>=@
Chunk pertama tidak dicetak dan hanya digunakan untuk mengimpor skrip dengan perintah read_chunk("mycode.R"). Itulah sebabnya opsi echo=FALSE diatur. Selain itu, skrip tidak boleh di-cache. Setelah skrip diimpor, Anda dapat mencetak sebuah chunk menggunakan label yang Anda tetapkan setelah ## ----. Dalam kasus ini adalah myrcode2.Kami telah memasukkan semua potongan kode dalam artikel ini ke dalam sebuah proyek yang dapat Anda Buka di Overleaf.