library(sjPlot) 
library(ggplot2)


### DATA IMPORT #################################################
data0=read.table("Gipsys_Home_range_RMR.csv",header=TRUE,sep=",",dec=".", stringsAsFactors=T) 



data0$scale_RMR=scale(data0$RMR)  
data0$scale_body_mass=scale(data0$body_mass) 



##model 1 -  home range & body mass
m1<-lm(area~scale_body_mass, data0)
summary(m1)


#model 2 - RMR & home range
m2<-lm(area~scale_RMR, data0)
summary(m2)


#model 3  - body mass, RMR, home range
m3<-lm(area~scale_body_mass+scale_RMR, data0)
summary(m3)


#Fig 1 
m3_un<-lm(area~body_mass+RMR, data0)

plot_11a=plot_model(m3_un, terms=c("RMR[all]"), type="pred", 
                   dot.size = 2.5, alpha=0.35, remove.estimates = F,  show.data = T,
                   title="(a)", jitter = 0.1)+
  theme_bw()+                                                                          #remove grid
  theme(plot.margin = margin(5, 5, 5, 5))+    # margin clockwise, starting at top
  theme(panel.border = element_blank(), panel.grid.major = element_blank(),           #remove grid
        panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"))+   #remove grid
  theme(plot.title = element_text(size=20))+
  theme(plot.title = element_text(vjust = - 6))+
  theme(plot.title = element_text(hjust = + 0.02))+ 
  theme(axis.title = element_text(size = 15))+
  theme(axis.title.y = element_text(vjust = +2.5))+
  theme(axis.title.x = element_text(vjust = -0.25))+
  theme(legend.position="none")+
  theme(legend.title = element_text(size = 14))+
  theme(axis.text = element_text(size = 13)) +                                           
  theme(axis.title.y = ggtext::element_markdown())+
  scale_x_continuous(name="RMR  [mL/min]", breaks=seq(1.3,3.1,0.3), limits=c(1.3,3.1))+
  scale_y_continuous(name="Area [m2]", breaks=seq(0,1000,200), limits=c(0,1000))+
  geom_line(key_glyph = "rect", alpha=0.5)   #connecting line
plot_11a


plot_1b=plot_model(m3, terms=c("body_mass[all]"), type="pred", 
                   dot.size = 2.5, alpha=0.35, remove.estimates = F,  show.data = T,
                   title="(b)")+
  theme_bw()+                                                                          #remove grid
  theme(plot.margin = margin(5, 5, 5, 5))+    # margin clockwise, starting at top
  theme(panel.border = element_blank(), panel.grid.major = element_blank(),           #remove grid
        panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"))+   #remove grid
  theme(plot.title = element_text(size=20))+
  theme(plot.title = element_text(vjust = - 6))+
  theme(plot.title = element_text(hjust = + 0.02))+ 
  theme(axis.title = element_text(size = 15))+
  theme(axis.title.y = element_text(vjust = +2.5))+
  theme(axis.title.x = element_text(vjust = -0.25))+
  theme(legend.position="none")+
  theme(legend.title = element_text(size = 14))+
  theme(axis.text = element_text(size = 13)) +                                           
  theme(axis.title.y = ggtext::element_markdown())+
  scale_x_continuous(name="body mass [g]", breaks=seq(60,150,20), limits=c(60,150))+
  scale_y_continuous(name="Area [m2]", breaks=seq(0,1000,200), limits=c(0,1000))+
  geom_line(key_glyph = "rect", alpha=0.5)   #connecting line

plot_1b



## all to one figure 

library(ggpubr)
library(ggplot2.utils)  


Figure.1=ggarrange(plot_1a, plot_1b, ncol = 2, nrow = 1)

ggsave(plot = last_plot(), filename="Fig.1-compare.png", width=10,height=5, device='png', dpi=600)

Figure.1
















#######################################################
#If: using daily travel distance to replace home range
#######################################################

#models for distance traveled
##model 11 -  distance & body mass
m11<-lm(distance~scale_body_mass, data0)
summary(m11)


#model 21 - distance & home range
m21<-lm(distance~scale_RMR, data0)
summary(m21)


#model 31  - distance & body mass, RMR
m31<-lm(distance~scale_body_mass+scale_RMR, data0)
summary(m31)

#Fig with distance travelled
m3_unscale<-lm(distance~body_mass+RMR, data0)

plot_1b=plot_model(m3_unscale, terms=c("RMR[all]"), type="pred", 
                   dot.size = 2.5, alpha=0.35, remove.estimates = F,  show.data = T,
                   title="(b)", jitter = 0.1)+
  theme_bw()+                                                                          #remove grid
  theme(plot.margin = margin(5, 5, 5, 5))+    # margin clockwise, starting at top
  theme(panel.border = element_blank(), panel.grid.major = element_blank(),           #remove grid
        panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"))+   #remove grid
  theme(plot.title = element_text(size=20))+
  theme(plot.title = element_text(vjust = - 6))+
  theme(plot.title = element_text(hjust = + 0.02))+ 
  theme(axis.title = element_text(size = 15))+
  theme(axis.title.y = element_text(vjust = +2.5))+
  theme(axis.title.x = element_text(vjust = -0.25))+
  theme(legend.position="none")+
  theme(legend.title = element_text(size = 14))+
  theme(axis.text = element_text(size = 13)) +                                           
  theme(axis.title.y = ggtext::element_markdown())+
  scale_x_continuous(name="RMR  [mL/min]", breaks=seq(1.3,3.1,0.3), limits=c(1.3,3.1))+
  scale_y_continuous(name="Distance travelled [m]", breaks=seq(0,2000,200), limits=c(0,2000))+
  geom_line(key_glyph = "rect", alpha=0.5)   #connecting line
plot_1b


plot_1b=plot_model(m3_unscale, terms=c("body_mass[all]"), type="pred", 
                   dot.size = 2.5, alpha=0.35, remove.estimates = F,  show.data = T,
                   title="(b)", jitter = 0.1)+
  theme_bw()+                                                                          #remove grid
  theme(plot.margin = margin(5, 5, 5, 5))+    # margin clockwise, starting at top
  theme(panel.border = element_blank(), panel.grid.major = element_blank(),           #remove grid
        panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"))+   #remove grid
  theme(plot.title = element_text(size=20))+
  theme(plot.title = element_text(vjust = - 6))+
  theme(plot.title = element_text(hjust = + 0.02))+ 
  theme(axis.title = element_text(size = 15))+
  theme(axis.title.y = element_text(vjust = +2.5))+
  theme(axis.title.x = element_text(vjust = -0.25))+
  theme(legend.position="none")+
  theme(legend.title = element_text(size = 14))+
  theme(axis.text = element_text(size = 13)) +                                           
  theme(axis.title.y = ggtext::element_markdown())+
  scale_x_continuous(name="body mass [g]", breaks=seq(60,150,20), limits=c(60,150))+
  scale_y_continuous(name="Distance travelled [m]", breaks=seq(0,2000,200), limits=c(0,2000))+
  geom_line(key_glyph = "rect", alpha=0.5)   #connecting line

plot_1b



summary(m3_unscale)
#Call:
#lm(formula = area ~ body_mass + RMR, data = data0)

#Residuals:
#  Min     1Q Median     3Q    Max 
#-322.6 -102.8  -45.7  161.6  353.6 

#Coefficients:
# Estimate Std. Error t value Pr(>|t|)  
#(Intercept)    2.821    182.496   0.015   0.9878  
#body_mass      0.794      1.952   0.407   0.6881  
#RMR          210.186     79.178   2.655   0.0145 *
---
  #  Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
  
  #Residual standard error: 182.2 on 22 degrees of freedom
  #Multiple R-squared:  0.3023,	Adjusted R-squared:  0.2388 
  #F-statistic: 4.765 on 2 and 22 DF,  p-value: 0.01908#
  summary(m3_unscale)
#Call:
# lm(formula = distance ~ body_mass + RMR, data = data0)

#Residuals:
#  Min      1Q  Median      3Q     Max 
#-610.60 -327.67  -32.61  312.35  765.06 

#Coefficients:
# Estimate Std. Error t value Pr(>|t|)  
#(Intercept) 1121.615    414.864   2.704   0.0130 *
#  body_mass     -8.551      4.437  -1.927   0.0670 .
#RMR          395.331    179.993   2.196   0.0389 *
---
  # Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
  
  #Residual standard error: 414.2 on 22 degrees of freedom
  #Multiple R-squared:  0.2188,	Adjusted R-squared:  0.1478 
  #F-statistic: 3.082 on 2 and 22 DF,  p-value: 0.06608