123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- ---
- title: "Spacek et al., 2021, Figure 5"
- output: pdf_document
- ---
- ```{r setup, include=FALSE}
- knitr::opts_chunk$set(echo = TRUE)
- library(arm)
- library(lmerTest)
- library(tidyverse)
- source('get_data.R')
- ```
- ```{r read_data, include=FALSE}
- tib = get_data("../csv/fig5.csv")
- ```
- ```{r tidy, include = FALSE}
- # Transform columns st8 and opto into binary, numerical predictors
- tb = tib %>% mutate(run = ifelse(st8 == "run", 1, 0))
- tb = tb %>% mutate(feedback = ifelse(opto == "TRUE", 0, 1))
- tbf = tb %>% filter(feedback == 1) # feedback, panels c-f
- tbs = tb %>% filter(feedback == 0) # suppression, panels i-l
- ```
- # Figure 5c
- ## Effect of locomotion state on firing rate
- ```{r fit_model_5c}
- # Random intercept, random slope for neurons,
- # random intercept for experiments, nested in series
- lmer.5c = lmer(rates ~ run + (1 + run | uid) + (1 | sid/eid),
- data = tbf %>% drop_na(rates))
- display(lmer.5c)
- anova(lmer.5c)
- ```
- ```{r get_predicted_average_effect_5c, include=F}
- mSit = fixef(lmer.5c)[1]
- diffMeans = fixef(lmer.5c)[2]
- mRun = fixef(lmer.5c)[1] + diffMeans
- ```
- Running: `r format(mRun, digits=1, nsmall=1)` spikes/s \newline
- Sitting: `r format(mSit, digits=1, nsmall=1)` spikes/s \newline
- n = `r nrow(tbf %>% drop_na(rates) %>% count(uid))` neurons from `r nrow(tbf %>% drop_na(rates) %>% count(mid))` mice
- \newpage
- # Figure 5d
- ## Effect of locomotion state on burst ratio
- ```{r fit_model_5d}
- # Random intercept, random slope for neurons,
- # random intercept for experiments, nested in series
- lmer.5d = lmer(burstratios ~ run + (1 + run | uid) + (1 | sid/eid),
- data = tbf %>% drop_na(burstratios))
- display(lmer.5d)
- anova(lmer.5d)
- ```
- ```{r get_predicted_average_effect_5d, include=F}
- mSit = fixef(lmer.5d)[1]
- diffMeans = fixef(lmer.5d)[2]
- mRun = fixef(lmer.5d)[1] + diffMeans
- ```
- Running: `r format(mRun, digits=2, nsmall=2)` \newline
- Sitting: `r format(mSit, digits=2, nsmall=2)` \newline
- n = `r nrow(tbf %>% drop_na(burstratios) %>% count(uid))` neurons from `r nrow(tbf %>% drop_na(burstratios) %>% count(mid))` mice
- \newpage
- # Figure 5e
- ## Effect of locomotion state on sparseness
- ```{r tidy_for_5ef, include=FALSE}
- # 'Sparseness', and 'reliability' are not computed on a trial-by-trial basis. In the csv-file,
- # these two measures are therefore identical across trials, so we simply pull out the first trial of each neuron
- tbfef = tbf %>% select(mid, sid, eid, uid, mseu, run, spars, rel) %>% distinct(mseu, run, .keep_all = TRUE)
- ```
- ```{r fit_model_5e}
- # Random intercept for neurons,
- # random intercept for experiments, nested in series
- lmer.5e = lmer(spars ~ run + (1 | uid) + (1 | sid/eid),
- data = tbfef %>% drop_na(spars))
- display(lmer.5e)
- anova(lmer.5e)
- ```
- ```{r get_predicted_average_effect_5e, include=F}
- mSit = fixef(lmer.5e)[1]
- diffMeans = fixef(lmer.5e)[2]
- mRun = fixef(lmer.5e)[1] + diffMeans
- ```
- Running: `r format(mRun, digits=2, nsmall=2)` \newline
- Sitting: `r format(mSit, digits=2, nsmall=2)` \newline
- n = `r nrow(tbfef %>% drop_na(spars) %>% count(uid))` neurons from `r nrow(tbfef %>% drop_na(spars) %>% count(mid))` mice
- \newpage
- # Figure 5f
- ## Effect of locomotion state on reliability
- ```{r fit_model_5f}
- # Random intercept for neurons,
- # random intercept for experiments, nested in series
- lmer.5f = lmer(rel ~ run + (1 | uid) + (1 | sid/eid),
- data = tbfef %>% drop_na(rel))
- display(lmer.5f)
- anova(lmer.5f)
- ```
- ```{r get_predicted_average_effect_5f, include=F}
- mSit = fixef(lmer.5f)[1]
- diffMeans = fixef(lmer.5f)[2]
- mRun = fixef(lmer.5f)[1] + diffMeans
- ```
- Running: `r format(mRun, digits=2, nsmall=2)` \newline
- Sitting: `r format(mSit, digits=2, nsmall=2)` \newline
- n = `r nrow(tbfef %>% drop_na(rel) %>% count(uid))` neurons from `r nrow(tbfef %>% drop_na(rel) %>% count(mid))` mice
- \newpage
- # Figure 5i
- ## Effect of locomotion state on firing rate during V1 suppression
- ```{r fit_model_5i}
- # Random intercept, random slope for neurons,
- # random intercept for experiments nested in series
- lmer.5i = lmer(rates ~ run + (1 + run | uid) + (1 | sid/eid),
- data = tbs %>% drop_na(rates))
- display(lmer.5i)
- anova(lmer.5i)
- ```
- ```{r get_predicted_average_effect_5i, include=F}
- mSit = fixef(lmer.5i)[1]
- diffMeans = fixef(lmer.5i)[2]
- mRun = fixef(lmer.5i)[1] + diffMeans
- ```
- Running: `r format(mRun, digits=1, nsmall=1)` spikes/s \newline
- Sitting: `r format(mSit, digits=1, nsmall=1)` spikes/s \newline
- n = `r nrow(tbs %>% drop_na(rates) %>% count(uid))` neurons from `r nrow(tbs %>% drop_na(rates) %>% count(mid))` mice
- \newpage
- # Figure 5j
- ## Effect of locomotion state on burst ratio during V1 suppression
- ```{r fit_model_5j}
- # Random intercept, random slope for neurons,
- # random intercept for experiments, nested in series
- lmer.5j = lmer(burstratios ~ run + (1 + run | uid) + (1 | sid/eid),
- data = tbs %>% drop_na(burstratios))
- display(lmer.5j)
- anova(lmer.5j)
- ```
- ```{r get_predicted_average_effect_5j, include=F}
- mSit = fixef(lmer.5j)[1]
- diffMeans = fixef(lmer.5j)[2]
- mRun = fixef(lmer.5j)[1] + diffMeans
- ```
- Running: `r format(mRun, digits=2, nsmall=2)` \newline
- Sitting: `r format(mSit, digits=2, nsmall=2)` \newline
- n = `r nrow(tbs %>% drop_na(burstratios) %>% count(uid))` neurons from `r nrow(tbs %>% drop_na(burstratios) %>% count(mid))` mice
- ```{r tidy_for_5kl, include=FALSE}
- # 'Sparseness', and 'reliability' are not computed on a trial-by-trial basis. In the csv-file,
- # these two measures are therefore identical across trials, so we simply pull out the first trial of each neuron
- tbskl = tbs %>% select(mid, sid, eid, uid, mseu, run, spars, rel) %>% distinct(mseu, run, .keep_all = TRUE)
- ```
- \newpage
- # Figure 5k
- ## Effect of locomotion state on sparseness during V1 suppression
- ```{r fit_model_5k}
- # Random intercept for neurons,
- # random intercept for experiments, nested in series, nested in mice
- lmer.5k = lmer(spars ~ run + (1 | uid) + (1 | mid/sid/eid),
- data = tbskl %>% drop_na(spars))
- display(lmer.5k)
- anova(lmer.5k)
- ```
- ```{r get_predicted_average_change_5k, include=F}
- mSit = fixef(lmer.5k)[1]
- diffMeans = fixef(lmer.5k)[2]
- mRun = fixef(lmer.5k)[1] + diffMeans
- ```
- Running: `r format(mRun, digits=2, nsmall=2)` \newline
- Sitting: `r format(mSit, digits=2, nsmall=2)` \newline
- n = `r nrow(tbskl %>% drop_na(spars) %>% count(uid))` neurons from `r nrow(tbskl %>% drop_na(spars) %>% count(mid))` mice
- \newpage
- # Figure 5l
- ## Effect of locomotion state on reliability during V1 suppression
- ```{r fit_model_5l}
- # Random intercept for neurons,
- # random intercept for experiments, nested in series
- lmer.5l = lmer(rel ~ run + (1 | uid) + (1 | sid/eid),
- data = tbskl %>% drop_na(rel))
- display(lmer.5l)
- anova(lmer.5l)
- ```
- ```{r get_predicted_average_effect_5l, include=F}
- mSit = fixef(lmer.5l)[1]
- diffMeans = fixef(lmer.5l)[2]
- mRun = fixef(lmer.5l)[1] + diffMeans
- ```
- Running: `r format(mRun, digits=2, nsmall=2)` \newline
- Sitting: `r format(mSit, digits=2, nsmall=2)` \newline
- n = `r nrow(tbskl %>% drop_na(rel) %>% count(uid))` neurons from `r nrow(tbskl %>% drop_na(rel) %>% count(mid))` mice
|