2017-05-08 6 views
-1

Ich versuche ein zweigeteiltes Netzwerk zu analysieren, das das Bipartite Paket verwendet. Ich importierte eine CSV-Datei und konvertierte sie in ein Ein-Modus-Netzwerk. Hier ist mein Code:Bipartite Netzwerkfehler

library(igraph) 
library(bipartite) 
g <- as.network(data) 
net <- as.one.mode(g, fill = 0, project="full", weighted=TRUE) 
summary(net) 
vcount(net) 
ecount(net) 

Aber, wenn ich versuche, Netzwerk-Metriken mit dem folgenden Befehl zu berechnen, es gibt mir einen Fehler.

betweenness_w(net, directed=NULL, alpha=1) 

Hier ist die Fehlermeldung.

Error in if (NC == 2) net <- data.frame(tmp[, 1], tmp[, 2]) : 
    argument is of length zero 

Ich schätze etwas Hilfe

+2

Es wäre einfacher zu helfen, wenn Sie ein Beispiel [Beispiel für reproduzierbare Daten] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) mit Beispieleingabedaten bereitstellen – MrFlick

Antwort

0

Sie könnten igraph Diagrammobjekte mit Matrizen verwirrend sein.

Zum Beispiel kann ich Ihren Fehler replizieren, indem ein Graph-Objekt in die betweeness_w Funktion Fütterung:

> g=make_full_graph(5) 
> ecount(g) 
[1] 10 
> betweenness_w(g) 
Error in if (NC == 2) net <- data.frame(tmp[, 1], tmp[, 2]) : 
    argument is of length zero 

Aber betweenness_w will eine gewichtete Kantenliste. Siehe die Dokumentation.

Natürlich sind das Spekulationen, weil Sie uns kein reproduzierbares Beispiel gegeben haben.

+0

Vielen Dank. Das ist sehr hilfreich. Können Sie mir sagen, wie ich eine gewichtete Editierliste aus einer CSV-Datei erstellen kann, die zwei Spalten hat (die die beiden Arten von Knoten repräsentieren)? – Chamil

+0

Sie sollten Ihre Frage bearbeiten, um zu verdeutlichen, was Sie zu tun versuchen, und ein Beispiel Ihrer CSV-Datei und anderer Daten einfügen. Wenn Sie diese Frage nicht bearbeiten können, starten Sie eine neue Frage. – Spacedman

Verwandte Themen