Я пытаюсь отобразить сводные значения на своем графике для простоты сравнения. Не уверен, правильно ли я сформулировал вопрос, поскольку я не нашел ничего, кроме geom_text
ссылок. Я попытаюсь объяснить свои рассуждения ниже.
Базовый фрейм данных с двумя строками, значение по времени.
library(tidyverse)
df <- tibble(
"sample" = as.factor(c(rep("A",6), rep("B",6))),
"time" = c(rep(1:6,2)),
"value1" = c(10,20,30,60,30,30,13,21,32,64,35,32),
"value2" = c(5,15,20,30,20,10,6,15,22,31,42,11)
)
> df
# A tibble: 12 x 4
sample time value1 value2
<fct> <int> <dbl> <dbl>
1 A 1 10 5
2 A 2 20 15
3 A 3 30 20
4 A 4 60 30
5 A 5 30 20
6 A 6 30 10
7 B 1 13 6
8 B 2 21 15
9 B 3 32 22
10 B 4 64 31
11 B 5 35 42
12 B 6 32 11
Рассчитайте площади между двумя линиями и соединитесь с исходным фреймворком. (Я присоединился к сводным данным, так как предполагал, что таким образом будет проще отобразить на графиках, может быть, это неверно?)
df <- df %>%
group_by(sample) %>%
dplyr::summarise(sum1 = sum(value1),
sum2 = sum(value2),
auc = abs(sum1-sum2)) %>%
dplyr::select(-c(sum1,sum2)) %>%
right_join(df)
> df
# A tibble: 12 x 5
sample auc time value1 value2
<fct> <dbl> <int> <dbl> <dbl>
1 A 80 1 10 5
2 A 80 2 20 15
3 A 80 3 30 20
4 A 80 4 60 30
5 A 80 5 30 20
6 A 80 6 30 10
7 B 70 1 13 6
8 B 70 2 21 15
9 B 70 3 32 22
10 B 70 4 64 31
11 B 70 5 35 42
12 B 70 6 32 11
Построение значений во времени с выделенной областью, которая меня интересует Я не смог понять, как отобразить на графике значение auc
. Чтобы уточнить, я хочу извлечь значения 70, 80 и отобразить их, например, в правом нижнем углу фасетных графиков. (НЕ, например, отображение значения 80 в каждой точке графика).
Возможно ли это? Я еще не нашел лучшего способа сообщить об этом go. Благодарим за любую помощь.
df %>%
ggplot(aes(x=time,y=value1))+
geom_line()+
geom_line(aes(y=value2),color='red')+
geom_ribbon(aes(ymin = value2, ymax = value1), fill='green', alpha=.3)+
facet_wrap(~sample)
введите описание изображения здесь