У меня есть фрейм данных df
:
ID Final_score appScore pred_conf pred_chall obs1_conf obs1_chall obs2_conf obs2_chall exp1_conf exp1_chall
3079341 4 low 6 1 4 3 4 4 6 2
3108080 8 high 6 1 6 1 6 1 6 2
3130832 9 high 2 6 3 4 5 4 6 2
3148118 10 high 4 4 4 4 5 4 6 2
3148914 10 high 2 2 2 5 2 5 6 2
3149040 2 low 5 4 6 4 6 4 6 4
Q1: я хочу иметь два наложенных графика для appScore high
и low
для функций _conf
и _chall
. Я хочу, чтобы эти графики были разных цветов. Как мне этого добиться?
Q2: Можно ли построить два сглаженных графика, один для всех _conf
переменных / функций и один для всех _chall
функций. Обратите внимание, что вместо переменной времени мои столбцы упорядочены последовательно следующим образом:
pred_conf --> obs1_conf --> obs2_conf --> exp1_conf
pred_chall --> obs1_chall --> obs2_chall --> exp1_chall
Это просто игрушечный пример, реальные данные имеют несколько строк и много столбцов. Для справки, я делюсь dput () ниже:
dput(df)
structure(list(ID = c(3079341L, 3108080L, 3130832L, 3148118L, 3148914L, 3149040L),
Final_score = c(4L, 8L, 9L, 10L, 10L, 2L),
appScore = structure(c(2L, 1L, 1L, 1L, 1L, 2L), .Label = c("high", "low"), class = "factor"),
pred_conf = c(6L, 6L, 2L, 4L, 2L, 5L),
pred_chall = c(1L, 1L, 6L, 4L, 2L, 4L),
obs1_conf = c(4L, 6L, 3L, 4L, 2L, 6L),
obs1_chall = c(3L, 1L, 4L, 4L, 5L, 4L),
obs2_conf = c(4L, 6L, 5L, 5L, 2L, 6L),
obs2_chall = c(4L, 1L, 4L, 4L, 5L, 4L),
exp1_conf = c(6L, 6L, 6L, 6L, 6L, 6L),
exp1_chall = c(2L, 2L, 2L, 2L, 2L, 4L)),
class = "data.frame", row.names = c(NA, -6L))
Следующие посты полезны, но они учитывают переменную времени. Как мне изменить имена задач с помощью какой-то временной переменной?
Построение нескольких временных рядов в ggplot
Несколько временных рядов на одном графике
Обновление 1:
Мой график в настоящее время выглядит следующим образом при построении графика для _conf
групп high
и low
appScore. Я хочу сгладить и наложить эти графики, чтобы увидеть, есть ли различия или шаблоны.
Это код, который я использовал
library(ggplot2)
df_long %>%
filter(part == "conf") %>%
ggplot(aes(feature, val, group = appScore)) +
geom_line() +
geom_point() +
facet_wrap(~appScore, ncol = 1) +
ggtitle("conf")
![_conf graphs for high and low achievers](https://i.stack.imgur.com/x9T47.png)
Обновление 2:
Использование сценария:
test_long %>%
ggplot(aes(feature, val, color = appScore, group = appScore)) + #, size = Final_score)) +
geom_smooth() +
facet_wrap(~part, nrow = 1) +
ggtitle("conf and chall")
Мне удалось создать необходимый график:
![High and low achievers, conf and chall overlay smoothed graph](https://i.stack.imgur.com/Fd44R.png)