Пожалуйста !!!

ой первый вопрос по stackoverlow, пожалуйста, исправьте меня, если я не соблюдаю правильные протоколы вопросов.

Я пытаюсь создать несколько графиков для данных, которые были собраны за три момента времени (время 1, время 2, время 3), что соответствует X1 ..., X2 ... и X3 ... в начале имен столбцов , Графики также отделены столбцом $ Group от фрейма данных.

У меня нет проблем при создании графиков, у меня просто много переменных (~ 170), и я хочу сравнить время 1 с временем 2, время 2 с временем 3 и т. Д., Поэтому я пытаюсь создать ярлык для запуска такого рода кода вместо того, чтобы печатать каждый в отдельности.

Как указано выше, я создал имена переменных, такие как X1 ... X2 ..., которые указывают время, когда переменная была записана, т.е. X1BCSTCAT = time 1; X2BCSTCAT = время 2; X3BCSTCAT = время 3. Вот небольшой пример того, как выглядят мои данные:

df <- structure(list(ID = structure(1:6, .Label = c("101","102","103","118","119","120"), class = "factor"), 
                   Group = structure(c(1L,1L,1L,2L,2L,2L), .Label = c("C8","TC"), class = "factor"), 
                   Wave = structure(c(1L, 2L, 3L, 4L, 1L, 2L), .Label = c("A","B","C","D"), class = "factor"), 
                   Yr = structure(c(1L, 2L, 1L, 2L, 1L, 2L), .Label = c("3","5"), class = c("ordered", "factor")), 
                   Age.Yr. = c(10.936,10.936, 9.311, 10.881, 10.683, 11.244), 
                   Training..hr. = c(10.667,10.333, 10.667, 10.333, 10.333, 10.333), 
                   X1BCSTCAT = c(-0.156,0.637,-1.133,0.637,2.189,1.229), 
                   X1BCSTCR = c(0.484,0.192, -1.309, 0.912, 1.902, 0.484), 
                   X1BCSTPR = c(-1.773,0.859, 0.859, 0.12, -1.111, 0.12), 
                   X2BCSTCAT = c(1.006, -0.379,-1.902, 0.444, 2.074, 1.006), 
                   X2BCSTCR = c(0.405, -0.457,-1.622, 1.368, 1.981, 0.168), 
                   X2BCSTPR = c(-0.511, -0.036,2.189, -0.036, -0.894, 0.949),
                   X3BCSTCAT = c(1.18, -1.399,-1.399, 1.18, 1.18, 1.18), 
                   X3BCSTCR = c(0.967, -1.622, -1.622,0.967, 0.967, 1.255), 
                   X3BCSTPR = c(-1.282, -1.282, 1.539,1.539, 0.792, 0.792)), 
              row.names = c(1L, 2L, 3L, 4L, 5L,8L), class = "data.frame")

Вот некоторый рабочий код для создания одного графика с использованием ggplot для данных времени 1 против времени 2 для одной переменной:

library(ggplot2)

p <- ggplot(df, aes(x=df$X1BCSTCAT, y=df$X2BCSTCAT, shape = df$Group, color = df$Group)) + 
  geom_point() + geom_smooth(method=lm, aes(fill=df$Group), fullrange = TRUE) + 
  labs(title="BCSTCAT", x="Time 1", y = "Time 2") + 
  scale_color_manual(name = "Group",labels = c("C8","TC"),values = c("blue", "red")) +
  scale_shape_manual(name = "Group",labels = c("C8","TC"),value,s = c(16, 17)) +
  scale_fill_manual(name = "Group",labels = c("C8", "TC"),values = c("light blue", "pink"))

Поэтому я действительно пытаюсь создать какой-то ярлык, где R будет циклически проходить и сопоставлять имена переменных X1 ... vs X2 ... и так далее, и создавать графики. Я предполагаю, что должен быть какой-то способ построить график на основе соответствующих номеров столбцов, например, df [, 7] vs df [, 10] и повторение этого процесса или построения графика путем сопоставления имен (где единственная разница в именах переменных - это число, указывающее время).

Ранее я циклически создавал отдельные графики, используяlapply функции, но понятия не имею, с чего начать, пытаясь сделать это.

Ответы на вопрос(1)

Ваш ответ на вопрос