绘制时间网络 - TRUE/FALSE 边缘列表所需的值
Plotting temporal network - TRUE/FALSE value needed for edge list
我正尝试使用下面的数据绘制一个基本的静态网络。
数据代表一小群传染病爆发。
PHStaticEdges
tail head
1 2
1 3
1 4
2 5
PHVertexAttributes
vertex.id name Place
1 A House
2 B House
3 C Flight
4 D Work
5 E Flight
当我运行这段代码时:
thenetwork <- network(
PHStaticEdges,
vertex.attr = PHVertexAttributes,
vertex.attrnames = c("vertex.id", "name", "place"),
directed = FALSE,
bipartite = FALSE
)
plot(thenetwork)
我收到以下错误:
Error in if (matrix.type == "edgelist") { :
missing value where TRUE/FALSE needed
最终我想创建一个显示随时间变化的分支边缘的时间图,但我需要先获得静态图!
我哪里错了?
也许您的 vertex_list 有一些因素?下面的代码就像一个魅力:
Phedges <- data.frame(from = c(1,1,1,2) , to= c(2,3,4,5) , stringsAsFactors = F)
#don't want factor in the edges-list
phvertex <- data.frame(stringsAsFactors = F,
vertex.id = 1:5,
name = c("A", "B", "C", "D", "E"),
type = c( 'House', 'House', 'Flight', 'Work', 'Flight')
)
#don't want factor in the nodes-list
thenetwork <- network::network(
Phedges,
vertex.attr = phvertex,
vertex.attrnames = c("vertex.id", "name", "type"),
directed = FALSE,
bipartite = FALSE )
# then you plot if you want = the network is ok
plot(thenetwork)
ggraph::ggraph(thenetwork) + ggraph::geom_node_point() + ggraph::geom_edge_link() +
ggplot2::theme_void() # assuming you have these cool packages.
PS:networkDynamic::activate.edges
或动态节点祝你好运。 在我看来,使用 tidyverse 和 edges-list(为了 select 数据并创建几个 'slice' 网络,计算分析并保持对相同数据的不同 'temporal-version')。使用 tidyverse 过滤边缘列表比过滤这些时间网络包更容易。
我正尝试使用下面的数据绘制一个基本的静态网络。 数据代表一小群传染病爆发。
PHStaticEdges
tail head
1 2
1 3
1 4
2 5
PHVertexAttributes
vertex.id name Place
1 A House
2 B House
3 C Flight
4 D Work
5 E Flight
当我运行这段代码时:
thenetwork <- network(
PHStaticEdges,
vertex.attr = PHVertexAttributes,
vertex.attrnames = c("vertex.id", "name", "place"),
directed = FALSE,
bipartite = FALSE
)
plot(thenetwork)
我收到以下错误:
Error in if (matrix.type == "edgelist") { :
missing value where TRUE/FALSE needed
最终我想创建一个显示随时间变化的分支边缘的时间图,但我需要先获得静态图! 我哪里错了?
也许您的 vertex_list 有一些因素?下面的代码就像一个魅力:
Phedges <- data.frame(from = c(1,1,1,2) , to= c(2,3,4,5) , stringsAsFactors = F)
#don't want factor in the edges-list
phvertex <- data.frame(stringsAsFactors = F,
vertex.id = 1:5,
name = c("A", "B", "C", "D", "E"),
type = c( 'House', 'House', 'Flight', 'Work', 'Flight')
)
#don't want factor in the nodes-list
thenetwork <- network::network(
Phedges,
vertex.attr = phvertex,
vertex.attrnames = c("vertex.id", "name", "type"),
directed = FALSE,
bipartite = FALSE )
# then you plot if you want = the network is ok
plot(thenetwork)
ggraph::ggraph(thenetwork) + ggraph::geom_node_point() + ggraph::geom_edge_link() +
ggplot2::theme_void() # assuming you have these cool packages.
PS:networkDynamic::activate.edges
或动态节点祝你好运。 在我看来,使用 tidyverse 和 edges-list(为了 select 数据并创建几个 'slice' 网络,计算分析并保持对相同数据的不同 'temporal-version')。使用 tidyverse 过滤边缘列表比过滤这些时间网络包更容易。