phamvi <- c("[65, 75)", "[75, 85)", "[85, 95)", "[95, 105)", "[105, 115)", "[115, 125)")
phamvi <- factor(phamvi, levels = phamvi)
songuoi <- c(1, 7, 24, 35, 25, 8)
df <- data.frame(phamvi, songuoi)
colnames(df) <- c("Phạm vi khoảng", "Số người")
df
## Phạm vi khoảng Số người
## 1 [65, 75) 1
## 2 [75, 85) 7
## 3 [85, 95) 24
## 4 [95, 105) 35
## 5 [105, 115) 25
## 6 [115, 125) 8
library(ggplot2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
ggplot(data = df, mapping = aes(x = phamvi, y = songuoi)) +
geom_bar(stat = "identity", width = 0.6, col = "red", fill = "blue") +
labs(x = "Glucoza máu (mg%)", y = "Tần số", subtitle = "Glucoza máu người bình thường") +
theme(panel.grid.major = element_line(colour = "black"),
panel.grid.minor = element_blank(),
panel.grid.major.x = element_blank())
khoang <- c("[152, 155)", "[155, 158)", "[158, 161)", "[161, 164)", "[164, 167)", "[167, 170)", "[170, 173)", "[173, 176)")
khoang <- factor(khoang, levels = khoang)
songuoi2 <- c(263, 460, 540, 385, 204, 70, 20, 6)
df2 <- data.frame(khoang, songuoi2)
colnames(df2) <- c("Khoảng chiều cao", "Số người")
df2
## Khoảng chiều cao Số người
## 1 [152, 155) 263
## 2 [155, 158) 460
## 3 [158, 161) 540
## 4 [161, 164) 385
## 5 [164, 167) 204
## 6 [167, 170) 70
## 7 [170, 173) 20
## 8 [173, 176) 6
ggplot(data = df2, mapping = aes(x = khoang, y = songuoi2)) +
geom_bar(stat = "identity", width = 0.6, col = "red", fill = "blue") +
labs(x = "Chiều cao (cm)", y = "Tần số", subtitle = "Chiều cao thanh niên 17 tuổi") +
theme(panel.grid.major = element_line(colour = "black"),
panel.grid.minor = element_blank(),
panel.grid.major.x = element_blank())
tinhtrang <- c("Thiếu cân", "Bình thường", "Thừa cân", "Béo phì")
tinhtrang <- factor(tinhtrang, levels = tinhtrang)
songuoi3 <- c(107, 857, 238, 15)
tile <- c(8.8, 70.4, 19.6, 1.2)
df3 <- data.frame(tinhtrang, songuoi3, tile)
colnames(df3) <- c("Tình trạng", "Số người", "Tỉ lệ (%)")
df3
## Tình trạng Số người Tỉ lệ (%)
## 1 Thiếu cân 107 8.8
## 2 Bình thường 857 70.4
## 3 Thừa cân 238 19.6
## 4 Béo phì 15 1.2
nhan <- paste0(tile, "%")
ggplot(data = df3, mapping = aes(x = tinhtrang, y = tile / 100)) +
geom_bar(stat = "identity", width = 0.6, col = "red", fill = "blue") +
labs(x = "", y = "", subtitle = "Tỉ lệ (%)") +
theme(panel.grid.major = element_line(colour = "black"),
panel.grid.minor = element_blank(),
panel.grid.major.x = element_blank()) +
geom_text(aes(label = nhan, vjust = -0.5)) +
scale_y_continuous(labels = scales::percent)
ggplot(df3, aes(x = "", y = tile, fill = tinhtrang)) +
geom_bar(width = 1, stat = "identity") +
labs(fill = "", x = "", y = "", title = "Tỉ lệ (%)") +
coord_polar("y", start=0) +
theme_void() +
geom_text(aes(label = nhan, hjust = 1))
##Biểu đồ 3
ggplot(data = df3, mapping = aes(x = tinhtrang, y = tile / 100, group = 1)) +
geom_line(size =1.5, color = "cornflowerblue") +
geom_point(shape = 23, size = 3, fill = "blue") +
theme(panel.grid.major = element_line(colour = "black"),
panel.grid.minor = element_blank(),
panel.grid.major.x = element_blank()) +
geom_text(aes(label = nhan, hjust = -0.5, vjust = -0.5)) +
labs(x = "", y = "", subtitle = "Tỉ lệ (%)") +
scale_y_continuous(labels = scales::percent)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.