graph - una - superponer graficas en r
Cómo crear un gráfico bipartito en GraphX (1)
Por ejemplo, para modelar usuarios y productos como un gráfico bipartito, podríamos hacer lo siguiente:
trait VertexProperty
case class UserProperty(val name: String) extends VertexProperty
case class ProductProperty(val name: String,
val price: Double) extends VertexProperty
val users: RDD[(VertexId, VertexProperty)] = sc.parallelize(Seq(
(1L, UserProperty("user1")), (2L, UserProperty("user2"))))
val products: RDD[(VertexId, VertexProperty)] = sc.parallelize(Seq(
(1001L, ProductProperty("foo", 1.00)), (1002L, ProductProperty("bar", 3.99))))
val vertices = VertexRDD(users ++ products)
// The graph might then have the type:
val graph: Graph[VertexProperty, String] = null
Puedo construir un gráfico usando un vertexRDD
y un edgeRDD
través de GraphX API, no hay problema allí. es decir:
val graph: Graph[(String, Int), Int] = Graph(vertexRDD, edgeRDD)
Sin embargo, no sé por dónde empezar si quiero usar dos vertexRDD separados en lugar de uno solo (un gráfico bipartito). Por ejemplo, un gráfico que contiene compradores y vértices de productos.
Mi pregunta es amplia, así que no espero un ejemplo detallado, sino una sugerencia o un pequeño empujón en la dirección correcta. Cualquier sugerencia sería muy apreciada.