R & Gephi:حواف في الشبكة يتم استيرادها بشكل صحيح باستخدام حزمة rgexf
-
21-12-2019 - |
سؤال
لدي مشكلة مع R حزمة "rgexf"
.ولا سيما لدي مشكلة مع حواف شبكة أنا استيراد Gephi.في R I يمكن أن تنتج قاعدة بيانات القمم
>vertices
Id Label
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6
7 7 7
8 8 8
9 9 9
10 10 10
وقاعدة بيانات حواف (واحد حافة أن يكون دقيقا)
>edges
Source Target
1 5 9
لقد خلق .gexf الملف باستخدام
>write.gexf(output = path_gexf, nodes = vertices, edges = edges, defaultedgetype = "undirected")
حيث path_gexf
هو مجرد مسار الملف الناتج (وهو ما يسمى سبيل المثال.gexf).
أفتح سبيل المثال.gexf باستخدام Gephi (الإصدار 0.8.2 beta).في الصورة 1:
يمكنك أن ترى استيراد التقرير في Gephi:عدد القمم والحواف هو الصحيح ؛ أنا يدويا تغيير نوع الرسم البياني إلى صليات وأنا استيراد جميع البيانات إلى بيانات مختبر النافذة.
- السؤال 1. لماذا يفترض أن تحديد "غير موجهة" في استيراد نافذة التقرير إن كنت فعلت ذلك في الكتابة.gexf وظيفة ؟
في image2
يمكنك أن ترى أنه بعد استيراد نوع من الرسم البياني تلقائيا إلى "توجيه" ، لا حافة هو في الواقع المستوردة.
في الصورة 3
لدينا قائمة القمم:كل شيء على ما يرام.التسميات معرف بشكل صحيح المستوردة.في الصورة 4
يمكنك رؤية البيانات المختبرية نافذة الحواف:لا حافة المستوردة ، كما لوحظ بالفعل في الصورة 2.أنا حقا لا أفهم لماذا لا حافة يتم استيرادها.
- السؤال 2.كيفية تصحيح استيراد سبيل المثال.gexf الملف ؟ على مستوى R رمز كل شيء على نحو سلس ، و القمم / حواف بشكل صحيح الناتجة عن قانون بلدي.تحدث مشاكل مع Gephi.
ملاحظات:لدي الكثير من .gexf الملفات مع القضايا المتعلقة الاستيراد من الحواف.في كثير من الحالات فقط عدد قليل من الحواف المستوردة مع uncorrect "مصدر" و "الهدف".والغريب موازية حواف دائما بشكل صحيح تحسب وفقا multiplicities.
أعتذر عن وظيفة طويلة.
تحرير:بعض الاختبارات مع الدمية آر كود
فعلت بعض التجارب باستخدام @جيمس توبن رمز (شكرا).أنه يعمل بشكل جيد أيضا على جهاز الكمبيوتر.لم الاختبارات مع الرسوم البيانية مع 2 الحواف:الاختبارات كانت جميع موافق.ثم انتقلت إلى 3,4 حواف الحالات باستخدام
require(rgexf)
vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
colnames(vertices) <- c('Id','Label')
edges <- as.data.frame(cbind(c(5,1,2),c(1,1,3)))
colnames(edges) <- c('Source','Target')
write.gexf(nodes=vertices,edges=edges,
defaultedgetype = "undirected")
و
require(rgexf)
vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
colnames(vertices) <- c('Id','Label')
edges <- as.data.frame(cbind(c(5,1,4,2),c(2,3,1,2)))
colnames(edges) <- c('Source','Target')
write.gexf(nodes=vertices,edges=edges,
defaultedgetype = "undirected")
في كلتا الحالتين XLM رمز هو الصحيح ث.r.t.العقد & حواف id, التسميات, مصادر و أهداف.
أين هي القضايا ؟ في 3 حواف حالة استيراد التقرير في Gephi هو الصحيح ، في حين أن البيانات المختبرية حافة النافذة لا تظهر الحافة
<edge id="1" source="1" target="1" weight="1.0"/>
في 4 حواف حالة الحافة
<edge id="0" source="5" target="2" weight="1.0"/>
مفقود ، بدلا من ذلك.
بدأت أصدق بأن هناك خلل في Gephi 0.8.2 وليس في قانون بلدي.
أي اقتراح/تعليق ؟
المحلول
السؤال 1:حتى ولو كنت بالفعل المحدد على الرسم البياني كما صليات في gexf الملف توجه هو الافتراضي ، على الرغم من النقر عليه قليلا مزعج, على الأقل ليس بالأمر الجللمن سلامة منظور ، الأسهل أن تسمح للمستخدم للتحقق من ضعف ما هو نوع من الرسم البياني يتم استيراد مما قد حدد بشكل غير صحيح.فإنه يأخذ 2 ثانية ، وليس صفقة كبيرة.
السؤال 2:أنا نسخ المثال الخاص بك
require(rgexf)
vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
colnames(vertices) <- c('Id','Label')
edges <- as.data.frame(cbind(5,9))
colnames(edges) <- c('Source','Target')
write.gexf(output='testgex.gexf',nodes=vertices,edges=edges,
defaultedgetype = "undirected")
ولكن ليس لدي أي مشاكل مع حواف.
ربما كنت يمكن أن تشمل الدقيق الخاص بك التعليمات البرمجية التي فشل ؟ ربما حواف الخاص بك ليست في البيانات.إطار النموذج ؟ التخمين فقط لأنني لم أتمكن من تكرار الخطأ.