Рассчитать статистику перед преобразованием.
Игнорирование масштабов журнала на данный момент, я думаю, что вы хотите построить что-то вроде этого
p <- ggplot(dfr) +
geom_point(aes(x, y)) +
geom_point(
aes(
x = mean(x),
y = mean(y)
),
colour = "blue",
size = 5
) +
geom_rect(
aes(
xmin = mean(x) - sd(x),
xmax = mean(x) + sd(x),
ymin = mean(y) - sd(y),
ymax = mean(y) + sd(y)
),
alpha = 0.2
)
p
Теперь добавление в масштаб журнала являетсясделано как обычно
p +
scale_x_log10() +
scale_y_log10()
Конечно, нули не будут отображаться на графике, как они не должны.Чтобы справиться с ними, у вас есть выбор между удалением их из набора данных или заменой небольшого положительного числа.
РЕДАКТИРОВАТЬ: если вы хотите получить статистику для значений y, сгруппированных по значению x, это звучит какx-переменная является фактором, и в этом случае вы, вероятно, захотите диаграмму.Логарифмическая шкала для диаграмм - плохая идея, но вы могли бы вместо этого оправдать преобразование квадратного корня.