ฉันกำลังพยายามนึกภาพการไหลของข้อมูลด้วย Sankey Diagram ใน R
ฉันพบว่าบล็อกโพสต์นี้เชื่อมโยงกับสคริปต์ R ที่สร้าง Sankey Diagram แต่น่าเสียดายที่มันค่อนข้างดิบและค่อนข้าง จำกัด (ดูโค้ดตัวอย่างและข้อมูลด้านล่าง)
มีใครรู้จักสคริปต์อื่น ๆ หรืออาจจะเป็นแพ็คเกจที่พัฒนามากกว่านี้บ้าง? เป้าหมายสุดท้ายของฉันคือการเห็นภาพทั้งการไหลของข้อมูลและเปอร์เซ็นต์ตามขนาดสัมพัทธ์ของส่วนประกอบไดอะแกรมเช่นในตัวอย่าง Sankey Diagramsเหล่านี้
ฉันโพสต์คำถามที่ค่อนข้างคล้ายกันในรายการ r-helpแต่หลังจากผ่านไปสองสัปดาห์โดยไม่มีคำตอบใด ๆ ฉันกำลังพยายามเสี่ยงโชคที่นี่ใน stackoverflow
ขอบคุณเอริค
ปล. ฉันรู้เรื่องParallel Sets Plotแต่นั่นไม่ใช่สิ่งที่ฉันกำลังมองหา
# thanks to, https://tonybreyal.wordpress.com/2011/11/24/source_https-sourcing-an-r-script-from-github/
sourc.https <- function(url, ...) {
# install and load the RCurl package
if (match('RCurl', nomatch=0, installed.packages()[,1])==0) {
install.packages(c("RCurl"), dependencies = TRUE)
require(RCurl)
} else require(RCurl)
# parse and evaluate each .R script
sapply(c(url, ...), function(u) {
eval(parse(text = getURL(u, followlocation = TRUE,
cainfo = system.file("CurlSSL", "cacert.pem",
package = "RCurl"))), envir = .GlobalEnv)
} )
}
# from https://gist.github.com/1423501
sourc.https("https://raw.github.com/gist/1423501/55b3c6f11e4918cb6264492528b1ad01c429e581/Sankey.R")
# My example (there is another example inside Sankey.R):
inputs = c(6, 144)
losses = c(6,47,14,7, 7, 35, 34)
unit = "n ="
labels = c("Transfers",
"Referrals\n",
"Unable to Engage",
"Consultation only",
"Did not complete the intake",
"Did not engage in Treatment",
"Discontinued Mid-Treatment",
"Completed Treatment",
"Active in \nTreatment")
SankeyR(inputs,losses,unit,labels)
# Clean up my mess
rm("inputs", "labels", "losses", "SankeyR", "sourc.https", "unit")
Sankey Diagram ผลิตด้วยรหัสด้านบน