interleave.html
3.26 KB
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>R: Interleave Rows of Data Frames or Matrices</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../R.css">
</head><body>
<table width="100%" summary="page for interleave {gdata}"><tr><td>interleave {gdata}</td><td align="right">R Documentation</td></tr></table>
<h2>Interleave Rows of Data Frames or Matrices</h2>
<h3>Description</h3>
<p>
Interleave rows of data frames or Matrices.
</p>
<h3>Usage</h3>
<pre>
interleave(..., append.source=TRUE, sep=": ", drop=FALSE)
</pre>
<h3>Arguments</h3>
<table summary="R argblock">
<tr valign="top"><td><code>...</code></td>
<td>
objects to be interleaved </td></tr>
<tr valign="top"><td><code>append.source</code></td>
<td>
Boolean Flag. When <code>TRUE</code> (the default) the
argument name will be appended to the row names to show the source of
each row. </td></tr>
<tr valign="top"><td><code>sep</code></td>
<td>
Separator between the original row name and the object name.</td></tr>
<tr valign="top"><td><code>drop</code></td>
<td>
logical - If the number of columns in output matrix is 1, whether
matrix should be returned or a vector </td></tr>
</table>
<h3>Details</h3>
<p>
This function creates a new matrix or data frame from its arguments.
</p>
<p>
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' ...
</p>
<h3>Value</h3>
<p>
Matrix containing the interleaved rows of the function arguments.</p>
<h3>Author(s)</h3>
<p>
Gregory R. Warnes <a href="mailto:warnes@bst.rochester.edu">warnes@bst.rochester.edu</a>
</p>
<h3>See Also</h3>
<p>
<code><a href="../../base/html/cbind.html">cbind</a></code>, <code><a href="../../base/html/cbind.html">rbind</a></code>, <code><a href="combine.html">combine</a></code>
</p>
<h3>Examples</h3>
<pre>
# 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 <- aggregate.table( dat, g1, g2, mean )
stderrs <- aggregate.table( dat, g1, g2, stderr )
ns <- aggregate.table( dat, 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
</pre>
<hr><div align="center">[Package <em>gdata</em> version 2.3.1 <a href="00Index.html">Index]</a></div>
</body></html>