Menu
CoddyTech

Các phép toán trên vectơ

Thuộc phần Kiến thức nền tảng trong hành trình R của Coddy. Bài học 59 trên 78.

Một trong những tính năng mạnh mẽ nhất của R là khả năng thực hiện các phép toán trên toàn bộ vector cùng lúc mà không cần lặp qua từng phần tử. Nhờ vậy, code của bạn gọn gàng và hiệu quả hơn.

Khi bạn áp dụng toán tử số học cho một vector, R thực hiện phép toán trên mọi phần tử:

prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)

Đầu ra:

[1]  9.0 22.5 13.5 27.0

Bạn cũng có thể thực hiện phép tính giữa hai vector có cùng độ dài. R ghép các phần tử tương ứng với nhau:

quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)

Đầu ra:

[1] 20 25 60 90

R cung cấp các hàm tích hợp hữu ích để tính toán phổ biến trên mảng, như sum(), mean(), min() và max():

scores <- c(85, 92, 78, 95, 88)
print(sum(scores))
print(mean(scores))
print(min(scores))
print(max(scores))

Đầu ra:

[1] 438
[1] 87.6
[1] 78
[1] 95
challenge icon

Thử thách

Dễ

Bạn được cung cấp các vector sau:

hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)

Thực hiện các phép tính sau và in ra từng kết quả:

  1. Tính thu nhập mỗi ngày bằng cách nhân hours_worked với hourly_rate theo từng phần tử. In ra vector này.
  2. Cộng thêm 10% tiền thưởng vào thu nhập mỗi ngày (nhân với 1.1). In ra vector thu nhập đã cập nhật.
  3. In ra tổng thu nhập trong tuần bằng sum()
  4. In ra thu nhập trung bình mỗi ngày bằng mean()
  5. In ra mức thu nhập cao nhất trong một ngày bằng max()
  6. In ra mức thu nhập thấp nhất trong một ngày bằng min()

Kết quả của bạn sẽ là:

[1] 120 140 162 132 136
[1] 132.0 154.0 178.2 145.2 149.6
[1] 759
[1] 151.8
[1] 178.2
[1] 132

Tự làm thử

# Các vectơ đã cho
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)

# TODO: Viết code của bạn bên dưới

# 1. Tính thu nhập hằng ngày (nhân theo từng phần tử)

# 2. Cộng thêm 10% tiền thưởng vào thu nhập hằng ngày

# 3. In ra tổng thu nhập trong tuần bằng sum()

# 4. In ra thu nhập trung bình hằng ngày bằng mean()

# 5. In ra thu nhập cao nhất trong một ngày bằng max()

# 6. In ra thu nhập thấp nhất trong một ngày bằng min()
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch R online