data <- read.csv(file.choose())


mod.int <- aov( y ~ X_A*X_B + X_A*X_C + X_B*X_C, data)
summary(mod.int)
##             Df Sum Sq Mean Sq F value Pr(>F)
## X_A          1 1485.1  1485.1   4.568  0.279
## X_B          1  703.1   703.1   2.163  0.380
## X_C          1 1485.1  1485.1   4.568  0.279
## X_A:X_B      1  136.1   136.1   0.419  0.634
## X_A:X_C      1   10.1    10.1   0.031  0.889
## X_B:X_C      1    6.1     6.1   0.019  0.913
## Residuals    1  325.1   325.1
mod.additive <- aov( y ~ X_A+X_B+X_C, data)
summary(mod.additive)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## X_A          1 1485.1  1485.1   12.44 0.0243 *
## X_B          1  703.1   703.1    5.89 0.0722 .
## X_C          1 1485.1  1485.1   12.44 0.0243 *
## Residuals    4  477.5   119.4                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
data$X_ABC = data$X_A*data$X_B*data$X_C
data.1.frac <- data[data$X_ABC == 1, ]

library(gplots)
## Warning: package 'gplots' was built under R version 3.4.3
## 
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
## 
##     lowess
plotmeans( y ~ X_A, data.1.frac)

plotmeans( y ~ X_B, data.1.frac)

plotmeans( y ~ X_C, data.1.frac)

mod.additive <- aov(y ~ X_A + X_B + X_C, data.1.frac)
summary(mod.additive)
##             Df Sum Sq Mean Sq
## X_A          1  650.2   650.2
## X_B          1  272.2   272.2
## X_C          1 1260.3  1260.3
mod.additive <- aov(y ~ X_A + X_C, data.1.frac)
summary(mod.additive)
##             Df Sum Sq Mean Sq F value Pr(>F)
## X_A          1  650.2   650.2   2.388  0.366
## X_C          1 1260.3  1260.3   4.629  0.277
## Residuals    1  272.2   272.2