fork download
  1. ---
  2. title: "BÀI TẬP THỰC HÀNH R"
  3. author: "Trịnh Chấn Duy_23120419"
  4. date: "`r Sys.Date()`"
  5. output:
  6. pdf_document:
  7. latex_engine: xelatex
  8. ---
  9. ## BÀI TẬP THỰC HÀNH R
  10. ### Task 1: Một nhà sản xuất có tỷ lệ sản phẩm lỗi là 5%. Mỗi ngày,công ty kiểm tra 20 sản phẩm để đánh giá chất lượng.
  11. #### 1. Đặt biến ngẫu nhiên và xác định phân phối cho bài toán trên. Vẽ đồ thị hàm mật độ xác suất cho phân phối đó.
  12. ```{r}
  13. p <- 0.05
  14. n <- 20
  15. x <- 0:20
  16. y <- dbinom(x, n, p)
  17. plot(x, y, type = "h", lwd = 2, col = "blue", xlab = "Số sản phẩm lỗi", ylab = "Xác suất")
  18. ```
  19. #### 2. Tính xác suất để có đúng 3 sản phẩm lỗi trong 20 sản phẩm được kiểm tra.
  20. ```{r}
  21. dbinom(3, n, p)
  22. ```
  23. #### 3. Tính xác suất để có tối đa 3(0, 1, 2) sản phẩm lỗi trong 20 sản phẩm được kiểm tra.
  24. ```{r}
  25. pbinom(3, n, p)
  26. ```
  27. #### 4. Tìm số sản phẩm lỗi tối thiểu để xác suất tích lũy ít nhất là 0.8 trong tổng 20 sản phẩm.
  28. ```{r}
  29. qbinom(0.8, n, p)
  30. ```
  31. #### 5. Tạo ngẫu nhiên số sản phẩm lỗi trong 15 ngày, mỗi ngày kiểm tra 20 sản phẩm.
  32. ```{r}
  33. rbinom(15, n, p)
  34. ```
  35.  
  36. ### Task 2: Một học sinh có thể đi bộ từ nhà đến trường trong khoảng thời gian từ 10 đến 20 phút, với xác suất như nhau cho mỗi khoảng thời gian trong khoảng này.
  37. #### 1. Đặt biến ngẫu nhiên và xác định phân phối cho bài toán trên. Vẽ đồ thị hàm mật độ xác suất cho phân phối đó.
  38. ```{r}
  39. x <- 10:20
  40. y <- dunif(x, min = 10, max = 20)
  41. plot(x, y, type = "h", lwd = 2, col = "blue", xlab = "Thời gian đi bộ", ylab = "Xác suất")
  42. ```
  43. #### 2. Tính mật độ xác suất khi thời gian đi bộ là 15 phút.
  44. ```{r}
  45. dunif(15, min = 10, max = 20)
  46. ```
  47. #### 3. Tính xác suất để học sinh đi bộ đến trường trong khoảng 12 phút hoặc ít hơn.
  48. ```{r}
  49. punif(12, min = 10, max = 20)
  50. ```
  51. #### 4. Tìm thời gian tối đa sao cho xác suất học sinh đi bộ đến trường nhanh hơn thời gian đó là 80%.
  52. ```{r}
  53. qunif(0.8, min = 10, max = 20)
  54. ```
  55. #### 5. Tạo ngẫu nhiên thời gian đi bộ từ nhà đến trường trong 12 ngày.
  56. ```{r}
  57. runif(12, min = 10, max = 20)
  58. ```
  59. ### Bài 1: Số cuộc gọi đến một trung tâm dịch vụ khách hàng trung bình là 10 cuộc mỗi giờ.
  60. #### 1. Đặt biến ngẫu nhiên và xác định phân phối cho bài toán trên. Vẽ đồ thị hàm mật độ xác suất cho phân phối đó.
  61. ```{r}
  62. lambda <- 10
  63. x <- 0:20
  64. y <- dpois(x, lambda)
  65. plot(x, y, type = "h", lwd = 2, col = "blue", xlab = "Số cuộc gọi đến", ylab = "Xác suất")
  66. ```
  67. #### 2. Tính xác suất nhận được đúng 15 cuộc gọi trong một giờ.
  68. ```{r}
  69. dpois(15, lambda)
  70. ```
  71. #### 3. Tính xác suất nhận được tối đa 8 cuộc gọi trong một giờ.
  72. ```{r}
  73. ppois(8, lambda)
  74. ```
  75. #### 4. Tính xác suất nhận được nhiều hơn 10 cuộc gọi trong một giờ
  76. ```{r}
  77. ppois(10, lambda, lower.tail = FALSE)
  78. ```
  79. #### 5. Tìm số cuộc gọi tối thiểu nhận được trong một giờ để xác suất nhận được nhiều hơn số cuộc gọi này là 90%.
  80. ```{r}
  81. qpois(0.9, lambda, lower.tail = FALSE)
  82. ```
  83. #### 6. Tạo ngẫu nhiên số cuộc gọi đến trong 20 giờ.
  84. ```{r}
  85. rpois(20, lambda)
  86. ```
  87. ### Bài 2: Cho biến ngẫu nhiên X có phân phối siêu bội với N = 100, M = 25 và cỡ mẫu n=15
  88. #### 1. Vẽ biểu đồ cột hàm xác suất của phân phối trên
  89. ```{r}
  90. N <- 100
  91. M <- 25
  92. n <- 15
  93. x <- 0:50
  94. y <- dnbinom(x, size = N, mu = M)
  95. barplot(y, names.arg = x, col = "blue", xlab = "Số lần thử", ylab = "Xác suất")
  96. ```
  97. #### 2. Tính P (5 ≤ X ≤ 12) bằng cách lấy tổng các xác suất được cho bởi hàm xác suất
  98. ```{r}
  99. sum(dnbinom(5:12, size = N, mu = M))
  100. ```
  101. #### 3. Tính lại xác suất ở câu 2 bằng cách sử dụng hàm phân phối tích lũy.
  102. ```{r}
  103. sum(pnbinom(12, size = N, mu = M) - pnbinom(4, size = N, mu = M))
  104. ```
  105. ### Bài 3:
  106. #### 1. Sử dụng lệnh curve(dexp(x,0.6),0,10) để vẽ hàm mật độ xác suất của phân phối mũ với tham số λ = 0.6.
  107. ```{r}
  108. curve(dexp(x, 0.6), 0, 10)
  109. ```
  110. #### 2. Đối với đồ thị nhận được hãy vẽ thêm hàm mật độ xác suất của phân phối mũ với tham số λ = 0.3 (cách làm: thêm add=TRUE trong lệnh curve).
  111. ```{r}
  112. curve(dexp(x, 0.3), 0, 10, add = TRUE, col = "red")
  113. ```
  114. #### 3. Sử dụng hàm phân phối tích lũy để tính diện tích bên dưới của hai hàm mật độ.
  115. ```{r}
  116. pexp(2, 0.6)
  117. pexp(2, 0.3)
  118. ```
  119. ### Bài 4: Vẽ đồ thị hàm mật độ xác suất của BNN X ∼ χ2(3) với x ∈ [0, 10].
  120. ```{r}
  121. curve(dchisq(x, 3), 0, 10)
  122. ```
  123. ### Bài 5: Chia cửa sổ đồ thị thành hai phần trên và dưới.
  124. #### 1. Trong phần trên, vẽ đồ thị hàm xác suất của BNN X ∼ B(50, 0.08), lấy ylim=c(0,0.25).
  125. ```{r}
  126. par(mfrow = c(2, 1))
  127. curve(dbinom(x, 50, 0.08), 0, 10, ylim = c(0, 0.25))
  128. ```
  129. #### 2. Trong phần dưới, vẽ đồ thị hàm xác suất của BNN Y ∼ P (4) với x ∈ {0, ..., 50}, với cùng lựa chọn: ylim=c(0,0.25).
  130. ```{r}
  131. curve(dpois(x, 4), 0, 50, ylim = c(0, 0.25))
  132. ```
  133. ### Bài 6: Vẽ đồ thị của hàm mật độ của BNN X ∼ B(50; 0.4) và thêm vào đồ thị này hàm mật độ của BNN Y ∼ N(20; 12).
  134. ```{r}
  135. curve(dbinom(x, 50, 0.4), 0, 50)
  136. curve(dnorm(x, 20, 12), 0, 50, add = TRUE, col = "red")
  137. ```
  138.  
Success #stdin #stdout #stderr 0.26s 40584KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Error in -title : invalid argument to unary operator
Execution halted