Tôi đang cố gắng hình dung luồng dữ liệu của mình bằng Sơ đồ Sankey trong R.
Tôi thấy bài đăng trên blog này liên kết đến một tập lệnh R tạo ra Sơ đồ Sankey, tiếc là nó khá thô và hơi hạn chế (xem bên dưới để biết mã và dữ liệu mẫu).
Có ai biết về các tập lệnh khác — hoặc thậm chí có thể là một gói — được phát triển hơn không? Mục tiêu cuối cùng của tôi là trực quan hóa cả luồng dữ liệu và tỷ lệ phần trăm theo kích thước tương đối của các thành phần sơ đồ, như trong các ví dụ này về Sơ đồ Sankey .
Tôi đã đăng một câu hỏi hơi tương tự trên danh sách trợ giúp r , nhưng sau hai tuần mà không có bất kỳ câu trả lời nào, tôi đang thử vận may của mình ở đây trên stackoverflow.
Cảm ơn, Eric
Tái bút. Tôi biết về Âm mưu Bộ song song , nhưng đó không phải là thứ tôi đang tìm kiếm.
# 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")
Sơ đồ Sankey được tạo với mã trên,