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).
mydata <- iris
Slength <- mydata$Sepal.Length
Swidth <- mydata$Sepal.Width
Plength <- mydata$Petal.Length
Pwidth <- mydata$Petal.Width
noob code
mean(Slength) # Sepal.Length
## [1] 5.843333
mean(Swidth) # Sepal.Width
## [1] 3.057333
mean(Plength) #Petal.Length
## [1] 3.758
mean(Pwidth) #Petal.Width
## [1] 1.199333
var(Slength) # Sepal.Length
## [1] 0.6856935
var(Swidth) # Sepal.Width
## [1] 0.1899794
var(Plength) #Petal.Length
## [1] 3.116278
var(Pwidth) #Petal.Width
## [1] 0.5810063
AI code
sapply(mydata[, -5], mean)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 5.843333 3.057333 3.758000 1.199333
sapply(mydata[, -5], var)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 0.6856935 0.1899794 3.1162779 0.5810063
Vẽ biểu đồ phân tán giữa Sepal.Length và Sepal.Width, phân nhóm theo
Species bằng ggplot2.
library(ggplot2)
ggplot(mydata, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
geom_point(size = 2) +
labs(title = "Scatter plot Sepal.Length vs Sepal.Width by Species",
x = "Sepal Length",
y = "Sepal Width") +
theme_minimal()

library(reticulate)
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.
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 variety
## 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 (sedal.length): ",result)
## tong do dai dai hoa (sedal.length): 538.4