123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- ---
- title: "Spacek et al., 2021, Figure 3"
- 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/fig3.csv")
- ```
- ```{r tidy, include = FALSE}
- # Transform opto's "false" and "true" into a binary, numeric predictor
- tb <- tib %>% mutate(feedback = ifelse(opto == TRUE, 0, 1))
- ```
- # Figure 3c
- ## Feedback effects on firing rate
- ```{r fit_model_3c}
- # Random-intercept, random-slope for single neurons,
- # random intercept for experiments, nested in series
- lmer.3c = lmer(rates ~ feedback + (1 + feedback | uid) + (1 | sid/eid),
- data = tb %>% drop_na(rates))
- display(lmer.3c)
- anova(lmer.3c)
- ```
- ```{r predicted_average_effect_3c, include=F}
- mSuppr = fixef(lmer.3c)[1]
- diffMeans = fixef(lmer.3c)[2]
- mActive = fixef(lmer.3c)[1] + diffMeans
- ```
- Feedback: `r format(mActive, digits=1, nsmall=1)` spikes/s \newline
- Suppression: `r format(mSuppr, digits=1, nsmall=1)` spikes/s \newline
- n = `r nrow(tb %>% drop_na(rates) %>% count(uid))` neurons from `r nrow(tb %>% drop_na(rates) %>% count(mid))` mice
- \newpage
- # Figure 3d
- ## Feedback effects on burst ratio
- ```{r fit_model_3d}
- # Random-intercept, random-slope for single neurons,
- # random intercept for experiments, nested in series
- lmer.3d = lmer(burstratios ~ feedback + (1 + feedback | uid) + (1 | sid/eid),
- data = tb %>% drop_na(burstratios))
- display(lmer.3d)
- anova(lmer.3d)
- ```
- ```{r predicted_average_effect_3d, include=F}
- mSuppr = fixef(lmer.3d)[1]
- diffMeans = fixef(lmer.3d)[2]
- mActive = fixef(lmer.3d)[1] + diffMeans
- ```
- Feedback: `r format(mActive, digits=2, nsmall=2)` \newline
- Suppression: `r format(mSuppr, digits=2, nsmall=2)` \newline
- n = `r nrow(tb %>% drop_na(burstratios) %>% count(uid))` neurons from `r nrow(tb %>% drop_na(burstratios) %>% count(mid))` mice
- \newpage
- # Figure 3e
- ## Feedback effects on orientation selectivity
- ```{r, tidy_for_3eg, include=FALSE}
- # 'Orientation selectivity', and 'F1/F0 ratio' 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
- tbeg = tb %>% select(mid, sid, eid, uid, mseu, feedback, osi, f1f0) %>% distinct(mseu, feedback, .keep_all = TRUE)
- ```
- ```{r fit_model_3e}
- # Random-intercept for single neurons,
- # random intercept for experiments, nested in series
- lmer.3e = lmer(osi ~ feedback + (1 | uid) + (1 | sid/eid),
- data = tbeg %>% drop_na(osi))
- display(lmer.3e)
- anova(lmer.3e)
- ```
- ```{r predicted_average_effect_3e, include=F}
- mSuppr = fixef(lmer.3e)[1]
- diffMeans = fixef(lmer.3e)[2]
- mActive = fixef(lmer.3e)[1] + diffMeans
- ```
- Feedback: OSI = `r format(mActive, digits=2, nsmall=2)` \newline
- Suppression: OSI = `r format(mSuppr, digits=2, nsmall=2)` \newline
- n = `r nrow(tbeg %>% drop_na(osi) %>% count(uid))` neurons from `r nrow(tbeg %>% drop_na(osi) %>% count(mid))` mice
- \newpage
- # Figure 3g
- ## Feedback effects on F1/F0-ratio
- ```{r fit_model_3g}
- # Random intercept, random slope for single neurons,
- # random intercept for series
- lmer.3g = lmer(f1f0 ~ feedback + (1 + feedback | uid) + (1 | sid),
- data = tbeg %>% drop_na(f1f0))
- display(lmer.3g)
- anova(lmer.3g)
- ```
- ```{r predicted_average_effect_3g, include=F}
- mSuppr = fixef(lmer.3g)[1]
- diffMeans = fixef(lmer.3g)[2]
- mActive = fixef(lmer.3g)[1] + diffMeans
- ```
- Feedback: $F_1/F_0$-ratio = `r format(mActive, digits=2, nsmall=2)` \newline
- Suppression: $F_1/F_0$-ratio = `r format(mSuppr, digits=2, nsmall=2)` \newline
- n = `r nrow(tbeg %>% drop_na(f1f0) %>% count(uid))` neurons from `r nrow(tbeg %>% drop_na(f1f0) %>% count(mid))` mice
- \newpage
- # Figure 3i
- ## Feedback effects on distribution of cycle average phase differences
- ```{r tidy_3i, include=F}
- # Remove redundant rows, select relevant variables
- tb3i <- tib %>% filter(opto == "TRUE") %>% select(mid, sid, eid, uid, mseu, dbphi, dnbphi) %>% distinct(mseu, .keep_all = TRUE)
- # Grab bursting phis
- tb3i_db = tb3i %>% filter(dbphi != "NA")
- # Grab non-bursting phis
- tb3i_dnb = tb3i %>% filter(dnbphi != "NA")
- ```
- ```{r test_3i_bursting}
- # Of all bursting phis, how many are phase-advanced?
- b_adv = sum(tb3i_db$dbphi > 0)
- resb = binom.test(b_adv, length(tb3i_db$dbphi), 0.5)
- print(resb)
- ```
- \vspace{0.5cm}
- ```{r test_3i_non_bursting}
- # Of all non-bursting phis, how many are phase-advanced?
- nb_adv = sum(tb3i_dnb$dnbphi > 0)
- resnb = binom.test(nb_adv, length(tb3i_dnb$dnbphi), 0.5)
- print(resnb)
- ```
|