dat1 = read.csv("D:/Users/cse/Downloads/tablet quality control.csv", header = TRUE)
head(dat1)
## ID Company Conformity Concentration
## 1 1 X Yes 100.7
## 2 2 X Yes 98.5
## 3 3 X Yes 103.8
## 4 4 X Yes 99.6
## 5 5 X Yes 97.1
## 6 6 X Yes 101.7
attach(dat1)
Company = as.factor(Company)
Conformity = as.factor(Conformity)
str(dat1) # Check the structure of the dataset
## 'data.frame': 100 obs. of 4 variables:
## $ ID : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Company : chr "X" "X" "X" "X" ...
## $ Conformity : chr "Yes" "Yes" "Yes" "Yes" ...
## $ Concentration: num 100.7 98.5 103.8 99.6 97.1 ...
summary(dat1)
## ID Company Conformity Concentration
## Min. : 1.00 Length:100 Length:100 Min. : 90.40
## 1st Qu.: 25.75 Class :character Class :character 1st Qu.: 94.47
## Median : 50.50 Mode :character Mode :character Median : 97.50
## Mean : 50.50 Mean : 97.62
## 3rd Qu.: 75.25 3rd Qu.:100.15
## Max. :100.00 Max. :106.90
tab=table(Company, Conformity)
addmargins(tab)
## Conformity
## Company No Yes Sum
## X 26 24 50
## Y 12 38 50
## Sum 38 62 100
table(Company,Conformity)
## Conformity
## Company No Yes
## X 26 24
## Y 12 38
PrE1 = 50/100
PrE2 = 62/100
PrE1
## [1] 0.5
PrE2
## [1] 0.62
PrE1_and_E2 = 24/100
PrE1_or_E2 = PrE1 + PrE2 - PrE1_and_E2
PrE1_or_E2
## [1] 0.88
PrE1C = 1 - PrE1
PrE1C
## [1] 0.5
PrE2C = 1 - PrE2
PrE2C
## [1] 0.38
PrE1C_and_E2C = 12/100
PrE1C_or_E2C = PrE1C + PrE2C - PrE1C_and_E2C
PrE1C_or_E2C
## [1] 0.76
p = prop.table(table(Conformity))["Yes"]
p
## Yes
## 0.62
dbinom(8,size=10,prob=p) #Probability of an exact value
## [1] 0.1418774
pbinom(8,size=10,prob=p)
## [1] 0.9401661
x = 0:10
plot(x, dbinom(x, size=10, prob=p),
type="h", lwd=3,
xlab="Number of conforming tablets",
ylab="Probability",
main="Binomial Distribution of Conforming Tablets")

hist(Concentration,
col="green",
labels=TRUE,
main="Histogram of Tablet Concentration",
xlab="Concentration") # histogram

plot(density(Concentration),
main = "Density Curve of Tablet Concentration",
xlab = "Concentration",
ylab = "Density",
lwd = 2) # density curve

qqnorm(Concentration,
main = "Q-Q Plot of Tablet Concentration")
qqline(Concentration, col = "red", lwd = 2)

sd(Concentration)
## [1] 3.90232
pnorm(98, mean=mean(Concentration), sd=sd(Concentration))
## [1] 0.5383799
pnorm(102, mean=mean(Concentration), sd=sd(Concentration), lower.tail=FALSE)
## [1] 0.1310622
pnorm(102, mean=mean(Concentration), sd=sd(Concentration))
## [1] 0.8689378
pnorm(98, mean=mean(Concentration), sd=sd(Concentration))
## [1] 0.5383799
qnorm(0.95, mean=mean(Concentration), sd=sd(Concentration))
## [1] 104.0427
n = length(Concentration)
xbar = mean(Concentration)
s = sd(Concentration)
n
## [1] 100
xbar
## [1] 97.624
s
## [1] 3.90232
error = qt(0.975, df=n-1)* s/sqrt(n)
lower = xbar-error
upper = xbar+error
lower
## [1] 96.84969
upper
## [1] 98.39831
mean_conc=tapply(Concentration, Company, mean)
sd_conc=tapply(Concentration, Company, sd) #Standard deviation by company
n_conc=tapply(Concentration, Company, length) #Sample size by company
se_conc = sd_conc / sqrt(n_conc) #Standard error by company
t_crit= qt(0.975, df = n_conc - 1) # t critical value for 95% CI
lower_ci=mean_conc-t_crit*se_conc # Lower confidence limits
upper_ci =mean_conc + t_crit*se_conc # Upper confidence limits
ci_table <- data.frame(Company = names(mean_conc),n =as.vector(n_conc),Mean
= as.vector(mean_conc),SD = as.vector(sd_conc),SE =
as.vector(se_conc),Lower_95CI = as.vector(lower_ci),Upper_95CI
=as.vector(upper_ci))
ci_table
## Company n Mean SD SE Lower_95CI Upper_95CI
## 1 X 50 97.186 4.463183 0.6311894 95.91758 98.45442
## 2 Y 50 98.062 3.233491 0.4572847 97.14305 98.98095