1. CÂU LỆNH IF LÀ GÌ??

Câu lệnh if:

Câu lệnh if dùng để kiểm tra điều kiện. Nếu điều kiện đúng (true) thì khối lệnh bên trong if sẽ được thực hiện.

# if (điều_kiện) {
#   // Các câu lệnh được thực thi nếu điều_kiện đúng}

Câu lệnh if...else:

Dùng khi muốn thực hiện một khối lệnh nếu điều kiện đúng, và một khối lệnh khác nếu điều kiện sai.

# if (điều_kiện) {
#   // Nếu điều kiện đúng
# } else {
#    // Nếu điều kiện sai}

Câu lệnh if...else if...else

# if (điều_kiện1) {
#     // Nếu điều_kiện1 đúng
# } else if (điều_kiện2) {
#     // Nếu điều_kiện1 sai và điều_kiện2 đúng
# } else {
#     // Nếu tất cả các điều kiện trên đều sai
# }

1.1 Thực hành câu lệnh if

# Gán 50 cho a
a <- 50

# Nếu a > 100 thì cho ra kết quả là "sai"
if (a > 100) {print("sai")}

1.2 Thực hành câu lệnh if...else

# Gán 50 cho a
a <- 50

# Nếu a > 100 thì cho ra kết quả là "sai"
# Nếu a < 100 thì cho ra kết quả là "đúng"
if(a > 100) {print("sai")
  } else {print("đúng")}
## [1] "đúng"

2. if...else if...else NÂNG CAO

diem <- 99

if (diem <= 50) {print("Yếu")
  } else if (diem > 50 & diem <= 70) {print("Khá")
  } else if (diem > 70 & diem <= 90) {print("Giỏi")
  } else if (diem > 90) {print("Xuất sắc")}
## [1] "Xuất sắc"

3. DÙNG ifelse

score <- c(1, 3, 7, 8.5, 9, 10)

ifelse(score <= 5,
       "Yếu",
       ifelse (score > 5 & score <= 7,
           "Khá",
            ifelse (score > 7 & score <= 9,
                "Giỏi", "Xuất sắc")))
## [1] "Yếu"      "Yếu"      "Khá"      "Giỏi"     "Giỏi"     "Xuất sắc"

4. BÀI TẬP

Bài 1:

Viết một hàm nhận vào nhiệt độ (độ C) và trả về chuỗi:

  • Nhỏ hơn 20: Lạnh

  • Từ 20-30: Vừa

  • Lớn hơn 30: Nóng

phan_loai_nhiet_do <- function(temp) {
  ifelse(temp <= 20, 
         "Lạnh",
         ifelse(temp > 20 & temp <= 30,
                "Vừa",
                ifelse(temp > 30,
                       "Nóng")))
}
phan_loai_nhiet_do(26)
## [1] "Vừa"

Sửa:

phan_loai_nhiet_do <- function(temp) {
  if (temp < 20) {
    return("Lạnh")
  } else if (temp <= 30) {
    return("Vừa phải")
  } else {
    return("Nóng")
  }
}

phan_loai_nhiet_do(25)  # "Vừa phải"
## [1] "Vừa phải"
phan_loai_nhiet_do(15)  # "Lạnh"
## [1] "Lạnh"

Bài 2:

Cho vector diem <- c(95, 72, 48, 66, 88), dùng ifelse() để phân loại:

  • = 90: “A”

  • = 70: “B”

  • = 50: “C”

  • < 50: “F”

Diem <- c(95, 72, 48, 66, 88)

ifelse(Diem >= 90,
        "A",
        ifelse(Diem >= 70,
                "B",
               ifelse(Diem >= 50,
                      "C","F")))
## [1] "A" "B" "F" "C" "B"

Sửa:

diem_1 <- c(95, 72, 48, 66, 88)

xep_loai <- ifelse(diem_1 >= 90, "A",
             ifelse(diem_1 >= 70, "B",
             ifelse(diem_1 >= 50, "C", "F")))

xep_loai
## [1] "A" "B" "F" "C" "B"