Trực quan hóa các cạnh
Trong bài tập này, bạn sẽ học cách thay đổi độ dày của các cạnh trong mạng dựa trên trọng số của chúng, cũng như cách loại bỏ một số cạnh khỏi mạng — điều đôi khi hữu ích để trực quan hóa hiệu quả hơn các mạng lớn và có mức độ kết cụm cao. Trong chương mở đầu này, chúng ta mới chỉ lướt qua những gì có thể làm khi trực quan hóa mạng igraph. Bạn sẽ tiếp tục phát triển các kỹ năng này ở các chương sau.
Bài tập này là một phần của khóa học
Phân tích Mạng lưới trong R
Hướng dẫn bài tập
- Tạo một vector
w1chứa trọng số cạnh dựa trên số giờ bạn bè ở cùng nhau. - Vẽ mạng, đảm bảo
edge.widthđược đặt bằng vector trọng số bạn vừa tạo. Dùngedge.color = 'black'để tất cả các cạnh có màu đen. - Tiếp theo, tạo một đối tượng đồ thị mới
g2là mạngg1nhưng đã loại bỏ tất cả các cạnh có trọng số nhỏ hơn hai giờ. Thao tác này dùngdelete_edges()với hai đối số: thứ nhất là đối tượng đồ thị, thứ hai là tập con các cạnh cần loại bỏ. Ở đây, bạn sẽ loại bỏ mọi cạnh có giá trị nhỏ hơn hai giờ. - Cuối cùng, vẽ mạng mới
g2sử dụng vector độ dày cạnh và bố cục phù hợp.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
library(igraph)
# Create a vector of weights based on the number of hours each pair spend together
w1 <- E(g1)$___
# Plot the network varying edges by weights
m1 <- layout_nicely(g1)
plot(g1,
vertex.label.color = "black",
edge.color = 'black',
edge.width = ___,
layout = m1)
# Create a new igraph object by deleting edges that are less than 2 hours long
g2 <- delete_edges(g1, E(g1)[___ < ___])
# Plot the new graph
w2 <- E(g2)$hours
m2 <- layout_nicely(g2)
plot(g2,
vertex.label.color = "black",
edge.color = 'black',
edge.width = ___,
layout = ___)