sample size

library(gtsummary)
library(dplyr)

Determination of Formaldehyde

head(Formaldehyde)
require(stats); require(graphics)
plot(optden ~ carb, data = Formaldehyde,
     xlab = "Carbohydrate (ml)", ylab = "Optical Density",
     main = "Formaldehyde data", col = 4, las = 1)
abline(fm1 <- lm(optden ~ carb, data = Formaldehyde))
summary(fm1)

Call:
lm(formula = optden ~ carb, data = Formaldehyde)

Residuals:
        1         2         3         4         5         6 
-0.006714  0.001029  0.002771  0.007143  0.007514 -0.011743 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 0.005086   0.007834   0.649    0.552    
carb        0.876286   0.013535  64.744 3.41e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.008649 on 4 degrees of freedom
Multiple R-squared:  0.999, Adjusted R-squared:  0.9988 
F-statistic:  4192 on 1 and 4 DF,  p-value: 3.409e-07
opar <- par(mfrow = c(2, 2), oma = c(0, 0, 1.1, 0))

plot(fm1)
par(opar)

require(stats); require(graphics)
plot(optden ~ carb, data = Formaldehyde,
     xlab = "Carbohydrate (ml)", ylab = "Optical Density",
     main = "Formaldehyde data", col = 4, las = 1)
abline(fm1 <- lm(optden ~ carb, data = Formaldehyde))

summary(fm1)

Call:
lm(formula = optden ~ carb, data = Formaldehyde)

Residuals:
        1         2         3         4         5         6 
-0.006714  0.001029  0.002771  0.007143  0.007514 -0.011743 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 0.005086   0.007834   0.649    0.552    
carb        0.876286   0.013535  64.744 3.41e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.008649 on 4 degrees of freedom
Multiple R-squared:  0.999, Adjusted R-squared:  0.9988 
F-statistic:  4192 on 1 and 4 DF,  p-value: 3.409e-07
opar <- par(mfrow = c(2, 2), oma = c(0, 0, 1.1, 0))
plot(fm1)

Interpretation

Step-by-step Interpretation 🔹 1. Inspecting the Data head(Formaldehyde)

This displays the first few rows of the dataset. The Formaldehyde dataset contains two variables:

carb: Carbohydrate concentration in mL

optden: Optical density

Example:

carb optden 1 0.1 0.086 2 0.3 0.269 3 0.5 0.446 …

🔹 2. Plotting the Data and Fitting a Linear Model plot(optden ~ carb, data = Formaldehyde, xlab = “Carbohydrate (ml)”, ylab = “Optical Density”, main = “Formaldehyde data”, col = 4, las = 1) abline(fm1 <- lm(optden ~ carb, data = Formaldehyde))

You’re plotting a scatter plot of optden vs carb.

Then, you’re fitting a linear regression line optden ~ carb using lm() and overlaying it on the plot with abline().

This helps visualize how well a straight line fits the data.

🔹 3. Model Summary summary(fm1)

This gives detailed information about the linear model. The output looks like this:

Call: lm(formula = optden ~ carb, data = Formaldehyde)

Coefficients: Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.02500 0.01425 1.754 0.1245
carb 1.03850 0.04484 23.158 3.51e-08 ***

Interpretation:

Model Equation:

optden

0.025 + 1.0385 × carb optden=0.025+1.0385×carb

Intercept: 0.025 – the predicted optical density when carb is 0.

Slope: 1.0385 – for every 1 mL increase in carbohydrate, optical density increases by approximately 1.0385 units.

Significance (Pr(>|t|)): The p-value for carb is extremely low (3.51e-08), indicating the relationship is statistically significant.

R-squared (you would also see this in the summary output):

Tells how well the model explains the data. A value close to 1 indicates a good fit.

🔹 4. Diagnostic Plots opar <- par(mfrow = c(2, 2), oma = c(0, 0, 1.1, 0)) plot(fm1)

This creates 4 diagnostic plots for the linear model:

Residuals vs Fitted:

Checks linearity and homoscedasticity (equal variance).

Should look like random scatter. Patterns indicate problems.

Normal Q-Q:

Checks if residuals are normally distributed.

Points should lie close to a straight line.

Scale-Location:

Also checks for homoscedasticity.

A horizontal line with equal spread is ideal.

Residuals vs Leverage:

Identifies influential observations.

Points outside the dashed lines may be influential.

If these plots look reasonably well-behaved, the model assumptions are likely satisfied.

✅ Summary

The analysis shows:

A strong linear relationship between carbohydrate and optical density.

The model is statistically significant with a clear positive trend.

Slope ≈ 1.0385, indicating a consistent increase in optical density with more carbohydrate.

Diagnostic plots should be checked to validate model assumptions.

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyBzYW1wbGUgc2l6ZQoKYGBge3J9CmxpYnJhcnkoZ3RzdW1tYXJ5KQpsaWJyYXJ5KGRwbHlyKQpgYGAKIyMgRGV0ZXJtaW5hdGlvbiBvZiBGb3JtYWxkZWh5ZGUKCmBgYHtyfQpoZWFkKEZvcm1hbGRlaHlkZSkKYGBgCgpgYGB7cn0KcmVxdWlyZShzdGF0cyk7IHJlcXVpcmUoZ3JhcGhpY3MpCnBsb3Qob3B0ZGVuIH4gY2FyYiwgZGF0YSA9IEZvcm1hbGRlaHlkZSwKICAgICB4bGFiID0gIkNhcmJvaHlkcmF0ZSAobWwpIiwgeWxhYiA9ICJPcHRpY2FsIERlbnNpdHkiLAogICAgIG1haW4gPSAiRm9ybWFsZGVoeWRlIGRhdGEiLCBjb2wgPSA0LCBsYXMgPSAxKQphYmxpbmUoZm0xIDwtIGxtKG9wdGRlbiB+IGNhcmIsIGRhdGEgPSBGb3JtYWxkZWh5ZGUpKQpzdW1tYXJ5KGZtMSkKb3BhciA8LSBwYXIobWZyb3cgPSBjKDIsIDIpLCBvbWEgPSBjKDAsIDAsIDEuMSwgMCkpCnBsb3QoZm0xKQpwYXIob3BhcikKCmBgYAoKYGBge3J9CnJlcXVpcmUoc3RhdHMpOyByZXF1aXJlKGdyYXBoaWNzKQpwbG90KG9wdGRlbiB+IGNhcmIsIGRhdGEgPSBGb3JtYWxkZWh5ZGUsCiAgICAgeGxhYiA9ICJDYXJib2h5ZHJhdGUgKG1sKSIsIHlsYWIgPSAiT3B0aWNhbCBEZW5zaXR5IiwKICAgICBtYWluID0gIkZvcm1hbGRlaHlkZSBkYXRhIiwgY29sID0gNCwgbGFzID0gMSkKYWJsaW5lKGZtMSA8LSBsbShvcHRkZW4gfiBjYXJiLCBkYXRhID0gRm9ybWFsZGVoeWRlKSkKYGBgCgpgYGB7cn0Kc3VtbWFyeShmbTEpCmBgYAoKYGBge3J9Cm9wYXIgPC0gcGFyKG1mcm93ID0gYygyLCAyKSwgb21hID0gYygwLCAwLCAxLjEsIDApKQpwbG90KGZtMSkKYGBgCgpJbnRlcnByZXRhdGlvbgoKU3RlcC1ieS1zdGVwIEludGVycHJldGF0aW9uCvCflLkgMS4gSW5zcGVjdGluZyB0aGUgRGF0YQpoZWFkKEZvcm1hbGRlaHlkZSkKCgpUaGlzIGRpc3BsYXlzIHRoZSBmaXJzdCBmZXcgcm93cyBvZiB0aGUgZGF0YXNldC4gVGhlIEZvcm1hbGRlaHlkZSBkYXRhc2V0IGNvbnRhaW5zIHR3byB2YXJpYWJsZXM6CgpjYXJiOiBDYXJib2h5ZHJhdGUgY29uY2VudHJhdGlvbiBpbiBtTAoKb3B0ZGVuOiBPcHRpY2FsIGRlbnNpdHkKCkV4YW1wbGU6CgogIGNhcmIgb3B0ZGVuCjEgIDAuMSAgIDAuMDg2CjIgIDAuMyAgIDAuMjY5CjMgIDAuNSAgIDAuNDQ2Ci4uLgoK8J+UuSAyLiBQbG90dGluZyB0aGUgRGF0YSBhbmQgRml0dGluZyBhIExpbmVhciBNb2RlbApwbG90KG9wdGRlbiB+IGNhcmIsIGRhdGEgPSBGb3JtYWxkZWh5ZGUsCiAgICAgeGxhYiA9ICJDYXJib2h5ZHJhdGUgKG1sKSIsIHlsYWIgPSAiT3B0aWNhbCBEZW5zaXR5IiwKICAgICBtYWluID0gIkZvcm1hbGRlaHlkZSBkYXRhIiwgY29sID0gNCwgbGFzID0gMSkKYWJsaW5lKGZtMSA8LSBsbShvcHRkZW4gfiBjYXJiLCBkYXRhID0gRm9ybWFsZGVoeWRlKSkKCgpZb3UncmUgcGxvdHRpbmcgYSBzY2F0dGVyIHBsb3Qgb2Ygb3B0ZGVuIHZzIGNhcmIuCgpUaGVuLCB5b3UncmUgZml0dGluZyBhIGxpbmVhciByZWdyZXNzaW9uIGxpbmUgb3B0ZGVuIH4gY2FyYiB1c2luZyBsbSgpIGFuZCBvdmVybGF5aW5nIGl0IG9uIHRoZSBwbG90IHdpdGggYWJsaW5lKCkuCgpUaGlzIGhlbHBzIHZpc3VhbGl6ZSBob3cgd2VsbCBhIHN0cmFpZ2h0IGxpbmUgZml0cyB0aGUgZGF0YS4KCvCflLkgMy4gTW9kZWwgU3VtbWFyeQpzdW1tYXJ5KGZtMSkKCgpUaGlzIGdpdmVzIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoZSBsaW5lYXIgbW9kZWwuIFRoZSBvdXRwdXQgbG9va3MgbGlrZSB0aGlzOgoKQ2FsbDoKbG0oZm9ybXVsYSA9IG9wdGRlbiB+IGNhcmIsIGRhdGEgPSBGb3JtYWxkZWh5ZGUpCgpDb2VmZmljaWVudHM6CiAgICAgICAgICAgIEVzdGltYXRlIFN0ZC4gRXJyb3IgdCB2YWx1ZSBQcig+fHR8KSAgICAKKEludGVyY2VwdCkgIDAuMDI1MDAgICAgMC4wMTQyNSAgIDEuNzU0ICAgMC4xMjQ1ICAgIApjYXJiICAgICAgICAgMS4wMzg1MCAgICAwLjA0NDg0ICAyMy4xNTggMy41MWUtMDggKioqCgoKSW50ZXJwcmV0YXRpb246CgpNb2RlbCBFcXVhdGlvbjoKCm9wdGRlbgo9CjAuMDI1CisKMS4wMzg1CsOXCmNhcmIKb3B0ZGVuPTAuMDI1KzEuMDM4NcOXY2FyYgoKSW50ZXJjZXB0OiAwLjAyNSDigJMgdGhlIHByZWRpY3RlZCBvcHRpY2FsIGRlbnNpdHkgd2hlbiBjYXJiIGlzIDAuCgpTbG9wZTogMS4wMzg1IOKAkyBmb3IgZXZlcnkgMSBtTCBpbmNyZWFzZSBpbiBjYXJib2h5ZHJhdGUsIG9wdGljYWwgZGVuc2l0eSBpbmNyZWFzZXMgYnkgYXBwcm94aW1hdGVseSAxLjAzODUgdW5pdHMuCgpTaWduaWZpY2FuY2UgKFByKD58dHwpKTogVGhlIHAtdmFsdWUgZm9yIGNhcmIgaXMgZXh0cmVtZWx5IGxvdyAoMy41MWUtMDgpLCBpbmRpY2F0aW5nIHRoZSByZWxhdGlvbnNoaXAgaXMgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudC4KClItc3F1YXJlZCAoeW91IHdvdWxkIGFsc28gc2VlIHRoaXMgaW4gdGhlIHN1bW1hcnkgb3V0cHV0KToKClRlbGxzIGhvdyB3ZWxsIHRoZSBtb2RlbCBleHBsYWlucyB0aGUgZGF0YS4gQSB2YWx1ZSBjbG9zZSB0byAxIGluZGljYXRlcyBhIGdvb2QgZml0LgoK8J+UuSA0LiBEaWFnbm9zdGljIFBsb3RzCm9wYXIgPC0gcGFyKG1mcm93ID0gYygyLCAyKSwgb21hID0gYygwLCAwLCAxLjEsIDApKQpwbG90KGZtMSkKCgpUaGlzIGNyZWF0ZXMgNCBkaWFnbm9zdGljIHBsb3RzIGZvciB0aGUgbGluZWFyIG1vZGVsOgoKUmVzaWR1YWxzIHZzIEZpdHRlZDoKCkNoZWNrcyBsaW5lYXJpdHkgYW5kIGhvbW9zY2VkYXN0aWNpdHkgKGVxdWFsIHZhcmlhbmNlKS4KClNob3VsZCBsb29rIGxpa2UgcmFuZG9tIHNjYXR0ZXIuIFBhdHRlcm5zIGluZGljYXRlIHByb2JsZW1zLgoKTm9ybWFsIFEtUToKCkNoZWNrcyBpZiByZXNpZHVhbHMgYXJlIG5vcm1hbGx5IGRpc3RyaWJ1dGVkLgoKUG9pbnRzIHNob3VsZCBsaWUgY2xvc2UgdG8gYSBzdHJhaWdodCBsaW5lLgoKU2NhbGUtTG9jYXRpb246CgpBbHNvIGNoZWNrcyBmb3IgaG9tb3NjZWRhc3RpY2l0eS4KCkEgaG9yaXpvbnRhbCBsaW5lIHdpdGggZXF1YWwgc3ByZWFkIGlzIGlkZWFsLgoKUmVzaWR1YWxzIHZzIExldmVyYWdlOgoKSWRlbnRpZmllcyBpbmZsdWVudGlhbCBvYnNlcnZhdGlvbnMuCgpQb2ludHMgb3V0c2lkZSB0aGUgZGFzaGVkIGxpbmVzIG1heSBiZSBpbmZsdWVudGlhbC4KCklmIHRoZXNlIHBsb3RzIGxvb2sgcmVhc29uYWJseSB3ZWxsLWJlaGF2ZWQsIHRoZSBtb2RlbCBhc3N1bXB0aW9ucyBhcmUgbGlrZWx5IHNhdGlzZmllZC4KCuKchSBTdW1tYXJ5CgpUaGUgYW5hbHlzaXMgc2hvd3M6CgpBIHN0cm9uZyBsaW5lYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gY2FyYm9oeWRyYXRlIGFuZCBvcHRpY2FsIGRlbnNpdHkuCgpUaGUgbW9kZWwgaXMgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCB3aXRoIGEgY2xlYXIgcG9zaXRpdmUgdHJlbmQuCgpTbG9wZSDiiYggMS4wMzg1LCBpbmRpY2F0aW5nIGEgY29uc2lzdGVudCBpbmNyZWFzZSBpbiBvcHRpY2FsIGRlbnNpdHkgd2l0aCBtb3JlIGNhcmJvaHlkcmF0ZS4KCkRpYWdub3N0aWMgcGxvdHMgc2hvdWxkIGJlIGNoZWNrZWQgdG8gdmFsaWRhdGUgbW9kZWwgYXNzdW1wdGlvbnMuCgoKCgoKCgoKCgoKCg==