| Title: | Printing Floating Point Numbers in a Human-Friendly Format |
| Version: | 1.9 |
| Description: | Print vectors (and data frames) of floating point numbers using a non-scientific format optimized for human readers. Vectors of numbers are rounded using significant digits, aligned at the decimal point, and all zeros trailing the decimal point are dropped. See: Wright (2016). Lucid: An R Package for Pretty-Printing Floating Point Numbers. In JSM Proceedings, Statistical Computing Section. Alexandria, VA: American Statistical Association. 2270-2279. |
| License: | MIT + file LICENSE |
| URL: | https://kwstat.github.io/lucid/, http://kwstat.github.io/lucid/ |
| BugReports: | https://github.com/kwstat/lucid/issues |
| Imports: | nlme |
| Suggests: | broom, dplyr, knitr, lattice, lme4, rjags, rmarkdown, sommer, testthat |
| VignetteBuilder: | knitr |
| Encoding: | UTF-8 |
| LazyData: | true |
| RoxygenNote: | 7.3.2 |
| NeedsCompilation: | no |
| Packaged: | 2025-04-03 20:07:59 UTC; wrightkevi |
| Author: | Kevin Wright |
| Maintainer: | Kevin Wright <kw.stat@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2025-04-04 03:30:05 UTC |
Effectiveness of 3 antibiotics against 16 bacterial species.
Description
Effectiveness of 3 antibiotics against 16 bacterial species.
Format
A data frame with 16 observations on the following 5 variables.
bacteriabacterial species, 16 levels
penicillinMIC for penicillin
streptomycinMIC for streptomycin
neomycinMIC for neomycin
gramstainGram staining (positive or negative)
Details
The values reported are the minimum inhibitory concentration (MIC) in micrograms/milliliter, which represents the concentration of antibiotic required to prevent growth in vitro.
Source
Will Burtin (1951). Scope. Fall, 1951.
References
Wainer, H. (2009). A Centenary Celebration for Will Burtin: A Pioneer of Scientific Visualization. Chance, 22(1), 51-55. https://chance.amstat.org/2009/02/visrev221/
Wainer, H. (2009). Visual Revelations: Pictures at an Exhibition. Chance, 22(2), 46–54. https://chance.amstat.org/2009/04/visrev222/
Wainer, H. (2014). Medical Illuminations: Using Evidence, Visualization and Statistical Thinking to Improve Healthcare.
Examples
data(antibiotic)
lucid(antibiotic)
## Not run:
# Plot the data similar to Fig 2.14 of Wainer's book, "Medical Illuminations"
require(lattice)
require(reshape2)
# Use log10 transform
dat <- transform(antibiotic,
penicillin=log10(penicillin),
streptomycin=log10(streptomycin),
neomycin=log10(neomycin))
dat <- transform(dat, sgn = ifelse(dat$gramstain=="neg", "-", "+"))
dat <- transform(dat,
bacteria = paste(bacteria, sgn))
dat <- transform(dat, bacteria=reorder(bacteria, -penicillin))
dat <- melt(dat)
op <- tpg <- trellis.par.get()
tpg$superpose.symbol$pch <- toupper(substring(levels(dat$variable),1,1))
tpg$superpose.symbol$col <- c("darkgreen","purple","orange")
trellis.par.set(tpg)
dotplot(bacteria ~ value, data=dat, group=variable,
cex=2,
scales=list(x=list(at= -3:3,
labels=c('.001', '.01', '.1', '1', '10', '100', '1000'))),
main="Bacterial response to Neomycin, Streptomycin, and Penicillin",
xlab="Minimum Inhibitory Concentration (mg/L)")
trellis.par.set(op)
## End(Not run)
Lucid printing
Description
Format a column of numbers in a way to make it easy to understand.
Usage
lucid(x, dig = 3, na.value = NULL, ...)
## Default S3 method:
lucid(x, dig = 3, na.value = NULL, ...)
## S3 method for class 'numeric'
lucid(x, dig = 3, na.value = NULL, ...)
## S3 method for class 'data.frame'
lucid(x, dig = 3, na.value = NULL, ...)
## S3 method for class 'matrix'
lucid(x, dig = 3, na.value = NULL, ...)
## S3 method for class 'list'
lucid(x, dig = 3, na.value = NULL, ...)
## S3 method for class 'tbl_df'
lucid(x, dig = 3, na.value = NULL, ...)
Arguments
x |
Object to format. |
dig |
Number of significant digits to use in printing. |
na.value |
Character string to use instead of 'NA' for numeric missing values. Default is NULL, which does nothing. |
... |
Additional arguments passed to the data.frame method. |
Details
Output from R is often in scientific notation, which makes it difficult to quickly glance at numbers and gain an understanding of the relative values. This function formats the numbers in a way that makes interpretation of the numbers _immediately_ apparent.
The sequence of steps in formatting the output is: (1) zap to zero (2) use significant digits (3) drop trailing zeros after decimal (4) align decimals.
Value
Text, formatted in a human-readable way. Standard R methods are used to print the value.
See Also
Examples
x0 <- c(123, 12.3, 1.23, .123456) # From Finney, page 352
print(x0)
lucid(x0, dig=2)
x1 <- c(123, NA, 1.23, NA)
lucid(x1, na.value="--")
signif(mtcars[15:20,])
lucid(mtcars[15:20,])
x2 <- c(1/3, 5/3, 1, 1.5, 2, 11/6, 5/6, 8.43215652105343e-17)
print(x2)
lucid(x2)
# Which coef is 0 ? How large is the intercept?
df1 <- data.frame(effect=c(-13.5, 4.5, 24.5, 6.927792e-14, -1.75,
16.5, 113.5000))
rownames(df1) <- c("A","B","C","C1","C2","D","(Intercept)")
print(df1)
lucid(df1)
df2 <- data.frame(effect=c("hyb","region","region:loc","hyb:region",
"yr","hyb:yr","region:yr","R!variance"),
component=c(10.9,277,493,1.30E-04,126,22.3,481,268),
std.error=c(4.40,166,26.1,1.58E-06,119,4.50,108,3.25),
z.ratio=c(2.471,1.669,18.899,82.242,
1.060,4.951,4.442,82.242),
constraint=c("pos","pos","pos","bnd",
"pos","pos","pos","pos"))
print(df2)
lucid(df2)
Extract variance components from mixed models
Description
Extract the variance components from a fitted model. Currently supports
asreml, lme4, mmer, nlme and mcmc.list objects.
Usage
vc(object, ...)
## Default S3 method:
vc(object, ...)
## S3 method for class 'asreml'
vc(object, gamma = FALSE, ...)
## S3 method for class 'lme'
vc(object, ...)
## S3 method for class 'glmerMod'
vc(object, ...)
## S3 method for class 'lmerMod'
vc(object, ...)
## S3 method for class 'mcmc.list'
vc(object, quantiles = c(0.025, 0.5, 0.975), ...)
## S3 method for class 'mmer'
vc(object, ...)
Arguments
object |
A fitted model object |
... |
Not used. Extra arguments. |
gamma |
If gamma=FALSE, then the 'gamma' column is omitted from the results from asreml |
quantiles |
The quantiles to use for printing mcmc.list objects |
Details
The extracted variance components are stored in a data frame with an additional 'vc.xxx' class that has an associated print method.
Value
A data frame or other object.
Examples
## Not run:
require("nlme")
data(Rail)
m3 <- lme(travel~1, random=~1|Rail, data=Rail)
vc(m3)
## effect variance stddev
## (Intercept) 615.3 24.81
## Residual 16.17 4.021
require("lme4")
m4 <- lmer(travel~1 + (1|Rail), data=Rail)
vc(m4)
## grp var1 var2 vcov sdcor
## Rail (Intercept) <NA> 615.3 24.81
## Residual <NA> <NA> 16.17 4.021
require("asreml")
ma <- asreml(travel~1, random=~Rail, data=Rail)
vc(ma)
## effect component std.error z.ratio constr
## Rail!Rail.var 615.3 392.6 1.6 pos
## R!variance 16.17 6.6 2.4 pos
# See vignette for rjags example
# To change the number of digits, use the print function.
print(vc(m3), dig=5)
## End(Not run)