У меня есть набор данных, в котором красная линия, изображенная ниже, основана на 2400 точках данных. Зеленая линия основана на 220 точках данных.
Я запускаю ggplot как таковой:
ggplot(data,aes(HB_PRE_MIN,d30, color = factor(preop_transfusion_factor))) +
geom_smooth()
И он создает этот график
With this output: geom_smooth()
using method = 'gam' and formula 'y ~ s(x, bs = "cs")'
If i try to do a geom_smooth where i filter the data to be only the 220 who have preop_transfusion_factor == 1, that is the green curve, i get this curve, which i think is the way the green curve should have looked like if it was correct.
Code:
ggplot(data = data %>% filter(preop_transfusion_factor == 1),aes(HB_PRE_MIN,d30)) +
geom_smooth() + scale_x_continuous(breaks = seq(0,12,by = 1))
введите описание изображения здесь
Резюме:
Я хотел бы иметь возможность правильно построить обе сглаженные кривые, тогда как сейчас одна кривая с коэффициентом 10 меньше точек данных просто становится плоской линией . Я подозреваю, что это связано с тем, что красная кривая основана на гораздо большем количестве точек данных, что каким-то образом может нарушить соответствие другой кривой. Однако это гипотеза.
Я пробовал использовать ключевое слово «group» вместо цвета, но результат тот же, что и для зеленой кривой, с фактором = 1, превращаясь в плоскую линию.
Если вам известно решение, позволяющее правильно подогнать обе кривые и отобразить их на одном графике, я был бы признателен, если бы вы услышали его, потому что при этом становится более очевидным, чем они отличаются друг от друга.
С уважением.