【发布时间】:2019-06-30 23:34:58
【问题描述】:
我是编码新手,我正在尝试在 R 中执行网络分析。我有一个包含 2 列的数据框,一个是原产国,另一个是目的地。我正在尝试计算 R 中的介数和接近中心性。但是在尝试使用以下图表时:
g <- graph (c2, directed=TRUE)
,其中c2 是我的 DF 的名称,如上所述,我收到消息:
Error in graph(c2, directed = TRUE) :
'edges' must be numeric or character.
我已经尝试通过以下方式将因子转换为字符:
c2 <- data.frame(lapply(c2, as.character), stringsAsFactors=F)
但由于某种原因,它没有帮助。我做错了什么?
edit* - dput(head(c2)) 给出:
> dput(head(c2))
structure(list(CountryID.Origin = c("india", "malaysia", "fiji",
"fiji", "china", "united states (the)"), State = c("ACT", "ACT",
"ACT", "ACT", "NSW", "NSW")), row.names = c(NA, 6L), class = "data.frame")
【问题讨论】:
-
(1) 请以明确的格式向我们展示数据,例如
dput(head(c2));复制框架的柱状表示通常是不够的,尤其是在这种情况下,它的模式/类型/类受到质疑。 (2) 请检查您在问题中输入的任何/所有代码:您的第一个代码块中有一个太多的括号,例如,您错过粘贴到问题中的命令是否还有更多? -
感谢您的回复。如果复制柱状表示是不够的,在这种情况下我应该怎么做?我如何编码,以便 R 识别一列是源,另一列是目标国家,以便我可以绘制有向网络?括号已被编辑。
-
“复制 columnar-representation 是不够的” 为我们提供帮助,而不是为您的代码提供帮助。请使用
dput(head(c2))的结果编辑您的问题
标签: r igraph network-analysis