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.
bacteria
bacterial species, 16 levels
penicillin
MIC for penicillin
streptomycin
MIC for streptomycin
neomycin
MIC for neomycin
gramstain
Gram 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)