Cho ma trận A được biểu diễn như sau: \(\[ \mathbf{A}=\left[\begin{array}{ccc} 1 & 1 & 3 \\ 5 & 2 & 6 \\ -2 & -1 & -3 \end{array}\right] \]\) a, Hãy kiểm tra xem \(A^3=0\) hay không (phép lấy mũ cho ra ma trận 0 gồm 3 hàng và 3 cột)
A <- matrix(c(1, 1, 3, 5, 2, 6, -2, -1, -3), nrow = 3, ncol = 3, byrow = TRUE)
print(A)
## [,1] [,2] [,3]
## [1,] 1 1 3
## [2,] 5 2 6
## [3,] -2 -1 -3
A_cube <- A %*% A %*% A
A_cube
## [,1] [,2] [,3]
## [1,] 0 0 0
## [2,] 0 0 0
## [3,] 0 0 0
b, Hãy thay thế cột thứ 3 của ma trận \(A\) bằng tổng của cột thứ 1 và cột thứ 2 của ma trận \(A\)?
A[, 3] <- A[, 1] + A[, 2]
A
## [,1] [,2] [,3]
## [1,] 1 1 2
## [2,] 5 2 7
## [3,] -2 -1 -3
\[ \left(\begin{array}{lllll} 0 & 1 & 2 & 3 & 4 \\ 1 & 2 & 3 & 4 & 5 \\ 2 & 3 & 4 & 5 & 6 \\ 3 & 4 & 5 & 6 & 7 \\ 4 & 5 & 6 & 7 & 8 \end{array}\right) \]
X <- 0:4
Y <- 0:4
matran2 <- outer(X, Y, FUN = "+")
matran2
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0 1 2 3 4
## [2,] 1 2 3 4 5
## [3,] 2 3 4 5 6
## [4,] 3 4 5 6 7
## [5,] 4 5 6 7 8
\[ \begin{aligned} & x_1+2 x_2+3 x_3+4 x_4+5 x_5=7 \\ & 2 x_1+x_2+2 x_3+3 x_4+4 x_5=-1 \\ & 3 x_1+2 x_2+x_3+2 x_4+3 x_5=-3 \\ & 4 x_1+3 x_2+2 x_3+x_4+2 x_5=5 \\ & 5 x_1+4 x_2+3 x_3+2 x_4+x_5=17 \end{aligned} \] Hệ phương trình trên có thể được biểu diễn bởi ma trận trọng số và ma trận các ẩn như sau: \(Ax=y\). Sử dụng tính chất của ma trận trong ngôn ngữ R, hãy giải hệ phương trình trên và cho biết các nghiệm là bao nhiêu?
A <- matrix(c(1, 2, 3, 4, 5,
2, 1, 2, 3, 4,
3, 2, 1, 2, 3,
4, 3, 2, 1, 2,
5, 4, 3, 2, 1),
nrow = 5, ncol = 5, byrow = TRUE)
y <- c(7, -1, -3, 5, 17)
x <- solve(A, y)
print(x)
## [1] -2 3 5 2 -4
##bài 4 Bài tập 4: Hãy tính giá trị của biểu thức sau: \[ \sum_{i=1}^{20} \sum_{j=1}^5 \frac{i^4}{(3+j)} \]
tong <- 0
for (i in 1:20) {
for (j in 1:5) {
tong <- tong + (i^4) / (3 + j)
}
}
print(tong)
## [1] 639215.3
##bài 5 Sử dụng tập dữ liệu gapminder trong thư viện gapminder, hãy thực hiện các nội dung sau:
1, Lọc dữ liệu dành cho Việt Nam và đặt tên tập dữ liệu là vietnamdata. 2, Sử dụng thư viện dplyr và toán tử pipe (%>%) hãy cho biết tuổi thọ trung bình 3, của người Việt Nam trong tập dữ liệu trên qua các năm là bao nhiêu? 4, Sử dụng biểu đồ cột, thư viện ggplot2, thư viện gridExtra hãy vẽ biểu đồ so sánh tổng thu nhập GDP của các nước tại châu Á và châu Âu vào năm 2007, nhận xét kết quả từ biểu đồ.
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
library(gapminder)
library(ggplot2)
data("gapminder")
#lọc dữ liệu việt nam
vietnam <- gapminder %>%filter(country == "Vietnam")
vietnam
## # A tibble: 12 × 6
## country continent year lifeExp pop gdpPercap
## <fct> <fct> <int> <dbl> <int> <dbl>
## 1 Vietnam Asia 1952 40.4 26246839 605.
## 2 Vietnam Asia 1957 42.9 28998543 676.
## 3 Vietnam Asia 1962 45.4 33796140 772.
## 4 Vietnam Asia 1967 47.8 39463910 637.
## 5 Vietnam Asia 1972 50.3 44655014 700.
## 6 Vietnam Asia 1977 55.8 50533506 714.
## 7 Vietnam Asia 1982 58.8 56142181 707.
## 8 Vietnam Asia 1987 62.8 62826491 821.
## 9 Vietnam Asia 1992 67.7 69940728 989.
## 10 Vietnam Asia 1997 70.7 76048996 1386.
## 11 Vietnam Asia 2002 73.0 80908147 1764.
## 12 Vietnam Asia 2007 74.2 85262356 2442.
Sử dụng thư viện dplyr và toán tử pipe (%>%) hãy cho biết tuổi thọ trung bình của người Việt Nam trong tập dữ liệu trên qua các năm là bao nhiêu?
library(dplyr)
vietnam <- gapminder %>%
filter(country == "Vietnam") %>%
group_by(year) %>%
summarize(avg_life_expectancy = mean(lifeExp))
vietnam
## # A tibble: 12 × 2
## year avg_life_expectancy
## <int> <dbl>
## 1 1952 40.4
## 2 1957 42.9
## 3 1962 45.4
## 4 1967 47.8
## 5 1972 50.3
## 6 1977 55.8
## 7 1982 58.8
## 8 1987 62.8
## 9 1992 67.7
## 10 1997 70.7
## 11 2002 73.0
## 12 2007 74.2
Sử dụng biểu đồ cột, thư viện ggplot2, thư viện gridExtra hãy vẽ biểu đồ so sánh tổng thu nhập GDP của các nước tại châu Á và châu Âu vào năm 2007, nhận xét kết quả từ biểu đồ.
library(gridExtra)
##
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
##
## combine
# Lọc dữ liệu cho châu Á và châu Âu năm 2007
asia_europe_2007 <- gapminder %>%
filter(year == 2007 & continent %in% c("Asia", "Europe"))
# Sắp xếp lại thứ tự các nước theo tổng thu nhập GDP
asia_europe_2007$country <- reorder(asia_europe_2007$country, asia_europe_2007$gdpPercap, FUN = function(x) -x)
# Vẽ biểu đồ cột tổng thu nhập GDP
bar_plot <- ggplot(asia_europe_2007, aes(x = country, y = gdpPercap, fill = continent)) +
geom_bar(stat = "identity", position = "dodge") +
labs(title = "Tổng thu nhập GDP của các nước tại châu Á và châu Âu (2007)",
x = "Nước", y = "Tổng thu nhập GDP") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
print(bar_plot)