Câu 1 (5 điểm):

1. Sinh ngẫu nhiên 500 giá trị từ phân phối đều liên tục trên khoảng [1,7.]

2. Tính kỳ vọng, phương sai của mẫu và vẽ biểu đồ histogram

# Sinh ngẫu nhiên 500 giá trị từ phân phối đều [1,7]
set.seed(123)
x <- runif(500, min = 1, max = 7)

# Kỳ vọng (trung bình mẫu)
mean_x <- mean(x)

# Phương sai mẫu
var_x <- var(x)

mean_x
## [1] 3.971702
var_x
## [1] 2.91225
# Vẽ histogram
hist(x,
     breaks = 20,
     col = "lightblue",
     main = "Histogram của 500 giá trị phân phối đều [1,7]",
     xlab = "Giá trị",
     ylab = "Tần suất")

Câu 2 (5 điểm):

1. Đọc tập dữ liệu Iris bằng thư viện Pandas.

2. Tính hệ số tương quan giữa chiều dài đài hoa (Sepal.Length) và chiều rộng đài hoa (Sepal.Width).

3. Vẽ biểu đồ scatter giữa hai đặc trưng này

library(reticulate)
py_require(c("pandas", "matplotlib"))
import pandas as pd
# Lấy data frame iris từ R sang Python
df = r.iris
df.head()
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
# Tính hệ số tương quan Pearson giữa Sepal.Length và Sepal.Width
cor_value = df["Sepal.Length"].corr(df["Sepal.Width"])
print("Hệ số tương quan giữa Sepal.Length và Sepal.Width:", cor_value)
## Hệ số tương quan giữa Sepal.Length và Sepal.Width: -0.11756978413300208
#Vẽ biểu đồ scatter giữa hai đặc trưng.
import matplotlib.pyplot as plt

plt.scatter(df["Sepal.Length"], df["Sepal.Width"])
plt.xlabel("Sepal.Length")
plt.ylabel("Sepal.Width")
plt.title("Scatter plot giữa Sepal.Length và Sepal.Width")
plt.show()