Ошибка в [R] VennDiagram: Impossible производит отрицательную область

У меня возникли проблемы с созданием графика с помощью VennDiagram. Ниже мой код и ошибка:

venn.plot <- draw.quad.venn(area1 = 412, area2 = 471, area3 = 137, area4 = 1507, n12 = 11, n13 = 1, n14 = 132, n23 = 0, n24 = 183, n34 = 24, n123 = 1, n124 = 143, n134 = 18, n234 = 14, n1234 = 64, category = c("Set1", "Set2", "Set3", "Set4"), fill = c("orange", "red", "green", "blue"), lty = "dashed", cex = 2, cat.cex = 2, cat.col = c("orange", "red", "green", "blue"));

Error in draw.quad.venn(area1 = 412, area2 = 471, area3 = 137, area4 = 1507,  : 
Impossible: a5  <- n134 - a6 produces negative area

Я проверил свою математику, но, возможно, что-то пропустил? есть идеи?


person user2993988    schedule 11.12.2013    source источник


Ответы (1)


Проблема ИМХО в отсутствии документации. Попробуйте запустить пример кода для draw.triple.venn . Вы увидите, что значения в областях с попарным перекрытием состоят из значений аргумента минус трехстороннего значения аргумента. То есть,

venn.plot <- draw.triple.venn(
    area1 = 65,
    area2 = 75,
    area3 = 85,
    n12 = 35,
    n23 = 15,
    n13 = 25,
    n123 = 5)

Создает график с «30», «20», «10» в двусторонних регионах. Я подозреваю, что вам придется делать такое же вычитание для ваших входных значений.

person Carl Witthoft    schedule 11.12.2013
comment
Я не понимаю вашей точки зрения. Пакет R сделал вычитание для вас, изменив мой ввод, как вы предложили, чтобы дважды вычесть трехстороннее перекрытие. - person user2993988; 11.12.2013
comment
@user, да, и ваш n234 = 14, n1234 = 64 требует вычитания 64 из 14, отсюда и ошибка. - person Carl Witthoft; 11.12.2013
comment
А, теперь я понимаю, что вы имеете в виду. Это будет больно дразнить друг друга. Спасибо за помощь, Карл! - person user2993988; 11.12.2013
comment
Если я хорошо понимаю, что если у вас есть 10 точек данных в области 1, 10 в области 2 и 20 общих точек между 1 и 2, вы должны указать значение 30 для области 1 (т. е. область 1 включает ВСЕ точки, которые находятся в area1, частные и общие). С этими изменениями все будет работать гладко. - person Fabio Marroni; 08.11.2016