4. Thống kê

4.1. Data

Chúng ta đã có một số kiến thức cơ bản về thống kê, Và bây giời chúng ta sẽ làm việc với các dữ liệu có sẵn. Chúng ta bắt đầu với thư viện “iris” và load data “iris” từ thư viện

Data Iris chứa dữ liệu về các loài hoa

data("iris")
head(iris,10)
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1           5.1         3.5          1.4         0.2  setosa
## 2           4.9         3.0          1.4         0.2  setosa
## 3           4.7         3.2          1.3         0.2  setosa
## 4           4.6         3.1          1.5         0.2  setosa
## 5           5.0         3.6          1.4         0.2  setosa
## 6           5.4         3.9          1.7         0.4  setosa
## 7           4.6         3.4          1.4         0.3  setosa
## 8           5.0         3.4          1.5         0.2  setosa
## 9           4.4         2.9          1.4         0.2  setosa
## 10          4.9         3.1          1.5         0.1  setosa

Mười dòng cuối của bản dữ liệu

tail(iris)
##     Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
## 145          6.7         3.3          5.7         2.5 virginica
## 146          6.7         3.0          5.2         2.3 virginica
## 147          6.3         2.5          5.0         1.9 virginica
## 148          6.5         3.0          5.2         2.0 virginica
## 149          6.2         3.4          5.4         2.3 virginica
## 150          5.9         3.0          5.1         1.8 virginica

Tên các biến có trong data iris

names(iris)
## [1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width"  "Species"

Số quan sát và số biến có trong bản dữ liệu iris

str(iris)
## '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 ...

Tổng quan về biến Sepal.length

summary(iris$Sepal.Length)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   4.300   5.100   5.800   5.843   6.400   7.900

Biến Sepal.length có min = 4.3, Max = 7.9, và các phân vị như trong bảng.

Đồ thị thể hiện phân bố của biến Sepal.length

hist(iris$Sepal.Length)

x <- runif(20,1, 10)
y <- x + rnorm(20)
plot(x,y, ann=FALSE,  col="red", pch=16)
box(col="blue")
lmfit  <- lm(y~x)
abline(lmfit)

Tạo ra một dữ liệu ngẫu nhiên

ran <- rnorm(20)
ran
##  [1]  0.52546246 -0.51377611 -0.07018058 -1.76144648 -0.15689183  0.44131672
##  [7]  0.11553576  0.41151406  0.46185790 -1.38736365  1.90549894  1.65729770
## [13] -0.17993818 -0.20584390 -0.61224607  0.13146009  0.41574877  0.58276258
## [19] -0.51950528 -0.15036844
plot(ran)

plot(x= iris$Sepal.Length,
     y= iris$Sepal.Width,
     col = iris$Species,
     main = "Plot of Sepal Length vs Width",
     sub = "Stratified by Species",
     xlab = "Chiều dài của Sepal",
     ylab = "Chiều rộng của Sepal")