The motivation for collecting this database was the explosion of the USA Space Shuttle Challenger on 28 January, 1986. An investigation ensued into the reliability of the shuttle’s propulsion system. The explosion was eventually traced to the failure of one of the three field joints on one of the two solid booster rockets. Each of these six field joints includes two O-rings, designated as primary and secondary, which fail when phenomena called erosion and blowby both occur.
The task is to predict the number of O-rings that will experience thermal distress for a given flight when the launch temperature is below freezing.
In this data we only use blowby results.
data <- read.csv("ORing.csv")
data## ï..Number.of.O.rings.at.risk.on.a.given.flight
## 1 6
## 2 6
## 3 6
## 4 6
## 5 6
## 6 6
## 7 6
## 8 6
## 9 6
## 10 6
## 11 6
## 12 6
## 13 6
## 14 6
## 15 6
## 16 6
## 17 6
## 18 6
## 19 6
## 20 6
## 21 6
## 22 6
## 23 6
## Number.experiencing.thermal.distress Launch.temperature..degrees.F.
## 1 0 66
## 2 1 70
## 3 0 69
## 4 0 68
## 5 0 67
## 6 0 72
## 7 0 73
## 8 0 70
## 9 1 57
## 10 1 63
## 11 1 70
## 12 0 78
## 13 0 67
## 14 2 53
## 15 0 67
## 16 0 75
## 17 0 70
## 18 0 81
## 19 0 76
## 20 0 79
## 21 2 75
## 22 0 76
## 23 1 58
## Leak.check.pressure..psi. Temporal.order.of.flight
## 1 50 1
## 2 50 2
## 3 50 3
## 4 50 4
## 5 50 5
## 6 50 6
## 7 100 7
## 8 100 8
## 9 200 9
## 10 200 10
## 11 200 11
## 12 200 12
## 13 200 13
## 14 200 14
## 15 200 15
## 16 200 16
## 17 200 17
## 18 200 18
## 19 200 19
## 20 200 20
## 21 200 21
## 22 200 22
## 23 200 23
There are no packages use in this except the basic ones. These packages are namely base, datasets,stats, methods, utils.
We source this data from UCI archive called ‘Challenger USA Space Shuttle O-Ring Data Set’. From there we cleaned the dataset in excel and saved as csv format.
str(data) #Structure of the data## 'data.frame': 23 obs. of 5 variables:
## $ ï..Number.of.O.rings.at.risk.on.a.given.flight: int 6 6 6 6 6 6 6 6 6 6 ...
## $ Number.experiencing.thermal.distress : int 0 1 0 0 0 0 0 0 1 1 ...
## $ Launch.temperature..degrees.F. : int 66 70 69 68 67 72 73 70 57 63 ...
## $ Leak.check.pressure..psi. : int 50 50 50 50 50 50 100 100 200 200 ...
## $ Temporal.order.of.flight : int 1 2 3 4 5 6 7 8 9 10 ...
summary(data) #Summary of the data## ï..Number.of.O.rings.at.risk.on.a.given.flight
## Min. :6
## 1st Qu.:6
## Median :6
## Mean :6
## 3rd Qu.:6
## Max. :6
## Number.experiencing.thermal.distress Launch.temperature..degrees.F.
## Min. :0.0000 Min. :53.00
## 1st Qu.:0.0000 1st Qu.:67.00
## Median :0.0000 Median :70.00
## Mean :0.3913 Mean :69.57
## 3rd Qu.:1.0000 3rd Qu.:75.00
## Max. :2.0000 Max. :81.00
## Leak.check.pressure..psi. Temporal.order.of.flight
## Min. : 50.0 Min. : 1.0
## 1st Qu.: 75.0 1st Qu.: 6.5
## Median :200.0 Median :12.0
## Mean :152.2 Mean :12.0
## 3rd Qu.:200.0 3rd Qu.:17.5
## Max. :200.0 Max. :23.0
ls(data) #List of the data## [1] "ï..Number.of.O.rings.at.risk.on.a.given.flight"
## [2] "Launch.temperature..degrees.F."
## [3] "Leak.check.pressure..psi."
## [4] "Number.experiencing.thermal.distress"
## [5] "Temporal.order.of.flight"
nrow(data) #Number of row## [1] 23
ncol(data) #Number of column## [1] 5
head(data) #First 6 rows## ï..Number.of.O.rings.at.risk.on.a.given.flight
## 1 6
## 2 6
## 3 6
## 4 6
## 5 6
## 6 6
## Number.experiencing.thermal.distress Launch.temperature..degrees.F.
## 1 0 66
## 2 1 70
## 3 0 69
## 4 0 68
## 5 0 67
## 6 0 72
## Leak.check.pressure..psi. Temporal.order.of.flight
## 1 50 1
## 2 50 2
## 3 50 3
## 4 50 4
## 5 50 5
## 6 50 6
tail(data) #Last 6 rows## ï..Number.of.O.rings.at.risk.on.a.given.flight
## 18 6
## 19 6
## 20 6
## 21 6
## 22 6
## 23 6
## Number.experiencing.thermal.distress Launch.temperature..degrees.F.
## 18 0 81
## 19 0 76
## 20 0 79
## 21 2 75
## 22 0 76
## 23 1 58
## Leak.check.pressure..psi. Temporal.order.of.flight
## 18 200 18
## 19 200 19
## 20 200 20
## 21 200 21
## 22 200 22
## 23 200 23
N_A <- is.na(data) #Checking for missing values
N_A## ï..Number.of.O.rings.at.risk.on.a.given.flight
## [1,] FALSE
## [2,] FALSE
## [3,] FALSE
## [4,] FALSE
## [5,] FALSE
## [6,] FALSE
## [7,] FALSE
## [8,] FALSE
## [9,] FALSE
## [10,] FALSE
## [11,] FALSE
## [12,] FALSE
## [13,] FALSE
## [14,] FALSE
## [15,] FALSE
## [16,] FALSE
## [17,] FALSE
## [18,] FALSE
## [19,] FALSE
## [20,] FALSE
## [21,] FALSE
## [22,] FALSE
## [23,] FALSE
## Number.experiencing.thermal.distress Launch.temperature..degrees.F.
## [1,] FALSE FALSE
## [2,] FALSE FALSE
## [3,] FALSE FALSE
## [4,] FALSE FALSE
## [5,] FALSE FALSE
## [6,] FALSE FALSE
## [7,] FALSE FALSE
## [8,] FALSE FALSE
## [9,] FALSE FALSE
## [10,] FALSE FALSE
## [11,] FALSE FALSE
## [12,] FALSE FALSE
## [13,] FALSE FALSE
## [14,] FALSE FALSE
## [15,] FALSE FALSE
## [16,] FALSE FALSE
## [17,] FALSE FALSE
## [18,] FALSE FALSE
## [19,] FALSE FALSE
## [20,] FALSE FALSE
## [21,] FALSE FALSE
## [22,] FALSE FALSE
## [23,] FALSE FALSE
## Leak.check.pressure..psi. Temporal.order.of.flight
## [1,] FALSE FALSE
## [2,] FALSE FALSE
## [3,] FALSE FALSE
## [4,] FALSE FALSE
## [5,] FALSE FALSE
## [6,] FALSE FALSE
## [7,] FALSE FALSE
## [8,] FALSE FALSE
## [9,] FALSE FALSE
## [10,] FALSE FALSE
## [11,] FALSE FALSE
## [12,] FALSE FALSE
## [13,] FALSE FALSE
## [14,] FALSE FALSE
## [15,] FALSE FALSE
## [16,] FALSE FALSE
## [17,] FALSE FALSE
## [18,] FALSE FALSE
## [19,] FALSE FALSE
## [20,] FALSE FALSE
## [21,] FALSE FALSE
## [22,] FALSE FALSE
## [23,] FALSE FALSE
sum(N_A) #Number of missing values## [1] 0
plot(data) #Plot for all variablesplot(y=data$Launch.temperature..degrees.F., x=data$Leak.check.pressure..psi., ylab="Launch Temperature in degrees Fahrenheit", xlab="Leak Check Pressure in Psi", main= "Graph of Launch Temperature against Leak Check Pressure")