R ถ้า ... อื่น


เงื่อนไขและถ้อยแถลง

R รองรับเงื่อนไขตรรกะปกติจากคณิตศาสตร์:

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

เงื่อนไขเหล่านี้สามารถใช้ได้หลายวิธี โดยทั่วไปจะใช้ใน "คำสั่ง if" และลูป

"คำสั่ง if" เขียนด้วยifคีย์เวิร์ด และใช้เพื่อระบุบล็อกของโค้ดที่จะดำเนินการหากเงื่อนไขคือTRUE:

ตัวอย่าง

a <- 33
b <- 200

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

ในตัวอย่างนี้ เราใช้ตัวแปรสองตัวคือaและbซึ่งใช้เป็นส่วนหนึ่งของคำสั่ง if เพื่อทดสอบว่าbมากกว่าaหรือไม่ เนื่องจากaคือ33และbคือ200เรารู้ว่า 200 มากกว่า 33 ดังนั้นเราจึงพิมพ์ไปที่หน้าจอว่า "b มากกว่า a"

R ใช้วงเล็บปีกกา { } เพื่อกำหนดขอบเขตในโค้ด


ถ้า

คีย์เวิร์ดคือวิธี ที่else ifR พูดว่า "หากเงื่อนไขก่อนหน้านี้ไม่เป็นความจริง ให้ลองใช้เงื่อนไขนี้":

ตัวอย่าง

a <- 33
b <- 33

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

ในตัวอย่างaนี้เท่ากับbดังนั้นเงื่อนไขแรกไม่เป็นความจริง แต่else ifเงื่อนไขนั้นเป็นจริง เราจึงพิมพ์ไปที่หน้าจอว่า "a และ b เท่ากัน"

คุณสามารถใช้else ifคำสั่งต่างๆ ได้มากเท่าที่คุณต้องการใน R


ถ้าอย่างอื่น

elseคีย์เวิร์ดจับทุกอย่างที่ไม่เป็นไปตามเงื่อนไขก่อนหน้านี้:

ตัวอย่าง

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")
}

ในตัวอย่างนี้aมากกว่าbดังนั้นเงื่อนไขแรกไม่เป็นความจริง และelse ถ้าเงื่อนไขไม่เป็นความจริงด้วย เราจึงไปที่ เงื่อนไข elseและพิมพ์ไปที่หน้าจอว่า "a มากกว่า b"

คุณสามารถใช้elseโดยไม่ต้อง else if:

ตัวอย่าง

a <- 200
b <- 33

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


ซ้อนกันถ้างบ

คุณยังสามารถมีifข้อความสั่งภายใน ifข้อความสั่งได้ ซึ่งเรียกว่าคำสั่งซ้อน if

ตัวอย่าง

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.")
}

และ

สัญลักษณ์& (และ) เป็นโอเปอเรเตอร์เชิงตรรกะ และใช้เพื่อรวมคำสั่งแบบมีเงื่อนไข:

ตัวอย่าง

ทดสอบว่า a มากกว่า b และถ้า c มากกว่า a:

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

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

หรือ

สัญลักษณ์|(หรือ) เป็นตัวดำเนินการเชิงตรรกะ และใช้เพื่อรวมคำสั่งเงื่อนไข:

ตัวอย่าง

ทดสอบว่า a มากกว่า b หรือ c มากกว่า a:

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

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