Анализ поведения мониторинга времени в R - PullRequest
0 голосов
/ 19 июня 2019

Я провел психологический эксперимент и хочу проанализировать частоту наблюдения участников за часами. Я хочу посмотреть среднее количество проверок часов по временным блокам в 5 секунд. Тогда было бы неплохо сделать точечный график, чтобы увидеть, отличается ли распределение проверок часов от валентности. Есть предложения?

Вот часть моих данных ...

tibble::tribble(
  ~Valence, ~CheckTime, ~Participant,
         0,       44.4,           1L,
         1,          7,           2L,
         2,       15.9,           3L,
         0,         35,           1L,
         1,       27.4,           2L,
         2,       30.4,           3L,
         0,       56.9,           1L,
         1,       45.7,           2L,
         2,       40.4,           3L,
         0,       40.8,           1L,
         1,       50.9,           2L,
         2,         48,           3L,
         0,         60,           1L,
         1,       55.4,           2L,
         2,         20,           3L,
         0,       23.4,           1L,
         1,       10.9,           2L,
         2,       37.6,           3L,
         0,       47.4,           1L,
         1,       27.4,           2L,
         2,       57.4,           3L,
         0,         61,           1L,
         1,       47.4,           2L,
         2,         37,           3L,
         0,       35.2,           1L,
         1,       55.4,           2L,
         2,       53.9,           3L,
         0,         54,           1L,
         1,        1.5,           2L,
         2,       36.1,           3L,
         0,       30.4,           1L,
         1,        8.9,           2L,
         2,       58.6,           3L,
         0,       58.7,           1L,
         1,       20.6,           2L,
         2,       45.9,           3L,
         0,       81.5,           1L,
         1,       26.9,           2L,
         2,       54.6,           3L,
         0,       26.2,           1L,
         1,       44.5,           2L,
         2,       47.4,           3L,
         0,         52,           1L,
         1,       51.5,           2L,
         2,       62.1,           3L,
         0,       38.7,           1L,
         1,       54.3,           2L,
         2,       39.5,           3L,
         0,         60,           1L,
         1,         24,           2L,
         2,       58.4,           3L,
         0,       21.1,           1L,
         1,         39,           2L,
         2,       58.9,           3L,
         0,       65.2,           1L,
         1,       49.4,           2L,
         2,       54.2,           3L,
         0,       30.4,           1L,
         1,       56.6,           2L,
         2,       40.5,           3L,
         0,       50.3,           1L,
         1,        0.8,           2L,
         2,       51.8,           3L,
         0,       60.3,           1L,
         1,       16.7,           2L,
         2,       37.9,           3L,
         0,       18.7,           1L,
         1,       41.8,           2L,
         2,       53.6,           3L,
         0,       33.8,           1L,
         1,       49.4,           2L,
         2,       36.2,           3L,
         0,         49,           1L,
         1,       53.5,           2L,
         2,       59.5,           3L,
         0,       61.4,           1L,
         1,        1.4,           2L,
         2,         49,           3L,
         0,       15.6,           1L,
         1,        8.3,           2L,
         2,       58.7,           3L,
         0,       36.5,           1L,
         1,       33.4,           2L,
         2,       52.2,           3L,
         0,       52.4,           1L,
         1,       58.6,           2L,
         2,       57.4,           3L,
         0,         59,           1L,
         1,        0.6,           2L,
         2,       31.7,           3L,
         0,       30.6,           1L,
         1,        8.9,           2L,
         2,       48.9,           3L,
         0,       57.8,           1L,
         1,       23.9,           2L,
         2,       55.7,           3L,
         0,       18.3,           1L,
         1,         41,           2L,
         2,         27,           3L,
         0,       35.9,           1L,
         1,         50,           2L,
         2,       54.6,           3L,
         0,       58.5,           1L,
         1,        0.8,           2L,
         2,       39.4,           3L,
         0,       21.2,           1L,
         1,       10.1,           2L,
         2,       64.8,           3L,
         0,       36.8,           1L,
         1,       26.8,           2L,
         2,       27.2,           3L,
         0,       58.4,           1L,
         1,       45.4,           2L,
         2,         47,           3L,
         0,       25.8,           1L,
         1,       54.9,           2L,
         2,       56.8,           3L,
         0,       41.1,           1L,
         1,       56.8,           2L,
         2,       32.8,           3L,
         0,       60.6,           1L,
         1,         80,           2L,
         2,       48.2,           3L,
         0,       27.8,           1L,
         1,        1.1,           2L,
         2,       58.9,           3L,
         0,       57.5,           1L,
         1,        7.8,           2L,
         2,       22.5,           3L,
         0,       36.9,           1L,
         1,       19.5,           2L,
         2,         40,           3L,
         1,       32.5,           2L,
         1,       43.5,           2L,
         1,       54.3,           2L,
         1,       12.6,           2L,
         1,       27.2,           2L,
         1,       47.1,           2L,
         1,       69.5,           2L,
         1,       21.6,           2L,
         1,       32.8,           2L,
         1,       43.3,           2L,
         1,       48.5,           2L,
         1,       56.5,           2L,
         1,       37.2,           2L,
         1,       45.7,           2L,
         1,       50.3,           2L,
         1,        1.5,           2L,
         1,       22.9,           2L,
         1,         52,           2L,
         1,        0.6,           2L,
         1,         19,           2L,
         1,       30.2,           2L,
         1,       43.9,           2L,
         1,       45.2,           2L,
         1,         53,           2L,
         1,        0.8,           2L,
         1,       23.4,           2L,
         1,       41.6,           2L,
         1,         55,           2L,
         1,        0.5,           2L,
         1,       12.6,           2L,
         1,       26.7,           2L,
         1,       40.8,           2L,
         1,       53.6,           2L,
         1,        0.7,           2L,
         1,       16.6,           2L,
         1,       33.5,           2L,
         1,       49.6,           2L,
         1,       59.4,           2L,
         1,       12.9,           2L,
         1,       23.3,           2L,
         1,         36,           2L,
         1,       40.9,           2L,
         1,       50.4,           2L,
         1,       53.6,           2L,
         1,        0.8,           2L,
         1,       19.9,           2L,
         1,       32.6,           2L,
         1,         62,           2L,
         1,        0.6,           2L,
         1,        8.7,           2L,
         1,       45.2,           2L,
         1,       56.6,           2L,
         1,        2.1,           2L
  )

Редактировать.

ОП опубликовал следующий код в комментарии к моему ответу ниже.

library(ggplot2)
library(dplyr)

df1 %>%
  select(Valence, CheckTime, Participant) %>% #interest variables 
  filter(!is.na(CheckTime)) %>% #deleting NAN 
  mutate(CheckTime = round(CheckTime, 0)) %>% 
  group_by( Valence, CheckTime) %>% 
  tally() %>% 
  ggplot(aes(x=CheckTime, y=n, color=factor(Valence))) + 
  geom_point() + 
  xlim(c(1,60)) + 
  geom_smooth(method = "lm") + 
  labs(title = element_blank(), x = "Check Time", y = "N", color = "Valence") + 
  scale_color_manual(labels = c("Neutral", "Positive", "Negative"), 
                     values = c("red", "green", "blue"))

1 Ответ

0 голосов
/ 19 июня 2019

После объяснений в комментариях, я полагаю, что следующий код - то, о чем спрашивает вопрос.

Я создаю вспомогательную переменную secs5, чтобы получить 5-секундные интервалы, в которых лежит CheckTime. Затем tally количество случаев в каждой группе Valence и Secs5.

library(ggplot2)
library(dplyr)

secs5 <- seq(0, max(df1$CheckTime), by = 5)

df1 %>%
  select(Valence, CheckTime, Participant) %>% #interest variables 
  filter(!is.na(CheckTime)) %>% #deleting NAN 
  mutate(Secs5 = secs5[findInterval(CheckTime, secs5)]) %>% 
  group_by(Valence, Secs5) %>% 
  tally() %>% 
  ggplot(aes(x = Secs5, y = n, color = factor(Valence))) + 
  geom_point() + 
  xlim(c(1, 60)) + 
  geom_smooth(method = "lm") + 
  labs(title = element_blank(), x = "Check Time", y = "N", color = "Valence") + 
  scale_color_manual(labels = c("Neutral", "Positive", "Negative"), 
                     values = c("red", "green", "blue"))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...