Menu

R Betiği Nasıl Çalıştırılır: Rscript, source() ve RStudio

R kodu çalıştırmanın her yolu: etkileşimli konsol, komut satırından Rscript, R içinden source() ve RStudio'daki Run ile Source komutları.

Bu sayfada çalıştırılabilir editörler var - düzenle, çalıştır ve sonucu anında gör.

R Kullanmanın İki Yolu: Konsol ve Betik

R'nin etkileşimli bir konsolu vardır (bir REPL - oku, değerlendir, yazdır, döngüle): bir ifade yazarsınız, R hemen yanıtlar. Terminale R yazmak veya RStudio'nun alt paneline bakmak, her satırın Enter'a bastığınız anda çalıştığı bir > istemi verir. Konsol keşfettiğiniz yerdir - veriyi kurcalayın, bir satırı test edin, sonuca bakın.

Bir R betiği ise .R uzantısıyla kaydedilmiş, R kodu içeren düz bir metin dosyasından ibarettir. Betikler analizin yaşadığı yerdir - herkesin (gelecekteki siz dahil) baştan sona çalıştırıp aynı sonucu alabileceği, tekrarlanabilir bir tarif.

Bir betik hiç de egzotik değildir. İşte eksiksiz bir tanesi - çalıştırın:

Aşağıdaki her şey, böyle bir dosyayı R'ye vermenin farklı yolları hakkındadır.

Rscript: Komut Satırından Dosya Çalıştırma

R, tam da bunun için yapılmış Rscript adlı bir komut satırı aracı kurar. Bir terminalde, dosyanızı içeren klasörde:

Rscript summary.R

R başlar, dosyayı baştan sona çalıştırır, betiğin yazdırdığı her şeyi yazdırır ve çıkar. Bu, otomasyonun yük beygiridir - cron işleri, veri hatları, sunucular, CI - kodun bir insan izlemeden çalıştığı her yer.

Bir davranış herkesi bir kez şaşırtır: konsolda avg gibi çıplak bir ifade yazmak değerini otomatik yazdırır. Rscript altında, bir fonksiyonun veya döngünün içindeki çıplak bir ifade hiçbir şey yazdırmayabilir - bu yüzden betikler ne demek istediklerini açık cat() veya print() çağrılarıyla söyler. Bu alışkanlığı erken edinin.

source(): R İçinden Dosya Çalıştırma

Zaten bir R oturumundasınız ve bir dosya çalıştırmak mı istiyorsunuz? Bunun adı source():

source("summary.R")

Dosyanın her satırı geçerli oturumunuzda çalışır ve betiğin tanımladığı her şey - değişkenler, fonksiyonlar - sonrasında da kalır. Amaç da budur: source(), kendi yardımcı fonksiyonlarınızı etkileşimli bir oturuma yüklemenin yoludur.

Varsayılan olarak source(), açık çıktılar dışında sessiz çalışır. İşini izlemek için her satırı çalıştıkça yankılatın:

source("summary.R", echo = TRUE)

Göreli yola dikkat edin: "summary.R", "geçerli çalışma dizininde" demektir ve orasının neresi olduğu R'yi nasıl başlattığınıza bağlıdır. source() veya read.csv(), hemen orada duran bir dosyayı gizemli biçimde bulamadığında suçlu neredeyse her zaman çalışma dizinidir - bkz. çalışma dizini.

RStudio'da Betik Çalıştırma

RStudio her iki modu iki komutla verir ve bu ayrımı içselleştirmeye değer:

  • Run (Ctrl+Enter, macOS'te Cmd+Enter) - geçerli satırı veya vurgulanan seçimi konsolda çalıştırır. Bu keşif vitesidir: bir satır yaz, çalıştır, bak, ayarla.
  • Source (Source düğmesi veya Ctrl/Cmd+Shift+S) - tüm dosyayı, tam olarak konsoldaki source() gibi çalıştırır.

Satır satır Run'ın tuzağı, konsol oturumunuzun durum biriktirmesidir - sonradan düzenlediğiniz veya sildiğiniz satırlardan kalan değişkenler hâlâ hayattadır, bu yüzden betik sizde "çalışır" ama başkalarında başarısız olur. Bir betiğin dürüst testi, taze bir oturumda Source'tur (Session → Restart R, sonra Source). Bundan sağ çıkıyorsa tekrarlanabilirdir.

Bir Betiği Çalıştırılabilir Yapmak (macOS / Linux)

Unix benzeri sistemlerde bir R betiğini kendi başına bir komuta dönüştürebilirsiniz. Dosyanın en üstüne bir shebang satırı koyun:

#!/usr/bin/env Rscript
cat("I am a self-running R script\n")

Sonra bir kez çalıştırılabilir olarak işaretleyin ve doğrudan çalıştırın:

chmod +x summary.R
./summary.R

Shebang, kabuğa dosyayı hangi yorumlayıcının çalıştıracağını söyler; env Rscript, o makinenin PATH'inde Rscript nerede yaşıyorsa bulur. Satır # ile başladığından R'nin kendisi onu yorum olarak okur ve yok sayar.

Betiğe Argüman Geçirmek

Gerçek betikler girdi alır - bir dosya adı, bir tarih, bir eşik - betik adından sonra geçirilir:

Rscript report.R sales.csv 2026

Betik içinde commandArgs(trailingOnly = TRUE), argümanlarınızı bir karakter vektörü olarak döndürür (trailingOnly = TRUE, yorumlayıcının kendi iç argümanlarını atar - neredeyse her zaman onu istersiniz):

# report.R
args <- commandArgs(trailingOnly = TRUE)

input_file <- args[1]
year <- as.numeric(args[2])

cat("Reading:", input_file, "\n")
cat("Filtering to year:", year, "\n")

Her şey metin olarak gelir - 2026 değil "2026" - bu yüzden matematik yapmadan önce as.numeric() ile dönüştürün. Ayrıştırma mantığını çalıştırılabilir bir biçimde simüle edebiliriz:

Hangisini Kullanmalısınız?

  • Veri keşfi, fikir denemek → konsol veya RStudio'da Run.
  • Tüm analizinizi yürütmek → RStudio'da Source veya terminalde Rscript.
  • Yardımcı fonksiyonlarınızı bir oturuma yüklemeksource("helpers.R").
  • Otomasyon, zamanlayıcılar, veri hatları → girdiler için commandArgs() ile Rscript.

Bu dosyaların içine ne yazılacağının söz dizimi sonraki ders - bkz. R söz dizimi.

Buradan Ne Çıkarıyorsunuz

  • Konsol keşif içindir; .R betik dosyaları tekrarlanabilir analiz içindir.
  • Rscript file.R bir betiği komut satırından çalıştırır; source("file.R") bir oturum içinde çalıştırır (izlemek için echo = TRUE ekleyin).
  • RStudio'da Run bir satırı, Source dosyayı çalıştırır - ve taze oturumda Source, gerçek tekrarlanabilirlik testidir.
  • #!/usr/bin/env Rscript + chmod +x bir betiği doğrudan çalıştırılabilir yapar; commandArgs(trailingOnly = TRUE) argümanlarını metin olarak okur.

Sırada: R'nin söz dizimi - <- ile atama, fonksiyon çağrıları ve her-şey-bir-vektördür kuralı.

Sıkça Sorulan Sorular

Komut satırından bir R betiğini nasıl çalıştırırım?

R ile birlikte gelen Rscript komutunu kullanın: Rscript analysis.R. Dosyayı baştan sona çalıştırır ve betiğin yazdırdığı her şeyi yazdırır. Zamanlanmış işlerde, veri hatlarında ve sunucularda R çalıştırmanın standart yolu budur.

RStudio'da Run ile Source arasındaki fark nedir?

Run (Ctrl/Cmd+Enter) yalnızca geçerli satırı veya seçimi konsolda çalıştırır - keşif yaparken idealdir. Source tüm dosyayı tek seferde, Rscript gibi çalıştırır. Betiğinizi temiz bir oturumda Source ile çalıştırmak, baştan sona çalıştığının gerçek testidir.

R'de source() ne yapar?

source("script.R") bir dosyayı okur ve içindeki her satırı geçerli R oturumunuzda çalıştırır; böylece tanımladığı tüm değişkenler ve fonksiyonlar kullanımınıza açılır. Çalışırken her satırı da yazdırması için echo = TRUE ekleyin.

Bir R betiğine argüman nasıl geçirilir?

Rscript script.R value1 value2 çalıştırın, sonra betik içinde args <- commandArgs(trailingOnly = TRUE) ile okuyun. trailingOnly = TRUE kısmı, yorumlayıcının kendi iç argümanlarını atar ve yalnızca sizinkileri tutar. Her şey metin olarak gelir, bu yüzden sayıları as.numeric() ile dönüştürün.

Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA