Exercise 1: Mean of Positive Values

tạo ra 100 giá trị ngẫu nhiên từ phân phối chuẩn. Các giá trị âm được thay thế bằng NA. Sau đó, tính trung bình của các giá trị dương còn lại.

set.seed(123)
x <- rnorm(100)

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
mean_positive <- x %>%
  ifelse(. < 0, NA, .) %>%
  mean(na.rm = TRUE)

mean_positive
## [1] 0.7889055

##Exercise 2: Root Mean Square Error (RMSE) tính toán sai số RMSE giữa giá trị thực và giá trị dự đoán.

df <- data.frame(
  t = c(3, 5, 2, 7),
  y = c(2.5, 5.1, 2.8, 6.5)
)
rmse <- df %>%
  mutate(error_sq = (t - y)^2) %>%
  summarise(rmse = sqrt(mean((t - y)^2)))

rmse
##        rmse
## 1 0.5361903