R Eğer ... Aksi


Koşullar ve If İfadeleri

R, matematikteki olağan mantıksal koşulları destekler:

Operator Name Example Try it
== Equal x == y
!= Not equal x != y
> Greater than x > y
< Less than x < y
>= Greater than or equal to x >= y
<= Less than or equal to x <= y

Bu koşullar, en yaygın olarak "if ifadeleri" ve döngülerde olmak üzere çeşitli şekillerde kullanılabilir.

Anahtar sözcükle bir "if ifadesi" yazılır ifve bir koşul şuysa yürütülecek bir kod bloğunu belirtmek için kullanılır TRUE:

Örnek

a <- 33
b <- 200

if (b > a) {
  print("b is greater than a")
}

Bu örnekte, b'nin a'dan büyük olup olmadığını test etmek için if ifadesinin bir parçası olarak kullanılan a ve b olmak üzere iki değişken kullanıyoruz . a 33 ve b 200 olduğundan , 200'ün 33'ten büyük olduğunu biliyoruz ve bu nedenle ekrana "b a'dan büyüktür" yazdırıyoruz.

R, koddaki kapsamı tanımlamak için küme parantezleri { } kullanır.


Aksi takdirde

Anahtar else ifkelime, R'nin "önceki koşullar doğru değilse, bu koşulu deneyin" deme şeklidir:

Örnek

a <- 33
b <- 33

if (b > a) {
  print("b is greater than a")
} else if (a == b) {
  print ("a and b are equal")
}

Bu örnekte aeşittir b, yani ilk koşul doğru değil, ancak else ifkoşul doğru, bu yüzden ekrana "a ve b eşittir" yazdırıyoruz.

else ifR'de istediğiniz kadar ifade kullanabilirsiniz .


Aksi takdirde

Anahtar elsekelime, önceki koşullar tarafından yakalanmayan her şeyi yakalar:

Örnek

a <- 200
b <- 33

if (b > a) {
  print("b is greater than a")
} else if (a == b) {
  print("a and b are equal")
} else {
  print("a is greater than b")
}

Bu örnekte, a büyüktür b , bu nedenle ilk koşul doğru değil, ayrıca else if koşulu doğru değil, bu nedenle else koşuluna gidiyoruz ve ekrana "a, b'den büyüktür" yazdırıyoruz.

elseOlmadan da kullanabilirsiniz else if:

Örnek

a <- 200
b <- 33

if (b > a) {
  print("b is greater than a")
} else {
  print("b is not greater than a")
}


İç İçe If İfadeleri

ifİfadelerin içinde de ifadeler olabilir , buna iç içeif ifadeler denir . if

Örnek

x <- 41

if (x > 10) {
  print("Above ten")
  if (x > 20) {
    print("and also above 20!")
  } else {
    print("but not above 20.")
  }
} else {
  print("below 10.")
}

VE

& sembolü ( ve) mantıksal bir operatördür ve koşullu ifadeleri birleştirmek için kullanılır:

Örnek

a'nın b'den büyük olup olmadığını ve c'nin a'dan büyük olup olmadığını test edin:

a <- 200
b <- 33
c <- 500

if (a > b & c > a){
  print("Both conditions are true")
}

VEYA

Sembol ( |veya) mantıksal bir operatördür ve koşullu ifadeleri birleştirmek için kullanılır:

Örnek

a'nın b'den büyük olup olmadığını veya c'nin a'dan büyük olup olmadığını test edin:

a <- 200
b <- 33
c <- 500

if (a > b | a > c){
  print("At least one of the conditions is true")
}