【问题标题】:Iteration that removes the first row and adds the next row in the dataframe in R删除第一行并在 R 中的数据框中添加下一行的迭代
【发布时间】:2021-05-05 22:02:53
【问题描述】:

我创建了这个 50 行的示例数据框。

pass_subset <- structure(list(player_name = c("Nemanja Maksimovic", "Jaime Mata Arnaiz", 
"Marc Cucurella Saseta", "Jorge Molina Vidal", "Djené Dakonam Ortega", 
"Xabier Etxeita Gorritxategi", "Mauro Wilney Arambarri Rosa", 
"Nemanja Maksimovic", "Jorge Molina Vidal", "Marc Cucurella Saseta", 
"Djené Dakonam Ortega", "Nemanja Maksimovic", "Allan Romeo Nyom", 
"Jorge Molina Vidal", "Allan Romeo Nyom", "Mauro Wilney Arambarri Rosa", 
"Oghenekaro Etebo", "Djené Dakonam Ortega", "Oghenekaro Etebo", 
"Jorge Molina Vidal", "Mathías Olivera Miramontes", "Marc Cucurella Saseta", 
"Jorge Molina Vidal", "Marc Cucurella Saseta", "Marc Cucurella Saseta", 
"Jorge Molina Vidal", "Mathías Olivera Miramontes", "Mathías Olivera Miramontes", 
"Nemanja Maksimovic", "Mauro Wilney Arambarri Rosa", "Xabier Etxeita Gorritxategi", 
"Jorge Molina Vidal", "Mathías Olivera Miramontes", "Oghenekaro Etebo", 
"Nemanja Maksimovic", "Jaime Mata Arnaiz", "Marc Cucurella Saseta", 
"Djené Dakonam Ortega", "Mauro Wilney Arambarri Rosa", "Oghenekaro Etebo", 
"Mauro Wilney Arambarri Rosa", "Nemanja Maksimovic", "Djené Dakonam Ortega", 
"Djené Dakonam Ortega", "Jaime Mata Arnaiz", "Djené Dakonam Ortega", 
"Marc Cucurella Saseta", "Jorge Molina Vidal", "Jaime Mata Arnaiz", 
"Jorge Molina Vidal"), receive_player = c("Jaime Mata Arnaiz", 
"Jorge Molina Vidal", "Jaime Mata Arnaiz", "Mauro Wilney Arambarri Rosa", 
"David Soria Solís", "Marc Cucurella Saseta", "Nemanja Maksimovic", 
"Jorge Molina Vidal", "Marc Cucurella Saseta", "Jorge Molina Vidal", 
"Jorge Molina Vidal", "Jaime Mata Arnaiz", "Jorge Molina Vidal", 
"Nemanja Maksimovic", "Mauro Wilney Arambarri Rosa", "Oghenekaro Etebo", 
"Djené Dakonam Ortega", "David Soria Solís", "David Soria Solís", 
"Jaime Mata Arnaiz", "Marc Cucurella Saseta", "Jorge Molina Vidal", 
"Mathías Olivera Miramontes", "Jaime Mata Arnaiz", "Jorge Molina Vidal", 
"Mathías Olivera Miramontes", "Marc Cucurella Saseta", "Nemanja Maksimovic", 
"Mauro Wilney Arambarri Rosa", "Jorge Molina Vidal", "Jorge Molina Vidal", 
"Mauro Wilney Arambarri Rosa", "Oghenekaro Etebo", "Jaime Mata Arnaiz", 
"Jaime Mata Arnaiz", "Marc Cucurella Saseta", "Jaime Mata Arnaiz", 
"David Soria Solís", "Oghenekaro Etebo", "Mauro Wilney Arambarri Rosa", 
"Xabier Etxeita Gorritxategi", "David Soria Solís", "Jaime Mata Arnaiz", 
"Mathías Olivera Miramontes", "Jorge Molina Vidal", "Marc Cucurella Saseta", 
"Jorge Molina Vidal", "Jaime Mata Arnaiz", "Marc Cucurella Saseta", 
"Nemanja Maksimovic"), type_name = c("pass", "pass", "pass", 
"pass", "pass", "pass", "pass", "pass", "pass", "pass", "pass", 
"pass", "pass", "pass", "pass", "pass", "pass", "pass", "pass", 
"pass", "pass", "pass", "pass", "pass", "pass", "pass", "pass", 
"pass", "pass", "pass", "pass", "pass", "pass", "pass", "pass", 
"pass", "pass", "pass", "pass", "pass", "pass", "pass", "pass", 
"pass", "pass", "pass", "pass", "pass", "pass", "pass"), no_passes = c(1, 
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)), row.names = c(6L, 
8L, 10L, 15L, 17L, 19L, 25L, 26L, 29L, 31L, 33L, 34L, 35L, 37L, 
40L, 42L, 44L, 46L, 49L, 50L, 53L, 55L, 57L, 60L, 67L, 69L, 71L, 
74L, 76L, 78L, 79L, 81L, 87L, 89L, 91L, 93L, 95L, 96L, 98L, 100L, 
102L, 108L, 110L, 112L, 116L, 121L, 122L, 124L, 126L, 131L), class = "data.frame")

输出

                    player_name              receive_player type_name no_passes
6            Nemanja Maksimovic           Jaime Mata Arnaiz      pass         1
8             Jaime Mata Arnaiz          Jorge Molina Vidal      pass         2
10        Marc Cucurella Saseta           Jaime Mata Arnaiz      pass         3
15           Jorge Molina Vidal Mauro Wilney Arambarri Rosa      pass         4
17         Djené Dakonam Ortega           David Soria Solís      pass         5
19  Xabier Etxeita Gorritxategi       Marc Cucurella Saseta      pass         6
25  Mauro Wilney Arambarri Rosa          Nemanja Maksimovic      pass         7
26           Nemanja Maksimovic          Jorge Molina Vidal      pass         8
29           Jorge Molina Vidal       Marc Cucurella Saseta      pass         9
31        Marc Cucurella Saseta          Jorge Molina Vidal      pass        10
33         Djené Dakonam Ortega          Jorge Molina Vidal      pass        11
34           Nemanja Maksimovic           Jaime Mata Arnaiz      pass        12
35             Allan Romeo Nyom          Jorge Molina Vidal      pass        13
37           Jorge Molina Vidal          Nemanja Maksimovic      pass        14
40             Allan Romeo Nyom Mauro Wilney Arambarri Rosa      pass        15
42  Mauro Wilney Arambarri Rosa            Oghenekaro Etebo      pass        16
44             Oghenekaro Etebo        Djené Dakonam Ortega      pass        17
46         Djené Dakonam Ortega           David Soria Solís      pass        18
49             Oghenekaro Etebo           David Soria Solís      pass        19
50           Jorge Molina Vidal           Jaime Mata Arnaiz      pass        20
53   Mathías Olivera Miramontes       Marc Cucurella Saseta      pass        21
55        Marc Cucurella Saseta          Jorge Molina Vidal      pass        22
57           Jorge Molina Vidal  Mathías Olivera Miramontes      pass        23
60        Marc Cucurella Saseta           Jaime Mata Arnaiz      pass        24
67        Marc Cucurella Saseta          Jorge Molina Vidal      pass        25
69           Jorge Molina Vidal  Mathías Olivera Miramontes      pass        26
71   Mathías Olivera Miramontes       Marc Cucurella Saseta      pass        27
74   Mathías Olivera Miramontes          Nemanja Maksimovic      pass        28
76           Nemanja Maksimovic Mauro Wilney Arambarri Rosa      pass        29
78  Mauro Wilney Arambarri Rosa          Jorge Molina Vidal      pass        30
79  Xabier Etxeita Gorritxategi          Jorge Molina Vidal      pass        31
81           Jorge Molina Vidal Mauro Wilney Arambarri Rosa      pass        32
87   Mathías Olivera Miramontes            Oghenekaro Etebo      pass        33
89             Oghenekaro Etebo           Jaime Mata Arnaiz      pass        34
91           Nemanja Maksimovic           Jaime Mata Arnaiz      pass        35
93            Jaime Mata Arnaiz       Marc Cucurella Saseta      pass        36
95        Marc Cucurella Saseta           Jaime Mata Arnaiz      pass        37
96         Djené Dakonam Ortega           David Soria Solís      pass        38
98  Mauro Wilney Arambarri Rosa            Oghenekaro Etebo      pass        39
100            Oghenekaro Etebo Mauro Wilney Arambarri Rosa      pass        40
102 Mauro Wilney Arambarri Rosa Xabier Etxeita Gorritxategi      pass        41
108          Nemanja Maksimovic           David Soria Solís      pass        42
110        Djené Dakonam Ortega           Jaime Mata Arnaiz      pass        43
112        Djené Dakonam Ortega  Mathías Olivera Miramontes      pass        44
116           Jaime Mata Arnaiz          Jorge Molina Vidal      pass        45
121        Djené Dakonam Ortega       Marc Cucurella Saseta      pass        46
122       Marc Cucurella Saseta          Jorge Molina Vidal      pass        47
124          Jorge Molina Vidal           Jaime Mata Arnaiz      pass        48
126           Jaime Mata Arnaiz       Marc Cucurella Saseta      pass        49
131          Jorge Molina Vidal          Nemanja Maksimovic      pass        50


每行包含一名球员,该球员传球给另一名球员。在这个 df 中,我想在玩家之间创建一个 20 行(行 1:20,因此 20 次传球)的较小框架,并计算网络指标,例如度数、介数、接近中心性和聚类系数。

计算出指标后,值应保存在数据框中(即示例中的temporal_network_AT)。

我想迭代这个过程,删除第一遍并添加第 21 遍。因此,新窗口包含 2:21 行。对于这些行,我想再次计算网络指标。

此过程必须迭代,直到给出最后一遍(在示例中的第 50 行中给出)。

我创建了以下 for 循环来尝试解决问题:


temporal_network_AT <- data.frame()

# Create the windows for the AT
  for(j in 1:nrow(pass_subset)){
    # 1: Grab first 20 passes starting from j
    passes_j <- pass_subset[j:20,]
    
    # 2: Calculate the metrics for this window
    gPass_AT <- graph_from_data_frame(passes_j)
    
    ## Individual stats
    
    # 2a: Clustering Coefficient
    clustCoeff <- igraph::transitivity(gPass_AT)
    
    # 2b: degree centrality
    degree <- igraph::centralization.degree(gPass_AT)$centralization
    
    # 2d: Betweenness Centrality
    betweenness <- igraph::betweenness(gPass_AT)
    
    # 2e: Closeness Centrality
    closeness <- igraph::closeness(gPass_AT)
    
    # 2f: Eigenvector centrality // page_rank
    
    eigenvector <- igraph::evcent(gPass_AT)$vector
    
    # 3: Store values in df
    temporal_network_AT <- as.data.frame(cbind(clustCoeff, degree, betweenness, closeness, eigenvector))
    
    setDT(temporal_network_AT, keep.rownames=TRUE)
    colnames(temporal_network_AT)[1] <- "Player"
    temporal_network_AT$passnetwork <- paste0(j, "_passes")

    j <- j + 1
    
  }

## Current Output:
                         Player transitivity    degree betweenness  closeness eigenvector passnetwork
 1:          Jorge Molina Vidal          0.5 0.3580247   28.800000 0.04545455  0.99930139   50_passes
 2:           Jaime Mata Arnaiz          0.5 0.3580247    7.183333 0.03703704  0.95503552   50_passes
 3:       Marc Cucurella Saseta          0.5 0.3580247    3.416667 0.03703704  1.00000000   50_passes
 4:        Djené Dakonam Ortega          0.5 0.3580247    0.000000 0.05882353  0.31609207   50_passes
 5:          Nemanja Maksimovic          0.5 0.3580247    8.500000 0.04166667  0.36036641   50_passes
 6: Mauro Wilney Arambarri Rosa          0.5 0.3580247   12.333333 0.04000000  0.36921736   50_passes
 7:            Oghenekaro Etebo          0.5 0.3580247    2.033333 0.03571429  0.27490330   50_passes
 8:  Mathías Olivera Miramontes          0.5 0.3580247    6.733333 0.04166667  0.59469541   50_passes
 9: Xabier Etxeita Gorritxategi          0.5 0.3580247    0.000000 0.03571429  0.16441569   50_passes
10:           David Soria Solís          0.5 0.3580247    0.000000 0.01111111  0.08127063   50_passes

但是,我现在陷入了实际的迭代中。我只检索最后一遍的输出(即第 50 遍)。

所以我想要的是:

  1. 从第 1:20 行的 df 开始,

  2. 计算参数,

  3. 将它们存储在现有数据框temporal_network_AT

  4. a 创建一个包含 2:21 等行的新框架

  5. 重新计算参数,

  6. 在现有数据帧“temporal_network_AT”中附加新参数

  7. 创建具有 3:22 行的新框架

重复

有没有人可以帮助我?

更新

我设法使用以下代码检索了一个包含所有值的列表:

# Create the windows for the AT
for(j in 1:nrow(pass_subset)){ 
  
  # 1: Grab first 20 passes starting from j
  passes_j <- pass_subset[c(j, j+1, j+2, j+3, j+4, j+5, j+6, j+7, j+8, j+9, j+10,
                            j+11, j+12, j+13, j+14, j+15, j+16, j+17, j+18, j+19),]
  
  # 2: Calculate the metrics for this window
  gPass_AT <- graph_from_data_frame(passes_j)
  
  ## Individual stats
  
  # 2a: Clustering Coefficient
  clustCoeff <- igraph::transitivity(gPass_AT)
  
  # 2b: degree centrality
  degree <- igraph::centralization.degree(gPass_AT)$centralization
  
  # 2d: Betweenness Centrality
  betweenness <- igraph::betweenness(gPass_AT)
  
  # 2e: Closeness Centrality
  closeness <- igraph::closeness(gPass_AT)
  
  # 2f: Eigenvector centrality // page_rank
  
  eigenvector <- igraph::evcent(gPass_AT)$vector
  
  # 3: Store values in df
  temporal_network_AT <- as.data.frame(cbind(transitivity, degree, betweenness, closeness, eigenvector))
  
  setDT(temporal_network_AT, keep.rownames=TRUE)
  colnames(temporal_network_AT)[1] <- "Player"
  temporal_network_AT$passnetwork <- paste0(j, "_passes")
  
  datalist[[j]] <- temporal_network_AT
  
  j <- j + 1
    
}
 
big_data <- do.call(rbind, datalist)

但是,当前列表包含 50 个条目,而列表应包含 30 个条目(从 1:20 到 30:50)。因此,当测量到第 50 次时,迭代实际上应该停止。它现在所做的是继续(31:50、32:50、33:50 等)。

【问题讨论】:

  • 预期结果将是一个数据帧,其中相同的玩家使用各自的参数和passnetwork 增量(20 次通行证到 50 通行证)被 rbined 30 次
  • 我明白了。这实际上是一个非常复杂的问题..我会尝试改写
  • 糟糕,我将transitivity 更改为clustCoeff。我会改的

标签: r


【解决方案1】:

我认为这可能在某种程度上符合您的目的。但是,计算接近度(?)时存在一些错误,需要注意。

pass_subset <- structure(list(player_name = c("Nemanja Maksimovic", "Jaime Mata Arnaiz", 
                                              "Marc Cucurella Saseta", "Jorge Molina Vidal", "Djené Dakonam Ortega", 
                                              "Xabier Etxeita Gorritxategi", "Mauro Wilney Arambarri Rosa", 
                                              "Nemanja Maksimovic", "Jorge Molina Vidal", "Marc Cucurella Saseta", 
                                              "Djené Dakonam Ortega", "Nemanja Maksimovic", "Allan Romeo Nyom", 
                                              "Jorge Molina Vidal", "Allan Romeo Nyom", "Mauro Wilney Arambarri Rosa", 
                                              "Oghenekaro Etebo", "Djené Dakonam Ortega", "Oghenekaro Etebo", 
                                              "Jorge Molina Vidal", "Mathías Olivera Miramontes", "Marc Cucurella Saseta", 
                                              "Jorge Molina Vidal", "Marc Cucurella Saseta", "Marc Cucurella Saseta", 
                                              "Jorge Molina Vidal", "Mathías Olivera Miramontes", "Mathías Olivera Miramontes", 
                                              "Nemanja Maksimovic", "Mauro Wilney Arambarri Rosa", "Xabier Etxeita Gorritxategi", 
                                              "Jorge Molina Vidal", "Mathías Olivera Miramontes", "Oghenekaro Etebo", 
                                              "Nemanja Maksimovic", "Jaime Mata Arnaiz", "Marc Cucurella Saseta", 
                                              "Djené Dakonam Ortega", "Mauro Wilney Arambarri Rosa", "Oghenekaro Etebo", 
                                              "Mauro Wilney Arambarri Rosa", "Nemanja Maksimovic", "Djené Dakonam Ortega", 
                                              "Djené Dakonam Ortega", "Jaime Mata Arnaiz", "Djené Dakonam Ortega", 
                                              "Marc Cucurella Saseta", "Jorge Molina Vidal", "Jaime Mata Arnaiz", 
                                              "Jorge Molina Vidal"), receive_player = c("Jaime Mata Arnaiz", 
                                                                                        "Jorge Molina Vidal", "Jaime Mata Arnaiz", "Mauro Wilney Arambarri Rosa", 
                                                                                        "David Soria Solís", "Marc Cucurella Saseta", "Nemanja Maksimovic", 
                                                                                        "Jorge Molina Vidal", "Marc Cucurella Saseta", "Jorge Molina Vidal", 
                                                                                        "Jorge Molina Vidal", "Jaime Mata Arnaiz", "Jorge Molina Vidal", 
                                                                                        "Nemanja Maksimovic", "Mauro Wilney Arambarri Rosa", "Oghenekaro Etebo", 
                                                                                        "Djené Dakonam Ortega", "David Soria Solís", "David Soria Solís", 
                                                                                        "Jaime Mata Arnaiz", "Marc Cucurella Saseta", "Jorge Molina Vidal", 
                                                                                        "Mathías Olivera Miramontes", "Jaime Mata Arnaiz", "Jorge Molina Vidal", 
                                                                                        "Mathías Olivera Miramontes", "Marc Cucurella Saseta", "Nemanja Maksimovic", 
                                                                                        "Mauro Wilney Arambarri Rosa", "Jorge Molina Vidal", "Jorge Molina Vidal", 
                                                                                        "Mauro Wilney Arambarri Rosa", "Oghenekaro Etebo", "Jaime Mata Arnaiz", 
                                                                                        "Jaime Mata Arnaiz", "Marc Cucurella Saseta", "Jaime Mata Arnaiz", 
                                                                                        "David Soria Solís", "Oghenekaro Etebo", "Mauro Wilney Arambarri Rosa", 
                                                                                        "Xabier Etxeita Gorritxategi", "David Soria Solís", "Jaime Mata Arnaiz", 
                                                                                        "Mathías Olivera Miramontes", "Jorge Molina Vidal", "Marc Cucurella Saseta", 
                                                                                        "Jorge Molina Vidal", "Jaime Mata Arnaiz", "Marc Cucurella Saseta", 
                                                                                        "Nemanja Maksimovic"), type_name = c("pass", "pass", "pass", 
                                                                                                                             "pass", "pass", "pass", "pass", "pass", "pass", "pass", "pass", 
                                                                                                                             "pass", "pass", "pass", "pass", "pass", "pass", "pass", "pass", 
                                                                                                                             "pass", "pass", "pass", "pass", "pass", "pass", "pass", "pass", 
                                                                                                                             "pass", "pass", "pass", "pass", "pass", "pass", "pass", "pass", 
                                                                                                                             "pass", "pass", "pass", "pass", "pass", "pass", "pass", "pass", 
                                                                                                                             "pass", "pass", "pass", "pass", "pass", "pass", "pass"), no_passes = c(1, 
                                                                                                                                                                                                    2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 
                                                                                                                                                                                                    20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 
                                                                                                                                                                                                    36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)), row.names = c(6L, 
                                                                                                                                                                                                                                                                                8L, 10L, 15L, 17L, 19L, 25L, 26L, 29L, 31L, 33L, 34L, 35L, 37L, 
                                                                                                                                                                                                                                                                                40L, 42L, 44L, 46L, 49L, 50L, 53L, 55L, 57L, 60L, 67L, 69L, 71L, 
                                                                                                                                                                                                                                                                                74L, 76L, 78L, 79L, 81L, 87L, 89L, 91L, 93L, 95L, 96L, 98L, 100L, 
                                                                                                                                                                                                                                                                                102L, 108L, 110L, 112L, 116L, 121L, 122L, 124L, 126L, 131L), class = "data.frame")

library(data.table)
library(igraph)
#> 
#> Attaching package: 'igraph'
#> The following objects are masked from 'package:stats':
#> 
#>     decompose, spectrum
#> The following object is masked from 'package:base':
#> 
#>     union
temporal_network_AT <- NULL
# Create the windows for the AT

for(j in seq_len(nrow(pass_subset)-20)){ 
  
  passes_j <- pass_subset[j:(j + 20),]
  
  # 2: Calculate the metrics for this window
  gPass_AT <- graph_from_data_frame(passes_j)
  
  ## Individual stats
  
  # 2a: Clustering Coefficient
  clustCoeff <- igraph::transitivity(gPass_AT)
  
  # 2b: degree centrality
  degree <- igraph::centralization.degree(gPass_AT)$centralization
  
  # 2d: Betweenness Centrality
  betweenness <- igraph::betweenness(gPass_AT)
  
  # 2e: Closeness Centrality
  closeness <- igraph::closeness(gPass_AT)
  
  # 2f: Eigenvector centrality // page_rank
  
  eigenvector <- igraph::evcent(gPass_AT)$vector
  
  # 3: Store values in df
  temp <- as.data.frame(cbind(clustCoeff, degree, betweenness, closeness, eigenvector))
  
  setDT(temp, keep.rownames=TRUE)
  colnames(temp)[1] <- "Player"
  temp$passnetwork <- paste0(j+19, "_passes")
  
  temporal_network_AT <- rbind(temporal_network_AT, temp)
  
  
}
#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

#> Warning in igraph::closeness(gPass_AT): At centrality.c:2784 :closeness
#> centrality is not well-defined for disconnected graphs

temporal_network_AT
#>                     Player clustCoeff    degree betweenness  closeness
#>   1:    Nemanja Maksimovic  0.3658537 0.2850000    3.000000 0.02000000
#>   2:     Jaime Mata Arnaiz  0.3658537 0.2850000    0.000000 0.01960784
#>   3: Marc Cucurella Saseta  0.3658537 0.2850000   14.000000 0.02000000
#>   4:    Jorge Molina Vidal  0.3658537 0.2850000   38.500000 0.02222222
#>   5:  Djené Dakonam Ortega  0.3658537 0.2850000    5.000000 0.02173913
#>  ---                                                                  
#> 307:    Nemanja Maksimovic  0.2926829 0.2345679    7.000000 0.02702703
#> 308:     Jaime Mata Arnaiz  0.2926829 0.2345679   14.666667 0.02857143
#> 309: Marc Cucurella Saseta  0.2926829 0.2345679    1.666667 0.02857143
#> 310:  Djené Dakonam Ortega  0.2926829 0.2345679    0.000000 0.05555556
#> 311:     David Soria Solís  0.2926829 0.2345679    0.000000 0.01111111
#>      eigenvector passnetwork
#>   1:   0.7648757   20_passes
#>   2:   0.7863909   20_passes
#>   3:   0.5759535   20_passes
#>   4:   1.0000000   20_passes
#>   5:   0.2738182   20_passes
#>  ---                        
#> 307:   0.3768013   49_passes
#> 308:   1.0000000   49_passes
#> 309:   0.8019546   49_passes
#> 310:   0.3970175   49_passes
#> 311:   0.1461630   49_passes

reprex package (v2.0.0) 于 2021-05-05 创建

【讨论】:

  • 很高兴它有帮助。修复您的closeness 计算,它可以完全按照需要工作。如果您认为它确实有帮助,也请考虑upvote
猜你喜欢
  • 1970-01-01
  • 2011-11-24
  • 1970-01-01
  • 2020-08-16
  • 2016-05-01
  • 2019-04-05
  • 1970-01-01
  • 2022-01-23
  • 1970-01-01
相关资源
最近更新 更多