library(tibble)
library(stylo)
library(ggsci)

freqs <-
  read.table(
    "table_with_frequencies.txt", 
    header=TRUE, 
    row.names=1,
    check.names=FALSE
    ) |>
  t() |>
  as_tibble(rownames="title")


mtx <- as.data.frame(freqs)
rownames(mtx) <- mtx$title
mtx$title <- NULL


old_par <- par(no.readonly = TRUE)

par(
  mar = c(1, 1, 4, 2) + 0.1,  
  mgp = c(1, 1, 0),           
  cex = 0.85, # размер шрифта названий книг
  cex.main = 1.2, # размер заголовка
  family = "serif"
)

res <- stylo(
  gui = FALSE, 
  frequencies = mtx,
  analysis.type = "BCT",
  mfw.min = 100,
  mfw.max = 2000,
  mfw.incr = 200,
  distance.measure = "wurzburg",
  write.png.file = TRUE,
  consensus.strength = 0.5,
  custom.graph.title = "Russian literature consensus tree"
)

par(old_par)

Видим, что авторы хорошо классифицированы - Платонов, Серафимович, Иванов, Крюков, Островский, Булгаков (красный внизу), Леонов и Севский выделены в отдельные узлы и ни с кем не пересекаются. У Шолохова есть две ветки, но все его произведения (включая dubia) им принадлежат. Фадеев и Фурманов объеденены в один узел. В целом, дерево получилось хорошо отражающим реальность.

LS0tDQp0aXRsZTogIlJ1c3NpYW4gbGl0ZXJhdHVyZSBjb25zZW5zdXMgdHJlZSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KYXV0aG9yOiBWb3JvbmNoaWtoaW4gRWdvcg0KLS0tDQoNCmBgYHtyfQ0KbGlicmFyeSh0aWJibGUpDQpsaWJyYXJ5KHN0eWxvKQ0KbGlicmFyeShnZ3NjaSkNCg0KZnJlcXMgPC0NCiAgcmVhZC50YWJsZSgNCiAgICAidGFibGVfd2l0aF9mcmVxdWVuY2llcy50eHQiLCANCiAgICBoZWFkZXI9VFJVRSwgDQogICAgcm93Lm5hbWVzPTEsDQogICAgY2hlY2submFtZXM9RkFMU0UNCiAgICApIHw+DQogIHQoKSB8Pg0KICBhc190aWJibGUocm93bmFtZXM9InRpdGxlIikNCg0KDQptdHggPC0gYXMuZGF0YS5mcmFtZShmcmVxcykNCnJvd25hbWVzKG10eCkgPC0gbXR4JHRpdGxlDQptdHgkdGl0bGUgPC0gTlVMTA0KDQoNCm9sZF9wYXIgPC0gcGFyKG5vLnJlYWRvbmx5ID0gVFJVRSkNCg0KcGFyKA0KICBtYXIgPSBjKDEsIDEsIDQsIDIpICsgMC4xLCAgDQogIG1ncCA9IGMoMSwgMSwgMCksICAgICAgICAgICANCiAgY2V4ID0gMC44NSwgIyDRgNCw0LfQvNC10YAg0YjRgNC40YTRgtCwINC90LDQt9Cy0LDQvdC40Lkg0LrQvdC40LMNCiAgY2V4Lm1haW4gPSAxLjIsICMg0YDQsNC30LzQtdGAINC30LDQs9C+0LvQvtCy0LrQsA0KICBmYW1pbHkgPSAic2VyaWYiDQopDQoNCnJlcyA8LSBzdHlsbygNCiAgZ3VpID0gRkFMU0UsIA0KICBmcmVxdWVuY2llcyA9IG10eCwNCiAgYW5hbHlzaXMudHlwZSA9ICJCQ1QiLA0KICBtZncubWluID0gMTAwLA0KICBtZncubWF4ID0gMjAwMCwNCiAgbWZ3LmluY3IgPSAyMDAsDQogIGRpc3RhbmNlLm1lYXN1cmUgPSAid3VyemJ1cmciLA0KICB3cml0ZS5wbmcuZmlsZSA9IFRSVUUsDQogIGNvbnNlbnN1cy5zdHJlbmd0aCA9IDAuNSwNCiAgY3VzdG9tLmdyYXBoLnRpdGxlID0gIlJ1c3NpYW4gbGl0ZXJhdHVyZSBjb25zZW5zdXMgdHJlZSINCikNCg0KcGFyKG9sZF9wYXIpDQpgYGANCg0K0JLQuNC00LjQvCwg0YfRgtC+INCw0LLRgtC+0YDRiyDRhdC+0YDQvtGI0L4g0LrQu9Cw0YHRgdC40YTQuNGG0LjRgNC+0LLQsNC90YsgLSDQn9C70LDRgtC+0L3QvtCyLCDQodC10YDQsNGE0LjQvNC+0LLQuNGHLCDQmNCy0LDQvdC+0LIsINCa0YDRjtC60L7Qsiwg0J7RgdGC0YDQvtCy0YHQutC40LksINCR0YPQu9Cz0LDQutC+0LIgKNC60YDQsNGB0L3Ri9C5INCy0L3QuNC30YMpLCDQm9C10L7QvdC+0LIg0Lgg0KHQtdCy0YHQutC40Lkg0LLRi9C00LXQu9C10L3RiyDQsiDQvtGC0LTQtdC70YzQvdGL0LUg0YPQt9C70Ysg0Lgg0L3QuCDRgSDQutC10Lwg0L3QtSDQv9C10YDQtdGB0LXQutCw0Y7RgtGB0Y8uINCjINCo0L7Qu9C+0YXQvtCy0LAg0LXRgdGC0Ywg0LTQstC1INCy0LXRgtC60LgsINC90L4g0LLRgdC1INC10LPQviDQv9GA0L7QuNC30LLQtdC00LXQvdC40Y8gKNCy0LrQu9GO0YfQsNGPIGR1YmlhKSDQuNC8INC/0YDQuNC90LDQtNC70LXQttCw0YIuINCk0LDQtNC10LXQsiDQuCDQpNGD0YDQvNCw0L3QvtCyINC+0LHRitC10LTQtdC90LXQvdGLINCyINC+0LTQuNC9INGD0LfQtdC7LiDQkiDRhtC10LvQvtC8LCDQtNC10YDQtdCy0L4g0L/QvtC70YPRh9C40LvQvtGB0Ywg0YXQvtGA0L7RiNC+INC+0YLRgNCw0LbQsNGO0YnQuNC8INGA0LXQsNC70YzQvdC+0YHRgtGMLg0K