从数据框中格式化 igraph 饼图顶点值

Formatting igraph pie vertex values from dataframe

对于使用 igraph 的网络分析,我正在尝试设置我的顶点元数据,以便有数值向量可用于根据我的数据框中的不同列组合制作饼图顶点。

使用此示例来说明我的数据设置:

df <- data.frame(vName=c('Joe','Rose','Matt','Val'), Red=c(2.5, 1, 1, 0.9), Blue=c(3, 3, 1, 1), Yellow=c(2.9, 2.1, 3.2, 1.1))
df
#   vName Red Blue Yellow
# 1   Joe 2.5    3    2.9
# 2  Rose 1.0    3    2.1
# 3  Matt 1.0    1    3.2
# 4   Val 0.9    1    1.1

通过组合来自特定列的数据,将向量组合为每一行的列的最佳方法是什么?前任。新列 RedBlue 将 return 向量值如下:

df
#   vName Red Blue Yellow   RedBlue
# 1   Joe 2.5    3    2.9  2.5, 3.0
# 2  Rose 1.0    3    2.1  1.0, 3.0
# 3  Matt 1.0    1    3.2  1.0, 1.0
# 4   Val 0.9    1    1.1  0.9, 1.0

df$RedBlue
#[[1]]
#[1] 2.5 3.0

#[[2]]
#[2] 1.0 3.0

#[[3]]
#[3] 1.0 1.0

#[[4]]
#[4] 0.9 1.0

或者是否有另一种方法在使用顶点元数据在 igraph 中构建饼图顶点的上下文中更有意义?

非常感谢!

你可以试试

df <- transform(
  df,
  RedBlue = asplit(cbind(Red, Blue), 1)
)

你会看到

> df$RedBlue   
[[1]]
 Red Blue
 2.5  3.0

[[2]]
 Red Blue
   1    3

[[3]]
 Red Blue
   1    1

[[4]]
 Red Blue
 0.9  1.0

> df
  vName Red Blue Yellow  RedBlue
1   Joe 2.5    3    2.9 2.5, 3.0
2  Rose 1.0    3    2.1     1, 3
3  Matt 1.0    1    3.2     1, 1
4   Val 0.9    1    1.1 0.9, 1.0