Description Usage Arguments Details Value Author(s) See Also Examples
Interleave rows of data frames or Matrices.
1 | interleave(..., append.source=TRUE, sep=": ", drop=FALSE)
|
... |
objects to be interleaved |
append.source |
Boolean Flag. When |
sep |
Separator between the original row name and the object name. |
drop |
boolean flag - When TRUE, matrices containing one column will be converted to vectors. |
This function creates a new matrix or data frame from its arguments.
The new object will have all of the rows from the source objects interleaved. IE, it will contain row 1 of object 1, followed by row 1 of object 2, .. row 1 of object 'n', row 2 of object 1, row 2 of object 2, ... row 2 of object 'n' ...
Matrix containing the interleaved rows of the function arguments.
Gregory R. Warnes greg@warnes.net
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | # Simple example
a <- matrix(1:10,ncol=2,byrow=TRUE)
b <- matrix(letters[1:10],ncol=2,byrow=TRUE)
c <- matrix(LETTERS[1:10],ncol=2,byrow=TRUE)
interleave(a,b,c)
# Useful example:
#
# Create a 2-way table of means, standard errors, and # obs
g1 <- sample(letters[1:5], 1000, replace=TRUE)
g2 <- sample(LETTERS[1:3], 1000, replace=TRUE )
dat <- rnorm(1000)
stderr <- function(x) sqrt( var(x,na.rm=TRUE) / nobs(x) )
means <- tapply(dat, list(g1, g2), mean )
stderrs <- tapply(dat, list(g1, g2), stderr )
ns <- tapply(dat, list(g1, g2), nobs )
blanks <- matrix( " ", nrow=5, ncol=3)
tab <- interleave( "Mean"=round(means,2),
"Std Err"=round(stderrs,2),
"N"=ns, " " = blanks, sep=" " )
print(tab, quote=FALSE)
# Using drop to control coercion to a lower dimensions:
m1 <- matrix(1:4)
m2 <- matrix(5:8)
interleave(m1, m2, drop=TRUE) # This will be coerced to a vector
interleave(m1, m2, drop=FALSE) # This will remain a matrix
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.