Menu
Coddy logo textTech

R Hile Sayfası

Son güncelleme

Hello World ve atama

R'nin deyimsel atama operatörü <- 'dir (= operatörü de çalışır).

İşlemSöz dizimi
Bir değeri yazdırprint("Hello, World!")
Otomatik yazdırma (konsol)"Hello, World!"
Birleştir ve yazdırcat("Hi", name, "\n")
Ata (deyimsel)x <- 5
Ata (bu da geçerli)x = 5
Sağa ata5 -> x
Yorum# this is a comment
Bir betik çalıştırRscript app.R

Veri tipleri ve vektörler

Vektör, R'nin temel veri yapısıdır; tek bir değer bile uzunluğu 1 olan bir vektördür.

İşlemSöz dizimi
Sayısal vektörv <- c(1, 2, 3)
Karakter vektörüs <- c("a", "b")
Mantıksal vektörb <- c(TRUE, FALSE)
Tam sayı dizisi1:10
Adımlı diziseq(0, 1, by = 0.1)
Değerleri tekrarlarep(0, times = 5)
Temel tiplernumeric, character, logical, integer, complex
Tipi kontrol et / dönüştürclass(x), as.numeric("42")

Vektör işlemleri

İşlemler vektörleştirilmiştir ve eleman bazında uygulanır; indeksleme 1 tabanlıdır.

İşlemSöz dizimi
Elemana eriş (1 tabanlı)v[1]
Bir aralığı dilimlev[2:4]
Mantıksal filtrelemev[v > 2]
Bir elemanı düşürv[-1]
Eleman bazında matematikv * 2, v1 + v2
Uzunluklength(v)
Yaygın indirgeyicilersum(v), mean(v), max(v)
Sırala / tersine çevirsort(v), rev(v)
Adlandırılmış vektörc(a = 1, b = 2)

Veri çerçeveleri (data frame)

Bir veri çerçevesi, her biri eşit uzunlukta bir vektör olan sütunlardan oluşan bir tablodur.

İşlemSöz dizimi
Bir veri çerçevesi oluşturdf <- data.frame(name = c("Ada"), age = c(30))
İlk / son satırlarhead(df), tail(df)
Boyutlarnrow(df), ncol(df), dim(df)
Sütun adlarınames(df), colnames(df)
Bir sütun seçdf$age veya df[["age"]]
Satır / sütun seçdf[1, ], df[, "age"]
Satırları filtreledf[df$age > 18, ]
Bir sütun ekledf$adult <- df$age >= 18
Özet istatistiklersummary(df)
Yapı genel görünümüstr(df)

Faktörler ve listeler

Faktörler kategorik veriyi saklar; listeler karışık tiplerde elemanlar tutar.

İşlemSöz dizimi
Bir faktör oluşturf <- factor(c("low", "high"))
Faktör seviyelerilevels(f)
Sıralı faktörfactor(x, ordered = TRUE)
Seviyeye göre saytable(f)
Bir liste oluşturl <- list(name = "Ada", scores = c(1, 2))
Ada göre erişl$name veya l[["name"]]
Konuma göre erişl[[1]]
Alt liste (liste olarak kalır)l[1]
Uzunluk / adlarlength(l), names(l)

Kontrol akışı

Koşullar parantez içine, bloklar süslü parantez içine girer.

İşlemSöz dizimi
If / else if / elseif (x > 0) { ... } else if (x < 0) { ... } else { ... }
Vektörleştirilmiş if-elseifelse(v > 0, "pos", "neg")
For döngüsüfor (i in 1:10) { ... }
Bir vektör üzerinde forfor (x in v) { ... }
While döngüsüwhile (x < 100) { ... }
Break ile repeatrepeat { if (done) break }
Switchswitch(key, a = 1, b = 2)
Mantıksal operatörler&&, ||, ! (skaler); &, | (vektör)

Fonksiyonlar

Fonksiyonlar birinci sınıftır; değerlendirilen son ifade döndürülür.

İşlemSöz dizimi
Bir fonksiyon tanımlaadd <- function(a, b) { a + b }
Açık returnreturn(a + b)
Varsayılan argümangreet <- function(name = "World") { ... }
Variadic argümanf <- function(...) { sum(...) }
Ada göre çağrıbox(w = 2, h = 3)
Anonim fonksiyonfunction(x) x * 2
Anonim (kısaltma)\(x) x * 2
Üst düzey bir fonksiyona geçirsapply(1:3, function(x) x^2)

Apply ailesi

Açık döngü yazmadan veri üzerinde bir fonksiyon uygulayın.

FonksiyonNe yapar
apply(m, 1, sum)Matris satırları (1) veya sütunları (2) üzerinde uygula
sapply(v, f)Bir vektör üzerinde uygula, bir vektöre/matrise sadeleştir
lapply(v, f)Bir vektör üzerinde uygula, her zaman bir liste döndür
vapply(v, f, numeric(1))sapply gibi ama denetlenen bir dönüş tipiyle
mapply(f, a, b)Birden fazla vektör üzerinde paralel uygula
tapply(x, group, mean)Grup başına bir fonksiyon uygula
Map(f, a, b)Liste döndüren çok değişkenli uygulama
Reduce(+, v)Bir vektörü ikili bir fonksiyonla katla

Yaygın veri düzenleme ve istatistik fonksiyonları

Veriyi özetlemek ve yeniden şekillendirmek için sık kullanılan temel fonksiyonlar.

FonksiyonNe yapar
mean(v) / median(v)Ortalama / ortanca değer
sd(v) / var(v)Standart sapma / varyans
min(v) / max(v) / range(v)En küçük / en büyük / her ikisi
quantile(v)Kantiller (örn. çeyrekler)
table(x)Değerlerin frekans sayıları
unique(v) / duplicated(v)Benzersiz değerler / yinelenen bayraklar
is.na(v) / na.omit(df)Eksik değerleri bul / düşür
aggregate(y ~ g, df, mean)y'yi g grubuna göre özetle
order(v)Sıralama için indeks sırası
cor(x, y)İki vektör arasındaki korelasyon

En çok başvurduğunuz R söz dizimi tek sayfada. Bu R hile sayfası, temel dil için hızlı bir başvurudur - atama ve veri tipleri, vektörler ve vektör işlemleri, veri çerçeveleri, faktörler ve listeler, kontrol akışı, fonksiyonlar ve rstats veri analizinde kullanılan apply ailesi.

Buradaki her şey temel R'dir ve sıradan bir kurulumda çalışır - ekstra paket gerekmez. İhtiyacınız olanı kopyalayın ya da her kod parçasını R playground'da canlı deneyin - kurulum gerekmez.

R hile sayfası SSS

Bu R hile sayfası ücretsiz mi?
Evet. Bu R hile sayfası tamamen ücretsizdir ve kayıt gerektirmez. Yer imlerinize ekleyin ve bir vektör işlemine, veri çerçevesi metoduna ya da istatistik fonksiyonuna bakmanız gerektiğinde geri dönün.
R vektörleri gerçekten 1 tabanlı indeksli mi?
Evet. Çoğu programlama dilinin aksine, R indekslemesi 1'den başlar, dolayısıyla v[1] ilk elemanı, v[length(v)] ise sonuncuyu döndürür. Negatif indekslerin özel bir anlamı vardır - v[-1], sondan saymak yerine ilk elemanı kaldırır. Bu 1 tabanlı gelenek vektörler, listeler ve veri çerçeveleri için de aynı şekilde geçerlidir.
R'de veri çerçevesi (data frame) nedir?
Veri çerçevesi, R'nin tablo tipidir: her sütunun aynı uzunlukta bir vektör olduğu ve farklı sütunların farklı tipler (sayılar, metin, faktörler) tutabildiği bir sütunlar koleksiyonudur. Veri kümeleri için standart yapıdır - satırlar gözlemler, sütunlar değişkenlerdir - ve onu df[rows, columns] olarak indeksler, bir sütunu df$name ile seçer ve str(df) veya summary(df) ile incelersiniz.
R'yi çevrimiçi olarak deneyebilir miyim?
Evet. R playground'u açarak bu hile sayfasındaki herhangi bir kod parçasını tarayıcınızda çalıştırabilirsiniz - kurmanız gereken R veya RStudio yok. Yapı istediğinizde, Coddy'nin ücretsiz etkileşimli R kursu sizi vektörler ve veri çerçevelerinden apply ailesine ve istatistiklere adım adım götürür.
Bu hile sayfası yeni başlayanlar için uygun mu?
Evet. En yaygın konulardan (atama, vektörler, veri çerçeveleri) gelişmiş olanlara (apply ailesi ve istatistik fonksiyonları) doğru düzenlenmiştir, böylece üstteki bölümleri ilk günden kullanabilir ve zamanla geri kalanına geçebilirsiniz.
Coddy programming languages illustration

Coddy ile R öğren

BAŞLA