首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Gephi准备数据

为Gephi准备数据
EN

Stack Overflow用户
提问于 2018-01-03 22:38:14
回答 2查看 242关注 0票数 0

问候,

我需要为Gephi中的网络分析准备数据。我有以下格式的数据:

MY Data

我需要格式的数据(其中的值表示通过组织联系的人员):

Required format

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-04 04:34:02

我认为这段代码应该可以完成这项工作。这不是最好、最优雅的方式,但它是有效的:)

代码语言:javascript
复制
# Data
x <-
  structure(
    list(
      Persons = c(1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L),
      Organizations = c("A", "B", "E", "F", "A", "E", "C", "D", "C", "A", "E")
    ),
    .Names = c("Persons", "Organizations"),
    class = "data.frame",
    row.names = c(NA, -11L)
  )

# This will merge n:n
edgelist <- merge(x, x, by = "Organizations")[,2:3]

# We don't want autolinks
edgelist <- subset(edgelist, Persons.x != Persons.y)

# Removing those that are repeated
edgelist <- unique(edgelist)

edgelist
#>   Persons.x Persons.y
#> 2         1         3
#> 3         1         2
#> 4         3         1
#> 6         3         2
#> 7         2         1
#> 8         2         3

HIH

reprex package创建于2018-01-03 (v0.1.1.9000)。

票数 0
EN

Stack Overflow用户

发布于 2018-01-04 01:11:58

x开始

代码语言:javascript
复制
structure(list(Persons = c(1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L), Organizations = c("A", "B", "E", "F", "A", "E", "C", "D", "C", "A", "E")), .Names = c("Persons", "Organizations"), class = "data.frame", row.names = c(NA,-11L))

创建一个具有不同名称的新data.frame。只需将Organizations转换为因子,然后使用数值:

代码语言:javascript
复制
> y=data.frame(Source=x$Persons, Target=as.numeric(as.factor(x$Organizations)))
> y
   Source Target
1       1      1
2       1      2
3       1      5
4       2      6
5       2      1
6       2      5
7       2      3
8       3      4
9       3      3
10      3      1
11      3      5

不管怎样,我确信gephi可以处理字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48079529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档