我有一个由作者和主题组成的时态双向网络,我正在制作一个ML模型,其中包括一个必须表示边缘持久性特征的术语。
我在R中使用latentnet
包。
因此,我添加了一个名为“ edge_persistence”的网络属性,并尝试添加一个edgecov()
术语。当我包含这个edgecov()字词时,我会收到此错误。
xa [cbind(pl $ xmat [,1:2,drop = FALSE],k)中的错误] <-pl $ xmat [,k + 2]:下标超出范围
这是部分源代码:
#creating the network
net <- network(year_matrix, vertex.attr = NULL, vertex.attrnames = NULL, directed = FALSE, hyper = FALSE, loops = FALSE, multiple = FALSE, bipartite = 2)
#calculating the number of edges
no_of_edges = 0
for(i in c(1:length(author_nodes)))
{
for(j in c(1:length(topic_nodes)))
{
no_of_edges = no_of_edges+1
}
}
#forming the edge_persistance_vector
edge_persistance_vector <- vector("numeric", no_of_edges)
temp_itr=1
for(i in c(1:length(author_nodes)))
{
for(j in c(1:length(topic_nodes)))
{
if(year_matrix[i, j]==1)
{
if(prev_year_matrix[i, j]==1)
{
edge_persistance_vector[temp_itr] = 1
}
else
{
edge_persistance_vector[temp_itr] = 0
}
}
else
{
edge_persistance_vector[temp_itr] = 0
}
temp_itr = temp_itr+1
}
}
#adding the network attribute
set.network.attribute(net, attrname = "edge_persistance", value = edge_persistance_vector)
#making the model
ergmm_result <- ergmm(formula = net ~ euclidean(d=2, G=3) + rsociality(var=1, var.df=3) + edgecov("edge_persistance"), verbose = TRUE)
如果我包含edgecov("edge_persistance")
一词,这就是我得到的错误
xa [cbind(pl $ xmat [,1:2,drop = FALSE],k)中的错误] <-pl $ xmat [,k + 2]:下标超出范围
有人可以建议我如何解决此“下标超出范围”错误吗? 在此先感谢!