1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. R trung cấp cho Tài chính

Connected

Bài tập

ifelse()

Một hàm rất hữu ích bạn nên biết là ifelse(). Hàm này tạo một câu lệnh if chỉ trong 1 dòng mã, và hơn thế nữa, nó hoạt động trên cả vector!

Giả sử bạn có một vector giá cổ phiếu. Nếu bạn muốn trả về "Buy!" mỗi khi apple > 110, và "Do nothing!" trong các trường hợp khác thì sao? Một câu lệnh if đơn giản sẽ không đủ để giải bài này. Tuy nhiên, với ifelse() bạn có thể làm như sau:

apple
[1] 109.49 109.90 109.11 109.95 111.03 112.12

ifelse(test = apple > 110, yes = "Buy!", no = "Do nothing!")
[1] "Do nothing!" "Do nothing!" "Do nothing!" "Do nothing!" "Buy!"       
[6] "Buy!"

ifelse() đánh giá test để tạo ra một vector logic, và tại những vị trí vector logic là TRUE thì TRUE sẽ được thay bằng giá trị trong yes. Tương tự, FALSE được thay bằng no.

Data frame stocks đã sẵn sàng để bạn sử dụng.

Hướng dẫn

100 XP
  • Dùng ifelse() để kiểm tra micr có lớn hơn 60 nhưng nhỏ hơn 62 không. Nếu đúng thì trả về 1, nếu sai thì trả về 0. Thêm kết quả vào stocks dưới dạng cột micr_buy.
  • Dùng ifelse() để kiểm tra apple có lớn hơn 117 không. Giá trị trả về nên là cột date nếu TRUE, và NA nếu không.
  • In stocks. date đã trở thành số! ifelse() loại bỏ thuộc tính của date trước khi trả về nên nó trở thành số.
  • Gán cho cột apple_date class() là "Date".
  • In stocks lần nữa.