Câu 1 Dùng R để:

Tính giá trị trung bình, phương sai của tất cả các cột (trừ cột Species).

Vẽ biểu đồ phân tán giữa Sepal. Length và Sepal.Width, phân nhóm theo Species bằng ggplot2.

mydata <- iris
Slenght <- mydata$Sepal.Length
Swidth <- mydata$Sepal.Width
Plenght <- mydata$Petal.Length
Pwidth <- mydata$Petal.Width
# gia tri trung binh
mean(Slenght)
## [1] 5.843333
mean(Swidth)
## [1] 3.057333
mean(Plenght)
## [1] 3.758
mean(Pwidth)
## [1] 1.199333
# phuong sai cac cot
var(Slenght)
## [1] 0.6856935
var(Swidth)
## [1] 0.1899794
var(Plenght)
## [1] 3.116278
var(Pwidth)
## [1] 0.5810063

Tinh gia tri trung binh và phuong sai cua tat ca cac cot (tru Species)

data(iris)
sapply(iris[, -5], mean)
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##     5.843333     3.057333     3.758000     1.199333
sapply(iris[, -5], var)
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##    0.6856935    0.1899794    3.1162779    0.5810063

Bieu do phan tan Sepal.Length va Sepal.Width

library(ggplot2)

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point(size = 2) +
  labs(
    title = "Bieu do phan tan Sepal.Length va Sepal.Width",
    x = "Sepal Length",
    y = "Sepal Width"
  ) +
  theme_minimal()

Câu 2 Dùng Pandas để:

Đọc file iris.csv.

Lọc các dòng có Petal. Length lớn hơn 4.0.

Tính tổng của cột Sepal. Length cho dữ liệu đã lọc.

library(reticulate)
#python
import pandas as pd
df = pd.read_csv("iris.csv")
df_filtered = df[df["Petal.Length"] > 4.0]
result = df_filtered["Sepal.Length"].sum()
print(df_filtered)
##      Sepal.Length  Sepal.Width  Petal.Length  Petal.Width     Species
## 50            7.0          3.2           4.7          1.4  versicolor
## 51            6.4          3.2           4.5          1.5  versicolor
## 52            6.9          3.1           4.9          1.5  versicolor
## 54            6.5          2.8           4.6          1.5  versicolor
## 55            5.7          2.8           4.5          1.3  versicolor
## ..            ...          ...           ...          ...         ...
## 145           6.7          3.0           5.2          2.3   virginica
## 146           6.3          2.5           5.0          1.9   virginica
## 147           6.5          3.0           5.2          2.0   virginica
## 148           6.2          3.4           5.4          2.3   virginica
## 149           5.9          3.0           5.1          1.8   virginica
## 
## [84 rows x 5 columns]
print("tong do dai dai hoa hoa Chi dien vi:", result)
## tong do dai dai hoa hoa Chi dien vi: 538.4