Skip to content
Snippets Groups Projects
Commit 41e402e0 authored by Xianzong Meng's avatar Xianzong Meng
Browse files

data reorganize:approaching is time after leaving (not cluding leaving)

code change:Figure refine
parent 023113e8
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
...@@ -101,8 +101,8 @@ summary(df) %>% kable("pipe") ...@@ -101,8 +101,8 @@ summary(df) %>% kable("pipe")
test_day <- df %>% filter(df$robot.day == 1) test_day <- df %>% filter(df$robot.day == 1)
``` ```
#### model comparision --- ???? still need to be rearrange #### model comparision
## sec/score model comparision (SD rat, 90% restrction, backing on Rday1) ## sec/score model comparision (data: SD rat, 90% restrction, backing, Rday1)
```{r} ```{r}
df.SD_Rday1 <- df %>% filter(df$robot.day == 1, df$group == "SD") df.SD_Rday1 <- df %>% filter(df$robot.day == 1, df$group == "SD")
p_sec <- ggplot(df.SD_Rday1, aes(x=trials, y=foraging.sec, group=group, colour=group, shape=sex)) p_sec <- ggplot(df.SD_Rday1, aes(x=trials, y=foraging.sec, group=group, colour=group, shape=sex))
...@@ -128,30 +128,29 @@ check_heteroscedasticity(mod.score) ...@@ -128,30 +128,29 @@ check_heteroscedasticity(mod.score)
#***Model with scores seem to better follow normal distribution. #***Model with scores seem to better follow normal distribution.
``` ```
####age effect, SD rat (70/100 days, M/F, trials 1-5)
#### SD rat (70/100 days, M/F, trials 1-5)
##ANOVA-based significant test ##ANOVA-based significant test
```{r} ```{r}
df.SD_Rday1 <- df %>% filter(df$robot.day == 1, df$group == "SD") df.SD_Rday1 <- df %>% filter(df$robot.day == 1, df$group == "SD")
SD_backing <- lmer(foraging.score~ sex + trials + age + sex:trials + sex:age + trials:age + (1|rat_ID), df.SD_Rday1) SD_foraging <- lmer(foraging.score~ sex + trials + age + sex:trials + sex:age + trials:age + (1|rat_ID), df.SD_Rday1)
SD_backing_sex_trials <- update(SD_backing, . ~ . - sex:trials) SD_foraging_sex_trials <- update(SD_foraging, . ~ . - sex:trials)
anova(SD_backing, SD_backing_sex_trials) anova(SD_foraging, SD_foraging_sex_trials)
SD_backing_sex_age <- update(SD_backing, . ~ . - sex:age) SD_foraging_sex_age <- update(SD_foraging, . ~ . - sex:age)
anova(SD_backing, SD_backing_sex_age) anova(SD_foraging, SD_foraging_sex_age)
SD_backing_trials_age <- update(SD_backing, . ~ . - trials:age) SD_foraging_trials_age <- update(SD_foraging, . ~ . - trials:age)
anova(SD_backing, SD_backing_trials_age) anova(SD_foraging, SD_foraging_trials_age)
SD_backing_sex <- lmer(foraging.score~ trials + age + trials:age + (1|rat_ID), df.SD_Rday1) SD_foraging_sex <- lmer(foraging.score~ trials + age + trials:age + (1|rat_ID), df.SD_Rday1)
anova(SD_backing, SD_backing_sex) anova(SD_foraging, SD_foraging_sex)
SD_backing_trials <- lmer(foraging.score~ sex + age + sex:age + (1|rat_ID), df.SD_Rday1) SD_foraging_trials <- lmer(foraging.score~ sex + age + sex:age + (1|rat_ID), df.SD_Rday1)
anova(SD_backing, SD_backing_trials) anova(SD_foraging, SD_foraging_trials)
SD_backing_age <- lmer(foraging.score~ sex + trials + sex:trials + (1|rat_ID), df.SD_Rday1) SD_foraging_age <- lmer(foraging.score~ sex + trials + sex:trials + (1|rat_ID), df.SD_Rday1)
anova(SD_backing, SD_backing_age) anova(SD_foraging, SD_foraging_age)
data1_2 <- df.SD_Rday1 %>% filter(df.SD_Rday1$trials == 1|df.SD_Rday1$trials== 2) data1_2 <- df.SD_Rday1 %>% filter(df.SD_Rday1$trials == 1|df.SD_Rday1$trials== 2)
data1_3 <- df.SD_Rday1 %>% filter(df.SD_Rday1$trials == 1|df.SD_Rday1$trials== 3) data1_3 <- df.SD_Rday1 %>% filter(df.SD_Rday1$trials == 1|df.SD_Rday1$trials== 3)
...@@ -195,28 +194,41 @@ anova(SD3_5) ...@@ -195,28 +194,41 @@ anova(SD3_5)
print("SD4_5") print("SD4_5")
anova(SD4_5) anova(SD4_5)
emm_age_trials <- emmeans(SD_backing, pairwise ~ age | trials) emm_age_trials <- emmeans(SD_foraging, pairwise ~ age | trials)
emm_age_trials emm_age_trials
emm_trials_age <- emmeans(SD_backing, pairwise ~ trials | age) emm_trials_age <- emmeans(SD_foraging, pairwise ~ trials | age)
emm_trials_age emm_trials_age
``` ```
##effect size ##effect size
```{r} ```{r}
eta_squared(SD_backing) eta_squared(SD_foraging)
```
##effect size for different ages
```{r}
PND70<-df.SD_Rday1 %>% filter(df.SD_Rday1$age == "70")
ESPND70 <- lmer(foraging.score~ sex + trials + sex:trials + (1|rat_ID), PND70)
PND140<-df.SD_Rday1 %>% filter(df.SD_Rday1$age == "140")
ESPND140 <- lmer(foraging.score~ sex + trials + sex:trials + (1|rat_ID), PND140)
eta_squared(ESPND70)
eta_squared(ESPND140)
ESPND70_sex <- lmer(foraging.score~ trials + (1|rat_ID), PND70)
ESPND140_sex <- lmer(foraging.score~ trials + (1|rat_ID), PND140)
anova(ESPND70,ESPND70_sex)
anova(ESPND140,ESPND140_sex)
``` ```
##plot ##plot
```{r} ```{r}
p_SD_backing <- ggplot(df.SD_Rday1, aes(x=trials, y=foraging.score, group=age, colour=age)) p_SD_foraging <- ggplot(df.SD_Rday1, aes(x=trials, y=foraging.score, group=age, colour=age))
colors <- c("#c6c7c9", "#d15034", "#0c0d0f", "#f1ae2d") colors <- c("#c6c7c9", "#d15034", "#0c0d0f", "#f1ae2d")
p_SD_backing + p_SD_foraging +
stat_summary(fun = "mean", size = 1, geom = "line", fun.min = 'sd', fun.max = 'sd') + stat_summary(fun = "mean", size = 1, geom = "line", fun.min = 'sd', fun.max = 'sd') +
stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(colour = age, fill = age))+ stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(colour = age, fill = age))+
scale_color_manual(values = colors)+ scale_color_manual(values = colors)+
scale_y_continuous(breaks = seq(0, 7, by = 1))+ scale_y_continuous(breaks = seq(0, 7, by = 1))+
#facet_wrap(~ age, ncol = 2) #facet_wrap(~ age, ncol = 2)
geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "backing score") + theme_minimal() geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "foraging score") + theme_minimal()
``` ```
## SD rat, success rate ## SD rat, success rate
...@@ -235,49 +247,48 @@ success_rate_70_F <- df.SD_Rday1_70_F %>% dplyr::select(toselect_70_F) %>% data. ...@@ -235,49 +247,48 @@ success_rate_70_F <- df.SD_Rday1_70_F %>% dplyr::select(toselect_70_F) %>% data.
coln<-c("food.distance.cm","PND70.female.success.rate(%)") coln<-c("food.distance.cm","PND70.female.success.rate(%)")
colnames(success_rate_70_F) <-coln colnames(success_rate_70_F) <-coln
success_rate_70<-left_join(success_rate_70_M,success_rate_70_F) success_rate_70<-left_join(success_rate_70_M,success_rate_70_F)
#PND100 #PND140
#males #males
df.SD_Rday1_100_M <- df.SD_Rday1 %>% filter(df.SD_Rday1$sex == "M",df.SD_Rday1$age == "100") df.SD_Rday1_140_M <- df.SD_Rday1 %>% filter(df.SD_Rday1$sex == "M",df.SD_Rday1$age == "140")
toselect_100_M <- c("group","food.distance.cm","got.food") toselect_140_M <- c("group","food.distance.cm","got.food")
success_rate_100_M <- df.SD_Rday1_100_M %>% dplyr::select(toselect_100_M) %>% data.table() %>% data.table::dcast(food.distance.cm ~ ., fun=list(mean), value.var = "got.food",) success_rate_140_M <- df.SD_Rday1_140_M %>% dplyr::select(toselect_140_M) %>% data.table() %>% data.table::dcast(food.distance.cm ~ ., fun=list(mean), value.var = "got.food",)
coln<-c("food.distance.cm","PND100.male.success.rate(%)") coln<-c("food.distance.cm","PND100.male.success.rate(%)")
colnames(success_rate_100_M) <-coln colnames(success_rate_140_M) <-coln
#females #females
df.SD_Rday1_100_F <- df.SD_Rday1 %>% filter(df.SD_Rday1$sex == "F",df.SD_Rday1$age == "100") df.SD_Rday1_140_F <- df.SD_Rday1 %>% filter(df.SD_Rday1$sex == "F",df.SD_Rday1$age == "140")
toselect_100_F <- c("group","food.distance.cm","got.food") toselect_140_F <- c("group","food.distance.cm","got.food")
success_rate_100_F <- df.SD_Rday1_100_F %>% dplyr::select(toselect_100_F) %>% data.table() %>% data.table::dcast(food.distance.cm ~ ., fun=list(mean), value.var = "got.food",) success_rate_140_F <- df.SD_Rday1_140_F %>% dplyr::select(toselect_140_F) %>% data.table() %>% data.table::dcast(food.distance.cm ~ ., fun=list(mean), value.var = "got.food",)
coln<-c("food.distance.cm","PND100.female.success.rate(%)") coln<-c("food.distance.cm","PND140.female.success.rate(%)")
colnames(success_rate_100_F) <-coln colnames(success_rate_140_F) <-coln
success_rate_100<-left_join(success_rate_100_M,success_rate_100_F) success_rate_140<-left_join(success_rate_140_M,success_rate_140_F)
success_rate<-left_join(success_rate_70,success_rate_100) success_rate<-left_join(success_rate_70,success_rate_140)
print(success_rate) print(success_rate)
``` ```
####restriciton effect, LE rat (45%/60%, M/F, trials 1-5)
#### LE rat (restriction 60%/45%, Males/Females, trials 1-5)
## ANOVA-based significant test ## ANOVA-based significant test
```{r} ```{r}
df.LE_Rday1 <- df %>% filter(df$robot.day == 1, df$group == "LE") df.LE_Rday1 <- df %>% filter(df$robot.day == 1, df$group == "LE")
LE_backing <- lmer(foraging.score~ sex + trials + restriction + sex:trials + sex:restriction + trials:restriction + (1|rat_ID), df.LE_Rday1) LE_foraging <- lmer(foraging.score~ sex + trials + restriction + sex:trials + sex:restriction + trials:restriction + (1|rat_ID), df.LE_Rday1)
LE_backing_sex_trials <- update(LE_backing, . ~ . - sex:trials) LE_foraging_sex_trials <- update(LE_foraging, . ~ . - sex:trials)
anova(LE_backing, LE_backing_sex_trials) anova(LE_foraging, LE_foraging_sex_trials)
LE_backing_sex_restriction <- update(LE_backing, . ~ . - sex:restriction) LE_foraging_sex_restriction <- update(LE_foraging, . ~ . - sex:restriction)
anova(LE_backing, LE_backing_sex_restriction) anova(LE_foraging, LE_foraging_sex_restriction)
LE_backing_trials_restriction <- update(LE_backing, . ~ . - trials:restriction) LE_foraging_trials_restriction <- update(LE_foraging, . ~ . - trials:restriction)
anova(LE_backing, LE_backing_trials_restriction) anova(LE_foraging, LE_foraging_trials_restriction)
LE_backing_sex <- lmer(foraging.score~ trials + restriction + trials:restriction + (1|rat_ID), df.LE_Rday1) LE_foraging_sex <- lmer(foraging.score~ trials + restriction + trials:restriction + (1|rat_ID), df.LE_Rday1)
anova(LE_backing, LE_backing_sex) anova(LE_foraging, LE_foraging_sex)
LE_backing_trials <- lmer(foraging.score~ sex + restriction + sex:restriction + (1|rat_ID), df.LE_Rday1) LE_foraging_trials <- lmer(foraging.score~ sex + restriction + sex:restriction + (1|rat_ID), df.LE_Rday1)
anova(LE_backing, LE_backing_trials) anova(LE_foraging, LE_foraging_trials)
LE_backing_restriction <- lmer(foraging.score~ sex + trials + sex:trials + (1|rat_ID), df.LE_Rday1) LE_foraging_restriction <- lmer(foraging.score~ sex + trials + sex:trials + (1|rat_ID), df.LE_Rday1)
anova(LE_backing, LE_backing_restriction) anova(LE_foraging, LE_foraging_restriction)
LE_data1_2 <- df.LE_Rday1 %>% filter(df.LE_Rday1$trials == 1|df.LE_Rday1$trials== 2) LE_data1_2 <- df.LE_Rday1 %>% filter(df.LE_Rday1$trials == 1|df.LE_Rday1$trials== 2)
LE_data1_3 <- df.LE_Rday1 %>% filter(df.LE_Rday1$trials == 1|df.LE_Rday1$trials== 3) LE_data1_3 <- df.LE_Rday1 %>% filter(df.LE_Rday1$trials == 1|df.LE_Rday1$trials== 3)
...@@ -321,35 +332,97 @@ anova(LE3_5) ...@@ -321,35 +332,97 @@ anova(LE3_5)
print("LE4_5") print("LE4_5")
anova(LE4_5) anova(LE4_5)
emm_restriction_trials <- emmeans(LE_backing, pairwise ~ restriction | trials) emm_restriction_trials <- emmeans(LE_foraging, pairwise ~ restriction | trials)
emm_restriction_trials emm_restriction_trials
emm_trials_restriction <- emmeans(LE_backing, pairwise ~ trials | restriction) emm_trials_restriction <- emmeans(LE_foraging, pairwise ~ trials | restriction)
emm_trials_restriction emm_trials_restriction
emm_sex_trials <- emmeans(LE_backing, pairwise ~ sex | trials) emm_sex_trials <- emmeans(LE_foraging, pairwise ~ sex | trials)
emm_sex_trials emm_sex_trials
emm_trials_sex <- emmeans(LE_backing, pairwise ~ trials | sex) emm_trials_sex <- emmeans(LE_foraging, pairwise ~ trials | sex)
emm_trials_sex emm_trials_sex
``` ```
##effect size ##effect size
```{r} ```{r}
eta_squared(LE_backing) eta_squared(LE_foraging)
```
##effect size for different restrictions
```{r}
restriction45<-df.LE_Rday1 %>% filter(df.LE_Rday1$restriction == "45")
ESrestriction45 <- lmer(foraging.score~ sex + trials + sex:trials + (1|rat_ID), restriction45)
restriction60<-df.LE_Rday1 %>% filter(df.LE_Rday1$restriction == "60")
ESrestriction60 <- lmer(foraging.score~ sex + trials + sex:trials + (1|rat_ID), restriction60)
eta_squared(ESrestriction45)
eta_squared(ESrestriction60)
ESrestriction45_sex <- lmer(foraging.score~ trials + (1|rat_ID), restriction45)
ESrestriction60_sex <- lmer(foraging.score~ trials + (1|rat_ID), restriction60)
anova(ESrestriction45,ESrestriction45_sex)
anova(ESrestriction60,ESrestriction60_sex)
``` ```
##plot-restriction ##plot-restriction
```{r} ```{r}
p_LE_backing <- ggplot(df.LE_Rday1, aes(x=trials, y=foraging.score, group=restriction, colour=restriction)) p_LE_foraging <- ggplot(df.LE_Rday1, aes(x=trials, y=foraging.score, group=restriction, colour=restriction))
colors <- c("#c6c7c9", "#d15034", "#0c0d0f", "#f1ae2d") colors <- c("#c6c7c9", "#d15034", "#0c0d0f", "#f1ae2d")
p_LE_backing + p_LE_foraging +
stat_summary(fun = "mean", size = 1, geom = "line", fun.min = 'sd', fun.max = 'sd') + stat_summary(fun = "mean", size = 1, geom = "line", fun.min = 'sd', fun.max = 'sd') +
stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(colour = restriction, fill = restriction))+ stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(colour = restriction, fill = restriction))+
scale_color_manual(values = colors)+ scale_color_manual(values = colors)+
scale_y_continuous(breaks = seq(0, 7, by = 1))+ scale_y_continuous(breaks = seq(0, 7, by = 1))+
#facet_wrap(~ age, ncol = 2) #facet_wrap(~ age, ncol = 2)
geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "backing score") + theme_minimal() geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "foraging score") + theme_minimal()
```
##plot_sex effect
#PND70
```{r}
EFsex_age_70 <- ggplot(PND70, aes(x=trials, y=foraging.score, group=sex, colour=sex))
colors <- c("#c6c7c9", "#d15034", "#0c0d0f", "#f1ae2d")
EFsex_age_70 +
stat_summary(fun = "mean", size = 1, geom = "line", fun.min = 'sd', fun.max = 'sd') +
stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(colour = age, fill = age))+
scale_color_manual(values = colors)+
scale_y_continuous(breaks = seq(0, 7, by = 1))+
#facet_wrap(~ age, ncol = 2)
geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "foraging score") + theme_minimal()
```
#PND140
```{r}
EFsex_age_140 <- ggplot(PND140, aes(x=trials, y=foraging.score, group=sex, colour=sex))
colors <- c("#c6c7c9", "#d15034", "#0c0d0f", "#f1ae2d")
EFsex_age_140 +
stat_summary(fun = "mean", size = 1, geom = "line", fun.min = 'sd', fun.max = 'sd') +
stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(colour = age, fill = age))+
scale_color_manual(values = colors)+
scale_y_continuous(breaks = seq(0, 7, by = 1))+
#facet_wrap(~ age, ncol = 2)
geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "foraging score") + theme_minimal()
```
#45% restriction
```{r}
EFsex_restriction_45 <- ggplot(restriction45, aes(x=trials, y=foraging.score, group=sex, colour=sex))
colors <- c("#c6c7c9", "#d15034", "#0c0d0f", "#f1ae2d")
EFsex_restriction_45 +
stat_summary(fun = "mean", size = 1, geom = "line", fun.min = 'sd', fun.max = 'sd') +
stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(colour = age, fill = age))+
scale_color_manual(values = colors)+
scale_y_continuous(breaks = seq(0, 7, by = 1))+
#facet_wrap(~ age, ncol = 2)
geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "foraging score") + theme_minimal()
``` ```
##plot-sex #60% restriction
```{r}
EFsex_restriction_60 <- ggplot(restriction60, aes(x=trials, y=foraging.score, group=sex, colour=sex))
colors <- c("#c6c7c9", "#d15034", "#0c0d0f", "#f1ae2d")
EFsex_restriction_60 +
stat_summary(fun = "mean", size = 1, geom = "line", fun.min = 'sd', fun.max = 'sd') +
stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(colour = age, fill = age))+
scale_color_manual(values = colors)+
scale_y_continuous(breaks = seq(0, 7, by = 1))+
#facet_wrap(~ age, ncol = 2)
geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "foraging score") + theme_minimal()
```
##general sex effect
```{r} ```{r}
p_LE_backing <- ggplot(df.LE_Rday1, aes(x=trials, y=foraging.score, group=sex, colour=sex)) p_LE_backing <- ggplot(df.LE_Rday1, aes(x=trials, y=foraging.score, group=sex, colour=sex))
colors <- c("#c6c7c9", "#d15034", "#0c0d0f", "#f1ae2d") colors <- c("#c6c7c9", "#d15034", "#0c0d0f", "#f1ae2d")
...@@ -359,8 +432,22 @@ stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(col ...@@ -359,8 +432,22 @@ stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(col
scale_color_manual(values = colors)+ scale_color_manual(values = colors)+
scale_y_continuous(breaks = seq(0, 7, by = 1))+ scale_y_continuous(breaks = seq(0, 7, by = 1))+
#facet_wrap(~ age, ncol = 2) #facet_wrap(~ age, ncol = 2)
geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "backing score") + theme_minimal() geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "foraging score") + theme_minimal()
```
##Blineday6 sex effect plot
```{r}
df.LE_Bday6 <- df %>% filter(df$baseline.day == 6, df$group == "LE")
EFsex_blinedays <- ggplot(df.LE_Bday6, aes(x=trials, y=foraging.score, group=sex, colour=sex))
colors <- c("#c6c7c9", "#d15034", "#0c0d0f", "#f1ae2d")
EFsex_blinedays +
stat_summary(fun = "mean", size = 1, geom = "line", fun.min = 'sd', fun.max = 'sd') +
stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(colour = sex, fill = sex))+
scale_color_manual(values = colors)+
scale_y_continuous(breaks = seq(0, 7, by = 1))+
#facet_wrap(~ age, ncol = 2)
geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "foraging score") + theme_minimal()
``` ```
## LE rat, success rate ## LE rat, success rate
```{r} ```{r}
#45% food restriction #45% food restriction
...@@ -419,7 +506,7 @@ stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(col ...@@ -419,7 +506,7 @@ stat_summary(fun.data = mean_se, geom = "errorbar", alpha=1, width=0.05, aes(col
scale_color_manual(values = colors)+ scale_color_manual(values = colors)+
#facet_wrap(~ food.distance.cm, ncol = 2) #facet_wrap(~ food.distance.cm, ncol = 2)
geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "backing score") + theme_minimal() geom_jitter(alpha = 0.5,width = 0.1) + labs(x = "positions", y = "foraging score") + theme_minimal()
``` ```
#------------------------------------ #------------------------------------
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment