solder.Rd
In 1988 an experiment was designed and implemented at one of AT&T's factories to investigate alternatives in the "wave soldering" procedure for mounting electronic componentes to printed circuit boards. The experiment varied a number of factors relevant to the process. The response, measured by eye, is the number of visible solder skips.
solder
data(solder, package="survival")
A data frame with 900 observations on the following 6 variables.
Opening
the amount of clearance around the mounting pad (3 levels)
Solder
the amount of solder (Thick or Thin)
Mask
type and thickness of the material used for the solder mask (A1.5, A3, A6, B3, B6)
PadType
the geometry and size of the mounting pad (10 levels)
Panel
each board was divided into 3 panels
skips
the number of skips
After the first 1/2 of the experiment the A6 mask, which was doing the worst, was abandoned and the freed up space used for further replicates of A3. This leads to an unbalanced experiment with some missing A6 combinations.
This data set is used as a detailed example in chapter 1 of Chambers and Hastie. However, they chose to use only a subset of the data, i.e., observations 1-360 and 541-900 form a balanced design of 3*2*10*3= 180 observations for each of four mask types (A1.5, A3, B3, B6).
J Chambers and T Hastie, Statistical models in S. Chapman and Hall, 1993.
fit1 <- glm(skips ~ Opening * Solder, poisson, solder,
subset= (Mask != "A6"))
anova(fit1) # The interaction is important
#> Analysis of Deviance Table
#>
#> Model: poisson, link: log
#>
#> Response: skips
#>
#> Terms added sequentially (first to last)
#>
#>
#> Df Deviance Resid. Df Resid. Dev Pr(>Chi)
#> NULL 809 7336.9
#> Opening 2 2638.44 807 4698.5 < 2.2e-16 ***
#> Solder 1 1120.85 806 3577.7 < 2.2e-16 ***
#> Opening:Solder 2 41.14 804 3536.5 1.166e-09 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
dummy <- expand.grid(Opening= c("S", "M", "L"), Solder=c("Thin", "Thick"))
yhat <- matrix(predict(fit1, newdata=dummy), ncol=2,
dimnames=list(Opening= c("S", "M", "L"), Solder=c("Thin", "Thick")))
yhat <- cbind(yhat, difference= yhat[,1]- yhat[,2])
round(yhat, 1) # thin and thick have different patterns
#> Thin Thick difference
#> S 2.8 1.7 1.1
#> M 1.1 0.2 1.0
#> L 1.0 -0.9 1.9
# The balanced subset used by Chambers and Hastie
# contains the first 180 of each mask and deletes mask A6.
index <- 1 + (1:nrow(solder)) - match(solder$Mask, solder$Mask)
solder.balance <- droplevels(subset(solder, Mask != "A6" & index <= 180))