我正在尝试进行网络分析,并在获得有关文化的一些定性数据后,我想了解我的文化节点之间的相互关系。为此,我在Excel中创建了一个具有46行和列的csv文件,也就是一个平方矩阵。我尝试了以下两组代码来在R中获得网络输出。
首次尝试(无效):
library(igraph)
my_data <- read.csv(file.choose(),header=TRUE, row.names=NULL)
my_matrix <- as.matrix(my_data)
my_first_network <-
graph.adjacency(my_matrix,mode="undirected",diag=FALSE)
my_first_network
plot(my_first_network)
我遇到了这些错误:
graph.adjacency.dense(adjmatrix,模式=模式,加权=加权,:
在structure_generators.c:274处:非平方矩阵,非平方矩阵
另外:
警告信息:
在mde(x)中:强制引入的NAs
第二次尝试(也没有用):
my_data <- read.csv(file.choose(),sep=",",header=TRUE)
nodelist <- names(my_data)[-1]
my_matrix <- as.matrix(my_data) [,-1]
rownames(my_matrix) <- colnames(my_matrix) <- nodelist
my_matrix
library(igraph)
g <- graph_from_adjacency_matrix(my_matrix, mode="undirected",
weighted=NULL)
plot(g)
得到这些错误:
graph.adjacency.dense(adjmatrix,模式=模式,加权=加权,:
在structure_generators.c:274处:非平方矩阵,非平方矩阵
有人可以告诉我问题是什么,我如何修复代码以获取网络,可以帮助我吗?
非常感谢您
答案 0 :(得分:0)
因此,如错误指示所示:Non-square matrix, Non-square matrix
矩阵不是正方形。 dim(my_matrix)
[1] 45 0
告诉矩阵是这样组成的:
[1,]
[2,]
[3,]
[4,]
[5,]
[..]
您能告诉我们您的.csv
文件的第一行吗?可以使用head(my_data)
答案 1 :(得分:0)
对于那些后来发现这个的人;虽然用户的问题是 CSV 错误,但图邻接需要一个方阵。因此,如果您运行 dim(mat) 并得到类似 12 10 的结果,那么您将有 12 行和 10 列。
在网络分析上下文中,这可能意味着并非所有或您的起点都是目的地(反之亦然,您的目的地从来都不是起点)。