Doç. Dr. Hasan Sarptaş
Ege Üniversitesi, Güneş Enerjisi ABD. Yüksek Lisans Dersi
R'deki operatörler, değişkenler ve değerler (operandlar) üzerinde işlem yapan sembollerdir. Matematiksel hesaplamalar, mantıksal karşılaştırmalar, atamalar ve diğer işlemleri verimli bir şekilde gerçekleştirmenizi sağlar.
Aritmetik operatörler, sayısal değerler veya vektörler üzerinde matematiksel işlemler gerçekleştirir. R'de vektörlerle çalışırken bu işlemler eleman bazında uygulanır.
Her iki operandın (terimin) değerleri toplanır.
a <- c(1, 0.1)
b <- c(2.33, 4)
print(a + b)
[1] 3.33 4.10
İkinci operandın değerleri birinciden çıkarılır.
a <- 6
b <- 8.4
print(a - b)
[1] -2.4
Vektörlerin karşılık gelen elemanları veya tamsayılar '*' operatörü ile çarpılır.
print(3*4)
b = c(4,4)
c = c(5,5)
print(b * c)
[1] 12 [2] 20 20
Birinci operand ikinci operanda '/' operatörü ile bölünür.
a <- 10
b <- 5
print(a / b)
[1] 2
Birinci operand ikinci operandın üssü olarak alınır.
a <- 4
b <- 5
print(a ^ b)
[1] 1024
Birinci operandın ikinci operanda bölümünden kalanını döndürür.
a <- c(2, 22)
b <- c(2,4)
print(a %% b)
[1] 0 2
R'deki mantıksal operatörler, operandlar arasında belirtilen operatöre göre eleman bazında karar işlemleri yapar ve True veya False boolean değeri döndürür. Sıfır olmayan herhangi bir tamsayı değeri TRUE kabul edilir (karmaşık veya gerçek sayı olsa bile).
Her iki operand da True ise True döndürür.
a <- c(TRUE, 0.1)
b <- c(0,4+3i)
print(a & b)
[1] FALSE TRUE
Operandlardan en az biri True ise True döndürür.
a <- c(TRUE, 0.1)
b <- c(0,4+3i)
print(a | b)
[1] TRUE TRUE
Unary bir operatör olup operandın elemanlarının durumunu tersine çevirir.
a <- c(0, FALSE)
print(!a)
[1] TRUE TRUE
Operandların ilk elemanlarının her ikisi de True ise True döndürür.
a <- c(TRUE, 0.1)
b <- c(0,4+3i)
print(a[1] && b[1])
[1] FALSE
Operandların ilk elemanlarından herhangi biri True ise True döndürür.
a <- c(TRUE, 0.1)
b <- c(0,4+3i)
print(a[1] || b[1])
[1] TRUE
R'deki ilişkisel operatörler, operandların karşılık gelen elemanları arasında karşılaştırma yapar. Birinci operand ikinciye göre ilişkiyi sağlıyorsa boolean TRUE değeri döndürür. TRUE değeri her zaman FALSE'tan büyük kabul edilir.
Birinci operandın ilgili elemanı ikinci operandın elemanından küçükse TRUE döndürür.
a <- c(TRUE, 0.1, "apple")
b <- c(0, 0.1, "bat")
print(a < b)
[1] FALSE FALSE TRUE
Birinci operandın ilgili elemanı ikinci operandın elemanına küçük veya eşitse TRUE döndürür.
a <- c(TRUE, 0.1, "apple")
b <- c(TRUE, 0.1, "bat")
c <- as.character(a)
d <- as.character(b)
print(c <= d)
[1] TRUE TRUE TRUE
Birinci operandın ilgili elemanı ikinci operandın elemanından büyükse TRUE döndürür.
a <- c(TRUE, 0.1, "apple")
b <- c(TRUE, 0.1, "bat")
print(a > b)
[1] FALSE FALSE FALSE
Birinci operandın ilgili elemanı ikinci operandın elemanına büyük veya eşitse TRUE döndürür.
a <- c(TRUE, 0.1, "apple")
b <- c(TRUE, 0.1, "bat")
print(a >= b)
[1] TRUE TRUE FALSE
Birinci operandın ilgili elemanı ikinci operandın elemanına eşit değilse TRUE döndürür.
a <- c(TRUE, 0.1, 'apple')
b <- c(0, 0.1, "bat")
print(a != b)
[1] TRUE FALSE TRUE
R'deki atama operatörleri, çeşitli veri nesnelerine (tamsayı, vektör, fonksiyon vb.) değer atamak için kullanılır. Atanan değerler değişken isimleri ile saklanır.
Bir vektöre değer atar.
vec1 = c("ab", TRUE)
print(vec1)
[1] "ab" "TRUE"
Bir vektöre değer atar.
c("ab", TRUE) ->> vec1
print(vec1)
[1] "ab" "TRUE"
R'deki çeşitli (miscellaneous) operatörler, dizilerin oluşturulması ve vektör atamalarının (sol veya sağ yönlü) yapılmasını sağlar.
Bir elemanın bir listeye ait olup olmadığını kontrol eder; varsa TRUE, yoksa FALSE döndürür.
val <- 0.1
a <- c(TRUE, 0.1, "apple")
print(val %in% a)
[1] TRUE
%*% operatörü matris çarpımı gerçekleştirir.
mat = matrix(c(1,2,3,4,5,6), nrow=2, ncol=3)
print(mat)
print(t(mat))
pro = mat %*% t(mat)
print(pro)
[,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 [,1] [,2] [1,] 1 2 [2,] 3 4 [3,] 5 6 [,1] [,2] [1,] 35 44 [2,] 44 56