image
Según Gotelli & Ellison (2013)

Ejemplos

Regresión

Import data

ss="https://docs.google.com/spreadsheets/d/1CMPY0Bjm6Kc3XUq0mZtgIoyXAacdWVkv2KONh0T-inU/edit?usp=sharing"
hoja="Hoja1"
rango="A1:E18"
latsp <- data.frame(read_sheet(ss=ss,
               sheet=hoja,
               range=rango,
               col_names = TRUE,
               na= "NA")
               )
latsp$group <- factor(latsp$group)

Explore

modelo

respuesta -> species
predictora -> latitude

head(latsp)
summary(latsp)
     town              state              latitude        species    group
 Length:17          Length:17          Min.   :37.20   Min.   : 94   a:9  
 Class :character   Class :character   1st Qu.:38.32   1st Qu.:108   b:8  
 Mode  :character   Mode  :character   Median :38.60   Median :118        
                                       Mean   :38.64   Mean   :120        
                                       3rd Qu.:39.13   3rd Qu.:128        
                                       Max.   :39.73   Max.   :157        
# ggplot
ggplot(data= latsp, aes(x=latitude, y= species)) +
  geom_point(size=2)

reg1 <- lm(data=latsp, species ~ latitude)
summary(reg1)

Call:
lm(formula = species ~ latitude, data = latsp)

Residuals:
    Min      1Q  Median      3Q     Max 
-26.635 -11.198  -1.993  14.569  28.162 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)  585.145    230.024   2.544   0.0225 *
latitude     -12.039      5.953  -2.022   0.0613 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 16.37 on 15 degrees of freedom
Multiple R-squared:  0.2143,    Adjusted R-squared:  0.1619 
F-statistic:  4.09 on 1 and 15 DF,  p-value: 0.06134

ggplot

ggplot(data= latsp, aes(x=latitude, y= species, col=)) +
  geom_point(size=2) + 
  geom_smooth(method="lm")

Supuestos

plot(reg1, which=c(1))

#
hist(reg1$residuals)

shapiro.test(reg1$residuals)

    Shapiro-Wilk normality test

data:  reg1$residuals
W = 0.97504, p-value = 0.899

ANDEVA

data

head(latsp)

Explore

modelo
respuesta -> species
predictora -> group

summary(latsp)
     town              state              latitude        species    group
 Length:17          Length:17          Min.   :37.20   Min.   : 94   a:9  
 Class :character   Class :character   1st Qu.:38.32   1st Qu.:108   b:8  
 Mode  :character   Mode  :character   Median :38.60   Median :118        
                                       Mean   :38.64   Mean   :120        
                                       3rd Qu.:39.13   3rd Qu.:128        
                                       Max.   :39.73   Max.   :157        
# ggplot
ggplot(data= latsp, aes(x=group, y= species)) +
  geom_boxplot() +
  geom_point(size=2, col=6,
             position = position_jitter(width=0.1, height=0)) +
  geom_hline(yintercept = mean(latsp$species), lty="dashed", lwd=1)

Analysis

aov1 <- aov(data=latsp, species ~ group)
summary(aov1)
            Df Sum Sq Mean Sq F value   Pr(>F)    
group        1   3015  3014.9    21.5 0.000322 ***
Residuals   15   2103   140.2                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Supuestos

y= latsp$species
binwidth=4
ggplot(data=latsp, aes(x=y)) + geom_histogram(aes(y=..density..), binwidth=binwidth,colour="black", fill="white") + geom_density(alpha=.2, fill="#FF6666")

shapiro.test(latsp$species)

    Shapiro-Wilk normality test

data:  latsp$species
W = 0.95152, p-value = 0.4809
shapiro.test(reg1$residuals)

    Shapiro-Wilk normality test

data:  reg1$residuals
W = 0.97504, p-value = 0.899
leveneTest(aov1)
Levene's Test for Homogeneity of Variance (center = median)
      Df F value Pr(>F)
group  1  1.2805 0.2756
      15               

===============================================
### Análisis de Frecuencias (tablas de contingencia)
#### Import Data

ss="https://docs.google.com/spreadsheets/d/1sd5Bkkhs2CBl-5mpRUNPv0WfqZr3KQwjbgScY27Tf-s/edit?usp=sharing"
hoja="Sheet3"
rango="A2:C5"
dogs <- read_sheet(ss=ss,
               sheet=hoja,
               range=rango,
               col_names = TRUE,
               na= "NA"
               )
Reading from "TresDise昼㸱os_Clase"
Range "'Sheet3'!A2:C5"
dogs$total <- dogs$imig+dogs$local
dogs$Pr.imig <- dogs$imig/dogs$total
obs <- cbind(dogs$imig, dogs$local)

Explore

modelo
respuesta -> origen
predictora -> edad

dogs
# ggplot
pr.gen <- sum(dogs$imig)/sum(dogs$total)
ggplot(data= dogs, 
       aes(x=edad, y= Pr.imig, fill=edad)) +
  geom_col() + 
  geom_hline(yintercept = pr.gen, lty="dashed", lwd=1) +
  ylim(0,0.8)

Analysis

chi2 <- chisq.test(obs)
Chi-squared approximation may be incorrect
chi2

    Pearson's Chi-squared test

data:  obs
X-squared = 88.043, df = 2, p-value < 2.2e-16
chi2$stdres
           [,1]       [,2]
[1,]  9.1864627 -9.1864627
[2,]  0.8376399 -0.8376399
[3,] -8.3937442  8.3937442
chi2$expected
          [,1]      [,2]
[1,]  3.973585  35.02642
[2,]  1.935849  17.06415
[3,] 21.090566 185.90943
dogs[, c(2,3)]

============================================================== ### Regresión logística #### Import Data

ss="https://docs.google.com/spreadsheets/d/1CMPY0Bjm6Kc3XUq0mZtgIoyXAacdWVkv2KONh0T-inU/edit?usp=sharing"
hoja="Hoja3"
rango="A1:D32"
fever <- data.frame(read_sheet(ss=ss,
               sheet=hoja,
               range=rango,
               col_names = TRUE,
               na= "NA")
               )
Reading from "Regres_datos"
Range "'Hoja3'!A1:D32"

Explore

modelo respuesta -> fever predictora -> Pulse

summary(fever)
   Species               Temp           Pulse            fever       
 Length:31          Min.   :17.20   Min.   : 44.30   Min.   :0.0000  
 Class :character   1st Qu.:20.80   1st Qu.: 59.45   1st Qu.:0.0000  
 Mode  :character   Median :24.00   Median : 76.20   Median :0.0000  
                    Mean   :23.76   Mean   : 72.89   Mean   :0.3871  
                    3rd Qu.:26.35   3rd Qu.: 85.25   3rd Qu.:1.0000  
                    Max.   :30.40   Max.   :101.70   Max.   :1.0000  
# ggplot
ggplot(data= fever, 
       aes(x=Pulse, y= fever)) +
  geom_point(size=2, col=6,
             position = position_jitter(width=0.1, height=0.02)) +
  geom_hline(yintercept = 0.5, lty="dashed", lwd=0.6)

Analysis

reglog <- glm(data=fever, 
              fever ~ Pulse, 
              family= binomial)
summary(reglog)

Call:
glm(formula = fever ~ Pulse, family = binomial, data = fever)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-1.38513  -0.16483  -0.00855   0.14584   1.62815  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept) -27.4351    13.0573  -2.101   0.0356 *
Pulse         0.3472     0.1657   2.095   0.0362 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 41.381  on 30  degrees of freedom
Residual deviance: 14.002  on 29  degrees of freedom
AIC: 18.002

Number of Fisher Scoring iterations: 8

ggplot

ggplot(data= fever, 
       aes(x=Pulse, y= fever)) +
  geom_point(size=2, col=6,
             position = position_jitter(width=0.1, height=0.02)) +
  geom_hline(yintercept = 0.5, lty="dashed", lwd=0.6) +
  geom_smooth(method="glm",method.args=list(family=binomial))

===============================================

Referencias

  • Gotelli, N. J., & Ellison, M. (2013). A Primer of Ecological Statistics (2nd Editio). Sinauer Associates, Inc.
LS0tDQp0aXRsZTogIkN1YXRybyBkaXNlw7FvcyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCg0KYGBge3IgZWNobz1GQUxTRSxtZXNzYWdlPUZBTFNFLCByZXN1bHRzPUZBTFNFfQ0KaWYoIXJlcXVpcmUoZ29vZ2xlc2hlZXRzNCkpe2luc3RhbGwucGFja2FnZXMoImdvb2dsZXNoZWV0czQiKX0NCmlmKCFyZXF1aXJlKEFJQ2Ntb2RhdmcpKXtpbnN0YWxsLnBhY2thZ2VzKCJBSUNjbW9kYXZnIil9DQppZighcmVxdWlyZSh0aWR5dmVyc2UpKXtpbnN0YWxsLnBhY2thZ2VzKCJ0aWR5dmVyc2UiKX0NCmlmKCFyZXF1aXJlKERlc2NUb29scykpe2luc3RhbGwucGFja2FnZXMoIkRlc2NUb29scyIpfQ0KaWYoIXJlcXVpcmUoY2FyKSl7aW5zdGFsbC5wYWNrYWdlcygiY2FyIil9DQppZighcmVxdWlyZShsbWU0KSl7aW5zdGFsbC5wYWNrYWdlcygibG1lNCIpfQ0KIw0KbGlicmFyeShnb29nbGVzaGVldHM0KQ0KbGlicmFyeShBSUNjbW9kYXZnKQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KERlc2NUb29scykNCmxpYnJhcnkoY2FyKQ0KbGlicmFyeShsbWU0KQ0KYGBgICANCg0KICANCiFbaW1hZ2VdKEdvdGVsbGlfMjAxM180ZGVzaWducy5wbmcpICANClNlZ8O6biBHb3RlbGxpICYgRWxsaXNvbiAoMjAxMykgICANCg0KIyMjIEVqZW1wbG9zDQojIyMgKioqUmVncmVzacOzbioqKg0KIyMjIyBJbXBvcnQgZGF0YQ0KYGBge3IgbWVzc2FnZT1GQUxTRX0NCnNzPSJodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9zcHJlYWRzaGVldHMvZC8xQ01QWTBCam02S2MzWFVxMG1adGdJb3lYQWFjZFdWa3YyS09OaDBULWluVS9lZGl0P3VzcD1zaGFyaW5nIg0KaG9qYT0iSG9qYTEiDQpyYW5nbz0iQTE6RTE4Ig0KbGF0c3AgPC0gZGF0YS5mcmFtZShyZWFkX3NoZWV0KHNzPXNzLA0KICAgICAgICAgICAgICAgc2hlZXQ9aG9qYSwNCiAgICAgICAgICAgICAgIHJhbmdlPXJhbmdvLA0KICAgICAgICAgICAgICAgY29sX25hbWVzID0gVFJVRSwNCiAgICAgICAgICAgICAgIG5hPSAiTkEiKQ0KICAgICAgICAgICAgICAgKQ0KbGF0c3AkZ3JvdXAgPC0gZmFjdG9yKGxhdHNwJGdyb3VwKQ0KYGBgICANCiMjIyMgRXhwbG9yZSAgDQoqKiptb2RlbG8qKiogIA0KDQpyZXNwdWVzdGEgLT4gYHNwZWNpZXNgICANCnByZWRpY3RvcmEgLT4gYGxhdGl0dWRlYCAgDQpgYGB7cn0NCmhlYWQobGF0c3ApDQpzdW1tYXJ5KGxhdHNwKQ0KIyBnZ3Bsb3QNCmdncGxvdChkYXRhPSBsYXRzcCwgYWVzKHg9bGF0aXR1ZGUsIHk9IHNwZWNpZXMpKSArDQogIGdlb21fcG9pbnQoc2l6ZT0yKQ0KYGBgIA0KDQpgYGB7cn0NCnJlZzEgPC0gbG0oZGF0YT1sYXRzcCwgc3BlY2llcyB+IGxhdGl0dWRlKQ0Kc3VtbWFyeShyZWcxKQ0KYGBgICANCg0KIyMjIyBnZ3Bsb3QgIA0KYGBge3IgbWVzc2FnZT1GQUxTRX0NCmdncGxvdChkYXRhPSBsYXRzcCwgYWVzKHg9bGF0aXR1ZGUsIHk9IHNwZWNpZXMsIGNvbD0pKSArDQogIGdlb21fcG9pbnQoc2l6ZT0yKSArIA0KICBnZW9tX3Ntb290aChtZXRob2Q9ImxtIikNCmBgYCAgDQoNCiMjIyMgU3VwdWVzdG9zICANCmBgYHtyfQ0KcGxvdChyZWcxLCB3aGljaD1jKDEpKQ0KIw0KaGlzdChyZWcxJHJlc2lkdWFscykNCnNoYXBpcm8udGVzdChyZWcxJHJlc2lkdWFscykNCmBgYCAgDQoNCiMjIyAqKipBTkRFVkEqKiogIA0KIyMjIyBkYXRhICANCmBgYHtyfQ0KaGVhZChsYXRzcCkNCmBgYCAgDQoNCiMjIyMgRXhwbG9yZSAgDQoqKiptb2RlbG8qKiogIA0KcmVzcHVlc3RhIC0+IGBzcGVjaWVzYCAgDQpwcmVkaWN0b3JhIC0+IGBncm91cGAgIA0KYGBge3J9DQpzdW1tYXJ5KGxhdHNwKQ0KIyBnZ3Bsb3QNCmdncGxvdChkYXRhPSBsYXRzcCwgYWVzKHg9Z3JvdXAsIHk9IHNwZWNpZXMpKSArDQogIGdlb21fYm94cGxvdCgpICsNCiAgZ2VvbV9wb2ludChzaXplPTIsIGNvbD02LA0KICAgICAgICAgICAgIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoPTAuMSwgaGVpZ2h0PTApKSArDQogIGdlb21faGxpbmUoeWludGVyY2VwdCA9IG1lYW4obGF0c3Akc3BlY2llcyksIGx0eT0iZGFzaGVkIiwgbHdkPTEpDQpgYGAgDQojIyMjIEFuYWx5c2lzDQpgYGB7cn0NCmFvdjEgPC0gYW92KGRhdGE9bGF0c3AsIHNwZWNpZXMgfiBncm91cCkNCnN1bW1hcnkoYW92MSkNCmBgYCAgDQoNCiMjIyMgU3VwdWVzdG9zDQpgYGB7cn0NCnk9IGxhdHNwJHNwZWNpZXMNCmJpbndpZHRoPTQNCmdncGxvdChkYXRhPWxhdHNwLCBhZXMoeD15KSkgKyBnZW9tX2hpc3RvZ3JhbShhZXMoeT0uLmRlbnNpdHkuLiksIGJpbndpZHRoPWJpbndpZHRoLGNvbG91cj0iYmxhY2siLCBmaWxsPSJ3aGl0ZSIpICsgZ2VvbV9kZW5zaXR5KGFscGhhPS4yLCBmaWxsPSIjRkY2NjY2IikNCmBgYCAgDQpgYGB7cn0NCnNoYXBpcm8udGVzdChsYXRzcCRzcGVjaWVzKQ0Kc2hhcGlyby50ZXN0KHJlZzEkcmVzaWR1YWxzKQ0KbGV2ZW5lVGVzdChhb3YxKQ0KYGBgICANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIA0KIyMjICoqKkFuw6FsaXNpcyBkZSBGcmVjdWVuY2lhcyAodGFibGFzIGRlIGNvbnRpbmdlbmNpYSkqKiogIA0KIyMjIyBJbXBvcnQgRGF0YSAgDQpgYGB7cn0NCnNzPSJodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9zcHJlYWRzaGVldHMvZC8xc2Q1QmtraHMyQ0JsLTVtcFJVTlB2MFdmcVpyM0tRd2piZ1NjWTI3VGYtcy9lZGl0P3VzcD1zaGFyaW5nIg0KaG9qYT0iU2hlZXQzIg0KcmFuZ289IkEyOkM1Ig0KZG9ncyA8LSByZWFkX3NoZWV0KHNzPXNzLA0KICAgICAgICAgICAgICAgc2hlZXQ9aG9qYSwNCiAgICAgICAgICAgICAgIHJhbmdlPXJhbmdvLA0KICAgICAgICAgICAgICAgY29sX25hbWVzID0gVFJVRSwNCiAgICAgICAgICAgICAgIG5hPSAiTkEiDQogICAgICAgICAgICAgICApDQpkb2dzJHRvdGFsIDwtIGRvZ3MkaW1pZytkb2dzJGxvY2FsDQpkb2dzJFByLmltaWcgPC0gZG9ncyRpbWlnL2RvZ3MkdG90YWwNCm9icyA8LSBjYmluZChkb2dzJGltaWcsIGRvZ3MkbG9jYWwpDQpgYGAgIA0KIyMjIyBFeHBsb3JlICANCioqKm1vZGVsbyoqKiAgDQpyZXNwdWVzdGEgLT4gYG9yaWdlbmAgIA0KcHJlZGljdG9yYSAtPiBgZWRhZGAgIA0KYGBge3J9DQpkb2dzDQojIGdncGxvdA0KcHIuZ2VuIDwtIHN1bShkb2dzJGltaWcpL3N1bShkb2dzJHRvdGFsKQ0KZ2dwbG90KGRhdGE9IGRvZ3MsIA0KICAgICAgIGFlcyh4PWVkYWQsIHk9IFByLmltaWcsIGZpbGw9ZWRhZCkpICsNCiAgZ2VvbV9jb2woKSArIA0KICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSBwci5nZW4sIGx0eT0iZGFzaGVkIiwgbHdkPTEpICsNCiAgeWxpbSgwLDAuOCkNCmBgYCANCiMjIyMgQW5hbHlzaXMNCmBgYHtyIG1lc3NhZ2U9RkFMU0V9DQpjaGkyIDwtIGNoaXNxLnRlc3Qob2JzKQ0KY2hpMg0KY2hpMiRzdGRyZXMNCmBgYCAgDQpgYGB7cn0NCmNoaTIkZXhwZWN0ZWQNCmRvZ3NbLCBjKDIsMyldDQpgYGAgIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KIyMjICoqKlJlZ3Jlc2nDs24gbG9nw61zdGljYSoqKg0KIyMjIyBJbXBvcnQgRGF0YQ0KYGBge3J9DQpzcz0iaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vc3ByZWFkc2hlZXRzL2QvMUNNUFkwQmptNktjM1hVcTBtWnRnSW95WEFhY2RXVmt2MktPTmgwVC1pblUvZWRpdD91c3A9c2hhcmluZyINCmhvamE9IkhvamEzIg0KcmFuZ289IkExOkQzMiINCmZldmVyIDwtIGRhdGEuZnJhbWUocmVhZF9zaGVldChzcz1zcywNCiAgICAgICAgICAgICAgIHNoZWV0PWhvamEsDQogICAgICAgICAgICAgICByYW5nZT1yYW5nbywNCiAgICAgICAgICAgICAgIGNvbF9uYW1lcyA9IFRSVUUsDQogICAgICAgICAgICAgICBuYT0gIk5BIikNCiAgICAgICAgICAgICAgICkNCmBgYCAgDQojIyMjIEV4cGxvcmUNCioqKm1vZGVsbyoqKg0KcmVzcHVlc3RhIC0+IGBmZXZlcmANCnByZWRpY3RvcmEgLT4gYFB1bHNlYA0KYGBge3J9DQpzdW1tYXJ5KGZldmVyKQ0KIyBnZ3Bsb3QNCmdncGxvdChkYXRhPSBmZXZlciwgDQogICAgICAgYWVzKHg9UHVsc2UsIHk9IGZldmVyKSkgKw0KICBnZW9tX3BvaW50KHNpemU9MiwgY29sPTYsDQogICAgICAgICAgICAgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGg9MC4xLCBoZWlnaHQ9MC4wMikpICsNCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gMC41LCBsdHk9ImRhc2hlZCIsIGx3ZD0wLjYpDQpgYGAgDQojIyMjIEFuYWx5c2lzDQpgYGB7cn0NCnJlZ2xvZyA8LSBnbG0oZGF0YT1mZXZlciwgDQogICAgICAgICAgICAgIGZldmVyIH4gUHVsc2UsIA0KICAgICAgICAgICAgICBmYW1pbHk9IGJpbm9taWFsKQ0Kc3VtbWFyeShyZWdsb2cpDQpgYGAgIA0KDQojIGdncGxvdA0KYGBge3J9DQpnZ3Bsb3QoZGF0YT0gZmV2ZXIsIA0KICAgICAgIGFlcyh4PVB1bHNlLCB5PSBmZXZlcikpICsNCiAgZ2VvbV9wb2ludChzaXplPTIsIGNvbD02LA0KICAgICAgICAgICAgIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoPTAuMSwgaGVpZ2h0PTAuMDIpKSArDQogIGdlb21faGxpbmUoeWludGVyY2VwdCA9IDAuNSwgbHR5PSJkYXNoZWQiLCBsd2Q9MC42KSArDQogIGdlb21fc21vb3RoKG1ldGhvZD0iZ2xtIixtZXRob2QuYXJncz1saXN0KGZhbWlseT1iaW5vbWlhbCkpDQpgYGAgIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQojIyAqKipSZWZlcmVuY2lhcyoqKg0KLSBHb3RlbGxpLCBOLiBKLiwgJiBFbGxpc29uLCBNLiAoMjAxMykuIEEgUHJpbWVyIG9mIEVjb2xvZ2ljYWwgU3RhdGlzdGljcyAoMm5kIEVkaXRpbykuIFNpbmF1ZXIgQXNzb2NpYXRlcywgSW5jLg0KDQo=