set.seed(123) # Đặt seed để kết quả có thể tái lặp
data <- runif(500, min = 1, max = 7)
# Tính kỳ vọng và phương sai
mean_value <- mean(data)
variance_value <- var(data)
cat("Kỳ vọng mẫu:", mean_value, "\n")
## Kỳ vọng mẫu: 3.971702
cat("Phương sai mẫu:", variance_value, "\n")
## Phương sai mẫu: 2.91225
hist(data, breaks = 20, col = "skyblue", border = "black",
main = "Histogram của mẫu", xlab = "Giá trị", ylab = "Tần suất")
## Câu 2: Đọc tập dữ liệu Iris bằng Python
#install.packages("reticulate")
library(reticulate)
use_python("C:/Users/fpt/anaconda3/python.exe", required = TRUE)
py_config()
## python: C:/Users/fpt/anaconda3/python.exe
## libpython: C:/Users/fpt/anaconda3/python312.dll
## pythonhome: C:/Users/fpt/anaconda3
## version: 3.12.4 | packaged by Anaconda, Inc. | (main, Jun 18 2024, 15:03:56) [MSC v.1929 64 bit (AMD64)]
## Architecture: 64bit
## numpy: C:/Users/fpt/anaconda3/Lib/site-packages/numpy
## numpy_version: 1.26.4
##
## NOTE: Python version was forced by use_python() function
library(reticulate)
py_module_available("pandas")
## [1] TRUE
py_module_available("matplotlib")
## [1] TRUE
py_module_available("sklearn")
## [1] TRUE
library(reticulate)
repl_python()
## Python 3.12.4 (C:/Users/fpt/anaconda3/python.exe)
## Reticulate 1.40.0 REPL -- A Python interpreter in R.
## Enter 'exit' or 'quit' to exit the REPL and return to R.
## exit
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
# Load dataset
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
# Chỉnh sửa tên cột để phù hợp với cú pháp Python
df.columns = [col.replace(" (cm)", "").replace(" ", "_") for col in df.columns]
# Tính hệ số tương quan
correlation = df["sepal_length"].corr(df["sepal_width"])
print(f"Hệ số tương quan giữa chiều dài và chiều rộng đài hoa: {correlation}")
## Hệ số tương quan giữa chiều dài và chiều rộng đài hoa: -0.11756978413300208
# Vẽ biểu đồ scatter
plt.figure(figsize=(8, 5))
sns.scatterplot(x=df["sepal_length"], y=df["sepal_width"])
plt.xlabel("Chiều dài đài hoa (Sepal Length)")
plt.ylabel("Chiều rộng đài hoa (Sepal Width)")
plt.title("Biểu đồ Scatter giữa chiều dài và chiều rộng đài hoa")
plt.show()