Диаграммы Санки - PullRequest
       33

Диаграммы Санки

0 голосов
/ 24 мая 2018

Я видел этот пост 1 и Сюжет Санки в R , чтобы сделать заговор SAnkey, но его сложно понять!

Если цените, кто-то может объяснитькак построить график Санки для фрейма данных, как показано ниже:

data.frame(row.names = paste0("SP","",1:30),
           COL1 = rep(sample(LETTERS[1:3]),10),
           COL3 = rep(sample(LETTERS[1:3]),10),
           COL3 = rep(sample(LETTERS[1:3]),10)
           )

Таким образом, я могу визуализировать значения 3 столбцов, представляющих столбцы с 3 сегментами, представляющими 3 фактора «A», «B» и «C».

1 Ответ

0 голосов
/ 25 мая 2018

Давайте попробуем:

# load some packages!
library(alluvial)
library(ggalluvial)
require(ggplot2)
library(reshape)

# put the seed, to have consistency in random sample
set.seed(1)
data <- data.frame(row.names = paste0("SP","",1:30),
           id = paste0("SP","",1:30),              # added the rowlabels as id
           COL1 = rep(sample(LETTERS[1:3]),10),
           COL2 = rep(sample(LETTERS[1:3]),10),    # rename a column
           COL3 =rep(sample(LETTERS[1:3]),10))


# put data in long format, for ggplot
mdata <- melt(data, id=c("id")) 


# here the sankey, if it's like you want it
ggplot(mdata,aes(x = variable, stratum = value, alluvium = id, fill = value, label = value))+
  geom_flow(stat = "alluvium", lode.guidance = "rightleft") +
  geom_stratum() + geom_text(stat = "stratum")+
  theme(legend.position = "none") +
  ggtitle("test")



Вот результат.

enter image description here

...