Как построить несколько линий с несколькими условиями (6 * 2 * 3) в R - PullRequest
1 голос
/ 02 июля 2019

Я пытаюсь построить этот фрейм данных, который имеет общее количество строк 36 * столбцов 7: Примечания:

Существует 6 факторов для стимул_имения_1 = 1,5, 2, 2,5, 3, 3,5

Три представляют собой три повторяющихся условия:

visbility =1 soundvolume=0 (visbility)
visbility =0 soundvolume=1 (soundvolume)
visbility = 0 soundvolume=0 (this sould be called blank or empty)

Имя кадра даты: master_all_r.csv

stim_ending_t visbility soundvolume Opening_text               m     sd coefVar
          <dbl>     <dbl>       <dbl> <chr>                  <dbl>  <dbl>   <dbl>
1             1         0           0 Now focus on the Image  1.70  1.14    0.670
2             1         0           0 Now focus on the Sound  1.57  0.794   0.504
3             1         0           1 Now focus on the Image  1.62  1.25    0.772
4             1         0           1 Now focus on the Sound  1.84  1.17    0.637
5             1         1           0 Now focus on the Image  3.19 17.2     5.38 
6             1         1           0 Now focus on the Sound  1.59  0.706   0.444 

Как должен выглядеть график: x = Stim_ending_t, y = m

Мне нужны три линии на одном графике, которые удовлетворяют указанным выше условиям, и разделены на две группы с помощью = Opening_text.Если это возможно, это может быть в одном графике, но если нет, то две группы (теперь сфокусируйтесь на изображении и теперь сфокусируйтесь на звуке) можно разделить на два отдельных графика.

Я пробовал этот код:

ggplot(test_master, aes(x=stim_ending_t, y=m, group=Opening_text, visbility, soundvolume)) +
geom_line(aes(linetype=Opening_text, visbility, soundvolume))+
geom_point()

Но получил вот это Warning message: Duplicated aesthetics after name standardisation: вот результат, который я получил здесь

В идеале график должен выглядеть так, но с тремя линиями здесь.Я нашел эти графики здесь

Если вы хотите скачать файл Excel, вы можете найти его здесь под именем master_all_r.csv

1 Ответ

0 голосов
/ 03 июля 2019

Я полагаю, вы ищете что-то вроде этого:

enter image description here

library(tidyvere)
library(readr)

test_master <- read_csv("https://raw.githubusercontent.com/MohJumper/VisualAuditoryModality/master/master_all_r.csv")

test_master %>%
  mutate(visbility_sound = case_when(
           visbility == 1 & soundvolume == 0 ~ "visibility",
           visbility == 0 & soundvolume == 1 ~ "soundvolume",
           visbility == 0 & soundvolume == 0 ~ "empty")) %>% 
  mutate_at(vars(visbility_sound), factor) %>% 
  ggplot(aes(x = stim_ending_t, y = m, color = visbility_sound)) +
  geom_line(aes(linetype = visbility_sound)) +
  geom_point() +
  facet_wrap(~Opening_text) +
  theme_minimal()

Итак, вот что происходит:

  • используйте простую условную логику для разбора ваших столбцов в один столбец
  • преобразование нового столбца в столбец фактора
  • отображение в ggplot с цветом, установленным новым столбцом маркера
  • скажите geom_line, чтобы также использовать этот столбец для типа линии
  • , разделить на два графика с помощью facet_wrap (можно также использовать facet_grid!)
  • , чтобы установить тему на более простую темуглаза;)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...