#câu 1:
library(ggplot2)
# Sử dụng dữ liệu iris có sẵn
data(iris)

# Tính độ lệch chuẩn theo Species
sd_sepal <- aggregate(Sepal.Length ~ Species,
                      data = iris,
                      FUN = sd)

print(sd_sepal)
##      Species Sepal.Length
## 1     setosa    0.3524897
## 2 versicolor    0.5161711
## 3  virginica    0.6358796
# Cài và nạp thư viện ggplot2
install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
# Vẽ biểu đồ violin
ggplot(iris, aes(x = Species, y = Petal.Width, fill = Species)) +
  geom_violin() +
  labs(title = "Violin plot of Petal.Width by Species",
       x = "Species",
       y = "Petal.Width") +
  theme_minimal()

#câu 2:
import pandas as pd
# đọc dữ liệliệu
df = pd.read_csv("iris.csv")
# lọc các dòng có sepal.width < 3.0
filtered_df = df[df["sepal.width"] < 3.0]
#xuất kết quả ra file 
filtered_df.to_csv("filtered_width.csv", index=False)
print(filtered_df)
##      sepal.length  sepal.width  petal.length  petal.width     variety
## 8             4.4          2.9           1.4          0.2      Setosa
## 41            4.5          2.3           1.3          0.3      Setosa
## 53            5.5          2.3           4.0          1.3  Versicolor
## 54            6.5          2.8           4.6          1.5  Versicolor
## 55            5.7          2.8           4.5          1.3  Versicolor
## 57            4.9          2.4           3.3          1.0  Versicolor
## 58            6.6          2.9           4.6          1.3  Versicolor
## 59            5.2          2.7           3.9          1.4  Versicolor
## 60            5.0          2.0           3.5          1.0  Versicolor
## 62            6.0          2.2           4.0          1.0  Versicolor
## 63            6.1          2.9           4.7          1.4  Versicolor
## 64            5.6          2.9           3.6          1.3  Versicolor
## 67            5.8          2.7           4.1          1.0  Versicolor
## 68            6.2          2.2           4.5          1.5  Versicolor
## 69            5.6          2.5           3.9          1.1  Versicolor
## 71            6.1          2.8           4.0          1.3  Versicolor
## 72            6.3          2.5           4.9          1.5  Versicolor
## 73            6.1          2.8           4.7          1.2  Versicolor
## 74            6.4          2.9           4.3          1.3  Versicolor
## 76            6.8          2.8           4.8          1.4  Versicolor
## 78            6.0          2.9           4.5          1.5  Versicolor
## 79            5.7          2.6           3.5          1.0  Versicolor
## 80            5.5          2.4           3.8          1.1  Versicolor
## 81            5.5          2.4           3.7          1.0  Versicolor
## 82            5.8          2.7           3.9          1.2  Versicolor
## 83            6.0          2.7           5.1          1.6  Versicolor
## 87            6.3          2.3           4.4          1.3  Versicolor
## 89            5.5          2.5           4.0          1.3  Versicolor
## 90            5.5          2.6           4.4          1.2  Versicolor
## 92            5.8          2.6           4.0          1.2  Versicolor
## 93            5.0          2.3           3.3          1.0  Versicolor
## 94            5.6          2.7           4.2          1.3  Versicolor
## 96            5.7          2.9           4.2          1.3  Versicolor
## 97            6.2          2.9           4.3          1.3  Versicolor
## 98            5.1          2.5           3.0          1.1  Versicolor
## 99            5.7          2.8           4.1          1.3  Versicolor
## 101           5.8          2.7           5.1          1.9   Virginica
## 103           6.3          2.9           5.6          1.8   Virginica
## 106           4.9          2.5           4.5          1.7   Virginica
## 107           7.3          2.9           6.3          1.8   Virginica
## 108           6.7          2.5           5.8          1.8   Virginica
## 111           6.4          2.7           5.3          1.9   Virginica
## 113           5.7          2.5           5.0          2.0   Virginica
## 114           5.8          2.8           5.1          2.4   Virginica
## 118           7.7          2.6           6.9          2.3   Virginica
## 119           6.0          2.2           5.0          1.5   Virginica
## 121           5.6          2.8           4.9          2.0   Virginica
## 122           7.7          2.8           6.7          2.0   Virginica
## 123           6.3          2.7           4.9          1.8   Virginica
## 126           6.2          2.8           4.8          1.8   Virginica
## 128           6.4          2.8           5.6          2.1   Virginica
## 130           7.4          2.8           6.1          1.9   Virginica
## 132           6.4          2.8           5.6          2.2   Virginica
## 133           6.3          2.8           5.1          1.5   Virginica
## 134           6.1          2.6           5.6          1.4   Virginica
## 142           5.8          2.7           5.1          1.9   Virginica
## 146           6.3          2.5           5.0          1.9   Virginica