1. Learn
  2. /
  3. Courses
  4. /
  5. Lập trình song song trong R

Connected

Exercise

Biên độ giá hằng ngày

Biên độ giá hằng ngày của một cổ phiếu là chỉ báo tốt về mức độ biến động trên thị trường của nó.

Bạn làm việc cho một công ty đầu tư với vai trò Data Analyst. Sếp của bạn muốn tính biên độ hằng ngày cho cổ phiếu của mười công ty công nghệ hàng đầu thế giới. Bạn có một danh sách các tệp CSV, stock_list, chứa giá cổ phiếu theo ngày. Với mỗi tệp, bạn muốn thêm một cột biên độ. Một Data Analyst mới đã viết đoạn mã R sau để thực hiện việc này:

for (file in file_list) {

  df <- read.csv(file)
  df$range <- 0
  for (r in 1:nrow(df)) {
    df$range[r] <- df$High[r] - df$Low[r]
  }
  write.csv(df, file)
}

Bạn muốn chạy đoạn mã này song song trên một máy Apple Mac chuyên dụng và muốn dùng cụm FORK để có kết quả tốt hơn. Gói parallel đã được nạp trong không gian làm việc của bạn.

Instructions

100 XP
  • Dùng đoạn mã đã cho để viết hàm add_range() nhận đường dẫn tệp làm đối số và thêm cột range vào tệp đó.
  • Tạo cụm FORK với bốn lõi.
  • Áp dụng add_range() cho mọi phần tử của stock_list theo kiểu song song.
  • Dừng cụm.