Cau 1: -Sinh ngẫu nhiên 300 giá trị từ phân phối đều liên tục trong khoảng [2, 10] -Tính giá trị kỳ vọng và phương sai của mẫu dữ liệu trên

Cau 2: -Đọc tập dữ liệu Iris bằng thư viện Pandas -Xác định giá trị lớn nhất và nhỏ nhất của từng đặc trưng -Vẽ biểu đồ barplot hiển thị số lượng mẫu của mỗi loại hoa

Cau 1:

set.seed(0)  

data <- runif(300, min = 2, max = 10)
data
##   [1] 9.173578 4.124069 4.976991 6.582827 9.265662 3.613455 9.187117 9.557402
##   [9] 7.286382 7.032912 2.494290 3.647797 3.412454 7.496183 5.072830 8.158731
##  [17] 5.981594 7.740948 9.935249 5.040281 8.219562 9.477642 3.697140 7.213390
##  [25] 3.004441 4.137765 5.088913 2.107123 5.059104 8.957527 4.722792 5.856641
##  [33] 6.796527 5.948330 3.489741 8.618987 7.347734 8.353919 2.863549 7.789688
##  [41] 5.290195 8.567570 7.176482 8.263462 6.424290 6.237757 8.314850 2.186650
##  [49] 5.817841 7.858510 7.541852 5.820957 8.889676 5.504777 3.958378 2.565432
##  [57] 2.795729 4.530174 6.149074 7.296041 5.254641 9.303007 4.348827 5.672526
##  [65] 4.659157 7.206964 4.064134 5.828362 8.130485 2.673975 9.002571 4.712584
##  [73] 8.715523 4.773468 4.670199 5.810810 9.137587 8.914716 5.119916 8.218566
##  [81] 9.684944 5.477276 7.700117 5.199955 4.602817 8.056697 3.621538 7.688970
##  [89] 2.973535 3.963908 3.146435 3.917035 2.471475 7.138306 9.010154 8.231317
##  [97] 8.378471 5.642196 5.280673 8.486962 6.839466 7.237791 4.825578 4.162081
## [105] 9.941472 7.067946 3.705665 3.034979 5.824944 9.392596 6.790088 9.809366
## [113] 7.854340 4.853815 5.451790 3.185692 2.104621 7.724529 2.825474 5.570275
## [121] 7.120808 9.934709 5.964749 5.874796 3.387539 8.038568 5.631164 6.089358
## [129] 3.660361 3.829265 6.765696 6.598978 2.616515 2.284325 7.142364 9.428922
## [137] 6.784739 6.487206 6.208222 9.880762 6.061135 7.462305 6.812330 3.910949
## [145] 4.065327 7.834477 5.620567 3.401014 7.973586 2.839901 8.916360 6.917160
## [153] 6.457276 4.630219 5.625052 6.003528 3.446931 6.237045 2.602206 4.222047
## [161] 3.701596 4.278324 9.160753 5.569883 8.239879 9.044952 5.304994 2.510468
## [169] 4.683900 7.789808 4.700923 7.043313 8.724916 8.849053 5.130874 5.043951
## [177] 9.163563 7.154526 7.928629 6.842428 9.224653 4.349841 3.530081 9.091608
## [185] 6.026716 9.016460 3.513549 8.064824 7.795991 9.549799 6.381173 7.693951
## [193] 5.111241 2.806985 9.418417 4.265860 6.724585 2.882885 8.724056 4.543709
## [201] 8.262811 4.140066 3.749162 6.134375 4.151605 3.449347 6.148609 6.502263
## [209] 3.033255 4.050941 7.743482 9.691279 2.801127 8.105782 9.583731 8.549078
## [217] 4.466339 7.196636 9.626844 9.629861 4.719834 4.099793 3.323631 4.577344
## [225] 6.081002 9.391748 6.087678 4.445659 2.371687 5.342850 8.832012 4.777845
## [233] 3.051539 4.995895 7.051362 5.120631 7.517023 7.515307 6.439205 5.436995
## [241] 5.621761 4.451546 6.626832 9.282962 3.140833 5.320381 3.687406 5.430003
## [249] 3.061520 5.680772 9.543656 8.095791 9.463279 5.765428 6.828705 5.879917
## [257] 2.870451 3.981815 5.988116 4.982934 9.477531 6.191889 4.537157 4.223728
## [265] 8.300324 7.619700 3.320221 2.515660 8.037645 6.963280 3.356614 2.497712
## [273] 2.872234 5.053731 3.354487 4.389220 3.537676 4.057360 3.449855 5.818510
## [281] 8.165896 2.222297 6.218486 9.042553 4.984507 2.383673 3.109026 4.571937
## [289] 3.238653 3.057825 3.770447 3.811046 3.051332 9.852508 4.616110 6.055516
## [297] 7.451540 2.793353 2.951220 2.403517
mean_value <- mean(data)
variance_value <- var(data)

mean_value
## [1] 5.921305
variance_value
## [1] 4.816695

Cau 2:

library(reticulate)
py_install("matplotlib")
## Using virtual environment "C:/Users/ANH/OneDrive/文档/.virtualenvs/r-reticulate" ...
import pandas as pd
mydata = pd.read_csv("iris.csv")
print(mydata.head())
##    sepal length (cm)  sepal width (cm)  ...  petal width (cm)  target
## 0                5.1               3.5  ...               0.2       0
## 1                4.9               3.0  ...               0.2       0
## 2                4.7               3.2  ...               0.2       0
## 3                4.6               3.1  ...               0.2       0
## 4                5.0               3.6  ...               0.2       0
## 
## [5 rows x 5 columns]
min_values = mydata.iloc[:, :-1].min() #iloc: index location(truy cap theo vt)
max_values = mydata.iloc[:, :-1].max()

print("Giá trị nhỏ nhất:\n", min_values)
## Giá trị nhỏ nhất:
##  sepal length (cm)    4.3
## sepal width (cm)     2.0
## petal length (cm)    1.0
## petal width (cm)     0.1
## dtype: float64
print("\nGiá trị lớn nhất:\n", max_values)
## 
## Giá trị lớn nhất:
##  sepal length (cm)    7.9
## sepal width (cm)     4.4
## petal length (cm)    6.9
## petal width (cm)     2.5
## dtype: float64
import matplotlib.pyplot as plt
sl = mydata["target"].value_counts().sort_index()

labels = ["Setosa", "Versicolor", "Virginica"]
colors = ["#FF9AA2", "#FFB7B2", "#FFDAC1"]

plt.bar(range(len(sl)), sl.values, color=colors)

plt.xticks(range(len(sl)), labels)  #chu thich duoi moi cot
## ([<matplotlib.axis.XTick object at 0x0000020201BFC590>, <matplotlib.axis.XTick object at 0x0000020201C11590>, <matplotlib.axis.XTick object at 0x0000020201C11D10>], [Text(0, 0, 'Setosa'), Text(1, 0, 'Versicolor'), Text(2, 0, 'Virginica')])
plt.xlabel("Loại hoa")
plt.ylabel("Số lượng mẫu")
plt.title("Số lượng mẫu của mỗi loại hoa Iris")

plt.show()