1. Importer les données

cidre <- read.table("https://r-stat-sc-donnees.github.io/cidre.csv",header=TRUE,sep=";")
summary(cidre[,c(1,2,4)])
       Type       S.Sucree        S.Amere     
 Brut    :50   Min.   :3.444   Min.   :2.143  
 Demi-sec:30   1st Qu.:4.580   1st Qu.:3.286  
 Doux    :10   Median :5.250   Median :3.964  
               Mean   :5.169   Mean   :4.274  
               3rd Qu.:5.670   3rd Qu.:5.268  
               Max.   :7.036   Max.   :7.857  

2. Représenter les données

plot(S.Sucree~S.Amere,col=as.numeric(Type),data=cidre, pch=15)
legend("topright",levels(cidre$Type),fil=1:nlevels(cidre$Type),
       col=1:nlevels(cidre$Type))
for(i in 1:nlevels(cidre$Type)){abline(lm(S.Sucree~S.Amere,
                                          data=cidre[cidre$Type==levels(cidre$Type)[i],]), col=i)}

library(ggplot2)
ggplot(cidre,aes(y=S.Sucree, x=S.Amere, col=Type)) +
  geom_point() + geom_smooth(method=lm, se=FALSE)

3. Choix du modèle

library(FactoMineR)
complet <- AovSum(S.Sucree~Type+S.Amere+Type:S.Amere,data=cidre)
complet$Ftest
                  SS df      MS F value    Pr(>F)    
Type          2.7427  2  1.3714  4.9830  0.009015 ** 
S.Amere      13.2389  1 13.2389 48.1045 7.774e-10 ***
Type:S.Amere  0.9013  2  0.4506  1.6374  0.200634    
Residuals    23.1178 84  0.2752                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mod.sans.int <- AovSum(S.Sucree~Type+S.Amere,data=cidre)
mod.sans.int$Ftest
               SS df      MS F value    Pr(>F)    
Type       6.9256  2  3.4628  12.399 1.857e-05 ***
S.Amere   14.5516  1 14.5516  52.102 1.960e-10 ***
Residuals 24.0191 86  0.2793                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mod.sans.int$Ttest
                    Estimate Std. Error     t value     Pr(>|t|)
(Intercept)      6.718635980 0.19238203 34.92340710 1.415271e-52
Type - Brut     -0.416160940 0.08358068 -4.97915263 3.253757e-06
Type - Demi-sec  0.001066313 0.08877428  0.01201151 9.904443e-01
Type - Doux      0.415094627 0.12091691  3.43289157 9.205599e-04
S.Amere         -0.319275880 0.04423234 -7.21815542 1.959587e-10

Pour aller plus loin

complet <- lm(S.Sucree ~ Type + S.Amere + Type:S.Amere, data = cidre)
ModSansInt <- lm(S.Sucree ~ Type + S.Amere, data = cidre)
anova(ModSansInt,complet)
Analysis of Variance Table

Model 1: S.Sucree ~ Type + S.Amere
Model 2: S.Sucree ~ Type + S.Amere + Type:S.Amere
  Res.Df    RSS Df Sum of Sq      F Pr(>F)
1     86 24.019                           
2     84 23.118  2   0.90126 1.6374 0.2006
LS0tDQp0aXRsZTogIkFuYWx5c2UgZGUgY292YXJpYW5jZSINCmF1dGhvcjogIkh1c3NvbiBldCBhbC4iDQpkYXRlOiAiMDUvMDkvMjAxOCINCm91dHB1dDoNCiAgaHRtbF9ub3RlYm9vazoNCiAgICB0b2M6IHllcw0KICAgIHRvY19kZXB0aDogMw0KICAgIHRvY19mbG9hdDogeWVzDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZGVwdGg6ICczJw0KICAgIHRvY19mbG9hdDogeWVzDQotLS0NCg0KIyAxLiBJbXBvcnRlciBsZXMgZG9ubsOpZXMNCg0KYGBge3J9DQpjaWRyZSA8LSByZWFkLnRhYmxlKCJodHRwczovL3Itc3RhdC1zYy1kb25uZWVzLmdpdGh1Yi5pby9jaWRyZS5jc3YiLGhlYWRlcj1UUlVFLHNlcD0iOyIpDQpzdW1tYXJ5KGNpZHJlWyxjKDEsMiw0KV0pDQpgYGANCg0KIyAyLiBSZXByw6lzZW50ZXIgbGVzIGRvbm7DqWVzDQoNCmBgYHtyLGZpZy53aWR0aD02LGZpZy5oZWlnaHQ9NX0NCnBsb3QoUy5TdWNyZWV+Uy5BbWVyZSxjb2w9YXMubnVtZXJpYyhUeXBlKSxkYXRhPWNpZHJlLCBwY2g9MTUpDQpsZWdlbmQoInRvcHJpZ2h0IixsZXZlbHMoY2lkcmUkVHlwZSksZmlsPTE6bmxldmVscyhjaWRyZSRUeXBlKSwNCiAgICAgICBjb2w9MTpubGV2ZWxzKGNpZHJlJFR5cGUpKQ0KZm9yKGkgaW4gMTpubGV2ZWxzKGNpZHJlJFR5cGUpKXthYmxpbmUobG0oUy5TdWNyZWV+Uy5BbWVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9Y2lkcmVbY2lkcmUkVHlwZT09bGV2ZWxzKGNpZHJlJFR5cGUpW2ldLF0pLCBjb2w9aSl9DQpgYGANCg0KYGBge3IsbWVzc2FnZT1GQUxTRSx3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KZ2dwbG90KGNpZHJlLGFlcyh5PVMuU3VjcmVlLCB4PVMuQW1lcmUsIGNvbD1UeXBlKSkgKw0KICBnZW9tX3BvaW50KCkgKyBnZW9tX3Ntb290aChtZXRob2Q9bG0sIHNlPUZBTFNFKQ0KYGBgDQoNCiMgMy4gQ2hvaXggZHUgbW9kw6hsZQ0KDQpgYGB7cixtZXNzYWdlPUZBTFNFLHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KEZhY3RvTWluZVIpDQpjb21wbGV0IDwtIEFvdlN1bShTLlN1Y3JlZX5UeXBlK1MuQW1lcmUrVHlwZTpTLkFtZXJlLGRhdGE9Y2lkcmUpDQpjb21wbGV0JEZ0ZXN0DQpgYGANCmBgYHtyfQ0KbW9kLnNhbnMuaW50IDwtIEFvdlN1bShTLlN1Y3JlZX5UeXBlK1MuQW1lcmUsZGF0YT1jaWRyZSkNCm1vZC5zYW5zLmludCRGdGVzdA0KYGBgDQoNCmBgYHtyfQ0KbW9kLnNhbnMuaW50JFR0ZXN0DQoNCmBgYA0KDQojIFBvdXIgYWxsZXIgcGx1cyBsb2luDQoNCmBgYHtyfQ0KY29tcGxldCA8LSBsbShTLlN1Y3JlZSB+IFR5cGUgKyBTLkFtZXJlICsgVHlwZTpTLkFtZXJlLCBkYXRhID0gY2lkcmUpDQpNb2RTYW5zSW50IDwtIGxtKFMuU3VjcmVlIH4gVHlwZSArIFMuQW1lcmUsIGRhdGEgPSBjaWRyZSkNCmFub3ZhKE1vZFNhbnNJbnQsY29tcGxldCkNCmBgYA0KDQoNCg==