1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn viết hàm trong R

Connected

Bài tập

Chuyển đổi năng suất sang hệ mét

Năng suất trong dữ liệu ngô của NASS cũng được cho theo đơn vị Mỹ, cụ thể là giạ trên mẫu Anh (bushels per acre). Bạn sẽ cần viết thêm một số hàm tiện ích để chuyển đổi đơn vị này sang đơn vị hệ mét là kg trên hecta. Lần này, bạn sẽ dùng phương pháp điều hòa (harmonic) để xử lý các chênh lệch lớn về giá trị.

Lịch sử, bushel là đơn vị thể tích bằng 8 gallon, nhưng trong bối cảnh ngũ cốc, hiện nay bushel được định nghĩa theo khối lượng. Khối lượng này khác nhau với từng loại hạt! Để giải bài này, bạn cần biết các thông tin sau.

  1. Một pound (lb) bằng 0,45359237 kilogram (kg).
  2. Một bushel tương ứng với 48 lb lúa mạch (barley), 56 lb ngô (corn), hoặc 60 lb lúa mì (wheat).

magrittr đã được nạp.

Hướng dẫn 1/4

undefined XP
  • 1

    Viết một hàm để đổi khối lượng từ lb sang kg. Hàm này nhận một đối số duy nhất, lbs.

  • 2

    Viết một hàm để đổi khối lượng từ bushel sang lb. Hàm này nhận hai đối số, bushels và crop. Hàm cần định nghĩa một vector tra cứu các hệ số quy đổi cho từng loại cây trồng (barley, corn, wheat), trích xuất hệ số cho loại tương ứng, rồi nhân với số bushel.

  • 3

    Viết một hàm để đổi khối lượng từ bushel sang kg. Hàm này nhận hai đối số, bushels và crop. Hàm cần đổi khối lượng từ bushel sang lb rồi sang kg.

  • 4

    Viết một hàm để đổi năng suất từ bushel/mẫu Anh (bushels/acre) sang kg/ha. Các đối số nên là bushels_per_acre và crop. Cho phép ba lựa chọn crop: "barley", "corn", và "wheat". Hàm cần chuẩn hóa đối số crop, rồi đổi bushel sang kg, sau đó đổi mẫu Anh điều hòa (harmonic acres) sang hecta.