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 if
R พูดว่า "หากเงื่อนไขก่อนหน้านี้ไม่เป็นความจริง ให้ลองใช้เงื่อนไขนี้":
ตัวอย่าง
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")
}