قطع أراضي سانكي


غالبًا ما تُستخدم مخططات سانكي لتوضيح التدفقات، على سبيل المثال تغيرات العلاج في الطب. يوضح الرسم البياني أعلاه تغيرات العلاج في مرضى الربو. تم حذف بعض التدفقات الصغيرة.

بفضل حزمة Network3D أصبح عمل مؤامرات سانكي ممتعاً! من خلال تنفيذ برامج جافا النصية يمكن أن تكون تفاعلية.

ومع ذلك، هناك بعض الفخاخ عند استخدام هذه الحزمة. أهمها تغيير الألوان من قطعة أرض إلى أخرى. نحن بحاجة إلى تمريرها عبر الدالة d3.scaleOrdinal() والاهتمام بالألوان المفقودة. يمكنك استخدام الشيفرة التالية:


colors.list<-c("#FFC312","#C4E538","#12CBC4","#FDA7DF","#ED4C67",
    "#F79F1F","#A3CB38","#1289A7","#D980FA","#B53471",
    "#EE5A24","#009432","#0652DD","#9980FA","#833471",
    "#EA2027","#006266","#1B1464","#5758BB","#6F1E51",
    "#747D8C")
  
  #P5T#تعريف 21 نوعًا من أنواع الألوان
  أنواع.list<-ج("النوع 0"، "النوع 1"، "النوع 2"، "النوع 3",
                "النوع 4"، "النوع 5"، "النوع 6"، "النوع 7"، "النوع 8"، "النوع 9"
                "نوع 10"، "نوع 11"، "نوع 12"، "نوع 13"، "نوع 14"، "نوع 15"،
                "النوع 16"، "النوع 17"، "النوع 18"، "النوع 19"، "النوع 20")
  
  
  الألوان <- لصق(colors.list[which.not.missing], collapse = '", "")
  الأنواع <- لصق (types.list.list[which.not.missing], collapse = '", "")
  ##P5TP5Tتجهيز الألوان إلى نموذج JS في دالة SankeyNetwork
  colorJS <- لصق ('d3.scaleOrdinal() .domain(['', types, ''"]).range([", colors, '"])")

ثم مررها عبر شبكة سانكي نتورك:

سانكي نتورك(روابط = روابط، عقد = عقد,
المصدر = "المصدر"، الهدف = "الهدف",
القيمة = "القيمة"، NodeID = "الاسم",
fontSize = "12"، nodeWidth = "10",
colorScale="ColorJS"، NodeGroup="مجموعة",
مجموعة الروابط ="مجموعة")

إنها فكرة لطيفة ومفيدة للغاية للجمع بين نهج النماذج متعددة الحالات لإنشاء التدفقات ذات الأهمية (انظر حزمة etm في R!).

مكتبة (etm)
  tr.prob.st 0,], c("1"، "2"، "3"، "3"، "4"، "4"، "5"، "6"، "7"، "8"، "8"، "9"، "9"، "10"، "10"، "11"، "11"، "12"، "13"، "13"، "14"، "15"، "16"، "16"، "17"، "18"، "18"، "19"، "20"، "21"، "22")، tra, s=start,t=stop,cens.name = NULL)
  
  ##P5الآن نحسب الاحتمالات من وقت البدء إلى وقت التوقف
  probst<-ملخص(tr.prob.st)
  probst<-فعل-استدعاء(rbind,probst)
  لـ.رسم بياني<-بروبست< probst$time==stop,]
  #1T#الآن يمكننا إنشاء روابط لمخطط سانكي
  الروابط.st<-رول (for.plot$P*100,digits=0)

بما أن الرسم البياني للنتائج عبارة عن عنصر واجهة مستخدم، يمكنك حفظه باستخدام الكود التالي:

ع<-سانكي نتورك(روابط = روابط، عقد = عقد,
                المصدر = "المصدر"، الهدف = "الهدف",
                القيمة = "القيمة"، NodeID = "الاسم",
                fontSize = "12"، nodeWidth = "10",
                colorScale = "لوني"، NodeGroup = "مجموعة",
                مجموعة الروابط ="مجموعة")
saveWidget(p, pat, selfcontained = F, libdir = "lib")

ذاتي الاحتواء=F سيحفظه في المكتبة مع نصوص جافا النصية التابعة. يمكنك اختيار الخيار Self-contained=T ومن ثم سيتم تضمين البرنامج النصي في ملف html الناتج.

للأسف لا توجد طريقة تلقائية للحصول على أرقام بجانب أسماء العقدة. لذا، تحتاج إلى استخدام حيلة ولصق الأرقام كجزء من اسم العقدة باستخدام الدالة paste().

الشيء الجميل التالي في حزمة Network3D هو أنه يمكن تنفيذها بسهولة في Shiny، بحيث يمكنك الحصول على لوحة تحكم خاصة بك لإنشاء مخططات سانكي.

إذا كنت بحاجة إلى أي مساعدة راسلني في التعليقات!

استمتع بوقتك!

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


arArabic