Di R, mekanisme startupnya adalah sebagai berikut. Kecuali --no-environ diberikan pada baris perintah, R mencari situs dan file pengguna untuk memproses pengaturan variabel lingkungan. Nama file situs adalah nama yang ditunjuk oleh variabel lingkungan R_ENVIRON; jika ini tidak disetel, R_HOME/etc/Renviron.site digunakan (jika ada, yang tidak ada dalam instalasi 'segar dari pabrik'). Nama file pengguna dapat ditentukan oleh variabel lingkungan R_ENVIRON_USER; jika ini tidak disetel, file yang dicari adalah .Renviron di direktori saat ini atau di direktori home pengguna (dalam urutan itu). Lihat 'Detail' untuk mengetahui cara membaca file. Kemudian R mencari file profil startup seluruh situs dari kode R kecuali opsi baris perintah --no-site-file diberikan. Jalur file ini diambil dari nilai variabel lingkungan R_PROFILE (setelah ekspansi tilde). Jika variabel ini tidak disetel, defaultnya adalah R_HOME/etc/Rprofile.site, yang digunakan jika ada (yang tidak digunakan dalam instalasi 'segar dari pabrik'). (berisi pengaturan dari penginstal dalam instalasi 'segar dari pabrik'). Kode ini bersumber ke dalam paket dasar. Pengguna harus berhati-hati agar tidak secara tidak sengaja menimpa objek di basis, dan biasanya disarankan untuk menggunakan lokal jika kode perlu dieksekusi: lihat contohnya. Kemudian, kecuali --no-init-file diberikan, R mencari profil pengguna, file kode R. Jalur file ini dapat ditentukan oleh variabel lingkungan R_PROFILE_USER (dan ekspansi tilde akan dilakukan). Jika ini tidak disetel, file bernama .Rprofile akan dicari di direktori saat ini atau di direktori home pengguna (dalam urutan itu). File profil pengguna bersumber ke ruang kerja. Perhatikan bahwa ketika file situs dan profil pengguna bersumber, hanya paket dasar yang dimuat, sehingga objek dalam paket lain perlu dirujuk dengan mis.utils::dump.frames atau setelah memuat paket terkait secara eksplisit. R kemudian memuat gambar ruang kerja pengguna yang disimpan dari .RData di direktori saat ini jika ada (kecuali --no-restore-data atau --no-restore ditentukan pada baris perintah). Selanjutnya, jika suatu fungsi .Pertama ditemukan di jalur pencarian, maka dijalankan sebagai .Pertama(). Akhirnya, fungsi .First.sys() dalam paket dasar dijalankan. Panggilan ini memerlukan lampiran paket default yang ditentukan oleh opsi ("defaultPackages"). Jika paket metode disertakan, paket ini sudah terpasang sebelumnya (berdasarkan fungsi .OptRequireMethods()) sehingga inisialisasi namespace seperti yang berasal dari ruang kerja pengguna akan dilanjutkan dengan benar. Fungsi .First (dan .Last) dapat didefinisikan dalam file .Rprofile atau Rprofile.site yang sesuai atau telah disimpan dalam .RData. Jika Anda menginginkan kumpulan paket yang berbeda dari paket default saat Anda memulai, masukkan panggilan ke opsi di file .Rprofile atau Rprofile.site. Misalnya, options(defaultPackages = character()) tidak akan melampirkan paket tambahan saat startup (hanya paket dasar) (atau menetapkan R_DEFAULT_PACKAGES=NULL sebagai variabel lingkungan sebelum menjalankan R). Menggunakan options(defaultPackages = "") atau R_DEFAULT_PACKAGES="" menerapkan default sistem R. Di front-end yang mendukungnya, riwayat perintah dibaca dari file yang ditentukan oleh variabel lingkungan R_HISTFILE (default .Rhistory di direktori saat ini) kecuali --no-restore-history atau --no-restore ditentukan. Opsi baris perintah --vanilla menyiratkan --no-site-file, --no-init-file, --no-environ dan (kecuali untuk R CMD) --no-restore Di Windows, ini juga berarti --no-Rconsole, yang mencegah memuat file Rconsole.
# NOT RUN {
## Example ~/.Renviron on Unix
R_LIBS=~/R/library
PAGER=/usr/local/bin/less
## Example .Renviron on Windows
R_LIBS=C:/R/library
MY_TCLTK="c:/Program Files/Tcl/bin"
## Example of setting R_DEFAULT_PACKAGES (from R CMD check)
R_DEFAULT_PACKAGES='utils,grDevices,graphics,stats'
# this loads the packages in the order given, so they appear on
# the search path in reverse order.
## Example of .Rprofile
options(width=65, digits=5)
options(show.signif.stars=FALSE)
setHook(packageEvent("grDevices", "onLoad"),
function(...) grDevices::ps.options(horizontal=FALSE))
set.seed(1234)
.First <- function() cat("\n Welcome to R!\n\n")
.Last <- function() cat("\n Goodbye!\n\n")
## Example of Rprofile.site
local({
# add MASS to the default packages, set a CRAN mirror
old <- getOption("defaultPackages"); r <- getOption("repos")
r["CRAN"] <- "http://my.local.cran"
options(defaultPackages = c(old, "MASS"), repos = r)
## (for Unix terminal users) set the width from COLUMNS if set
cols <- Sys.getenv("COLUMNS")
if(nzchar(cols)) options(width = as.integer(cols))
# interactive sessions get a fortune cookie (needs fortunes package)
if (interactive())
fortunes::fortune()
})
## if .Renviron contains
FOOBAR="coo\bar"doh\ex"abc\"def'"
## then we get
# > cat(Sys.getenv("FOOBAR"), "\n")
# coo\bardoh\exabc"def'
# }