# Đặt seed để kết quả có thể lặp lại
set.seed(123)
# Sinh 600 giá trị từ N(40, 12^2)
x <- rnorm(n = 600, mean = 40, sd = 12)
# Xem 6 giá trị đầu
head(x)
## [1] 33.27429 37.23787 58.70450 40.84610 41.55145 60.58078
# Kiểm định Shapiro-Wilk
shapiro.test(x)
##
## Shapiro-Wilk normality test
##
## data: x
## W = 0.99873, p-value = 0.9518
# Gán dữ liệu iris
data <- iris
# Xem cấu trúc dữ liệu
str(data)
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
aggregate(
Sepal.Width ~ Species,
data = data,
FUN = mean
)
## Species Sepal.Width
## 1 setosa 3.428
## 2 versicolor 2.770
## 3 virginica 2.974
aggregate(
Sepal.Width ~ Species,
data = data,
FUN = var
)
## Species Sepal.Width
## 1 setosa 0.14368980
## 2 versicolor 0.09846939
## 3 virginica 0.10400408
boxplot(
Sepal.Width ~ Species,
data = data,
main = "Boxplot Sepal Width theo loài hoa",
xlab = "Loài hoa",
ylab = "Sepal Width",
col = c("lightblue", "lightgreen", "lightpink")
)
