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

Lặp qua từng hàng của data frame

Hãy tưởng tượng bạn quan tâm đến những ngày mà giá cổ phiếu của Apple vượt trên 117. Nếu vượt ngưỡng này, bạn muốn in ra ngày hiện tại và giá cổ phiếu. Nếu bạn có một data frame stock với cột date và cột giá apple, bạn có thể lặp qua các hàng của data frame để làm việc này không? Chắc chắn là có!

Trước khi làm, lưu ý rằng bạn có thể lấy số hàng trong data frame bằng nrow(stock). Sau đó, bạn có thể tạo một dãy để lặp từ 1:nrow(stock).

for (row in 1:nrow(stock)) {
    price <- stock[row, "apple"]
    date  <- stock[row, "date"]

    if(price > 117) {
        print(paste("On", date, 
                    "the stock price was", price))
    }
}
[1] "On 2016-12-21 the stock price was 117.06"
[1] "On 2016-12-27 the stock price was 117.26"

Đoạn này kết hợp khá nhiều thứ bạn đã học đến giờ: if statement, trích lọc (subsetting) vector, điều kiện và vòng lặp! Chúc mừng bạn đã học được rất nhiều!

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

Hướng dẫn

100 XP
  • Điền vào các chỗ trống trong vòng lặp for để đáp ứng các yêu cầu sau:
    • price phải chứa giá ở lần lặp đó
    • date phải chứa ngày ở lần lặp đó
    • Lần này, bạn muốn biết khi nào apple vượt trên 116.
    • Nếu vượt, hãy in ra date và price.
    • Nếu thấp hơn 116, hãy in ra date và in rằng đó không phải là một ngày quan trọng!