longToWide.Rd
Given a data frame or matrix in long format, convert it to wide format based on
the levels of two variables in the data frame. This is a simplified version of
the R function reshape
with the argument direction="wide"
.
data frame or matrix to convert to wide format. Must have at least 3 columns corresponding to the data variable, row variable, and column variable, respectively.
character string or numeric scalar indicating column variable name in x
for
data values.
character string or numeric scalar indicating column variable name in x
for
defining rows of output. The indicated column in x
cannot have missing values.
character string or numeric scalar indicating column variable name in x
for
defining columns of output. The indicated column in x
cannot have missing values.
optional character vector indicating labels to use for rows. The default value is the levels
of the variable indicated by row.var
when coerced to a factor.
optional character vector indicating labels to use for columns. The default value is the levels
of the variable indicated by col.var
when coerced to a factor.
logical scalar indicating whether to paste the name of the variable used to define the row names
(i.e., the value of row.var
) in front of the values defining the row names.
The default value is paste.row.name=FALSE
.
logical scalar indicating whether to paste the name of the variable used to define the column names
(i.e., the value of col.var
) in front of the values defining the column names.
The default value is paste.col.name=FALSE
.
character string separator used when paste.row.name=TRUE
and/or paste.col.name=TRUE
. The default value is sep="."
.
argument to data.frame
. Used to convert the return value to a data frame when
the argument x
is a data frame. This argument is ignored if x
is a matrix.
other arguments to data.frame
. This argument is ignored if x
is a matrix.
The combination of values in x[, row.var]
and x[, col.var]
must yield
\(n\) unique values, where \(n\) is the number of rows in x
.
longToWide
returns a matrix when x
is a matrix and a data frame when x
is a data frame. The number of rows is equal to the number of
unique values in x[, row.var]
and the number of columns is equal to the number of
unique values in x[, col.var]
.
EPA.09.Ex.10.1.nickel.df
#> Month Well Nickel.ppb
#> 1 1 Well.1 58.8
#> 2 3 Well.1 1.0
#> 3 6 Well.1 262.0
#> 4 8 Well.1 56.0
#> 5 10 Well.1 8.7
#> 6 1 Well.2 19.0
#> 7 3 Well.2 81.5
#> 8 6 Well.2 331.0
#> 9 8 Well.2 14.0
#> 10 10 Well.2 64.4
#> 11 1 Well.3 39.0
#> 12 3 Well.3 151.0
#> 13 6 Well.3 27.0
#> 14 8 Well.3 21.4
#> 15 10 Well.3 578.0
#> 16 1 Well.4 3.1
#> 17 3 Well.4 942.0
#> 18 6 Well.4 85.6
#> 19 8 Well.4 10.0
#> 20 10 Well.4 637.0
# Month Well Nickel.ppb
#1 1 Well.1 58.8
#2 3 Well.1 1.0
#3 6 Well.1 262.0
#4 8 Well.1 56.0
#5 10 Well.1 8.7
#6 1 Well.2 19.0
#7 3 Well.2 81.5
#8 6 Well.2 331.0
#9 8 Well.2 14.0
#10 10 Well.2 64.4
#11 1 Well.3 39.0
#12 3 Well.3 151.0
#13 6 Well.3 27.0
#14 8 Well.3 21.4
#15 10 Well.3 578.0
#16 1 Well.4 3.1
#17 3 Well.4 942.0
#18 6 Well.4 85.6
#19 8 Well.4 10.0
#20 10 Well.4 637.0
longToWide(EPA.09.Ex.10.1.nickel.df,
"Nickel.ppb", "Month", "Well", paste.row.name = TRUE)
#> Well.1 Well.2 Well.3 Well.4
#> Month.1 58.8 19.0 39.0 3.1
#> Month.3 1.0 81.5 151.0 942.0
#> Month.6 262.0 331.0 27.0 85.6
#> Month.8 56.0 14.0 21.4 10.0
#> Month.10 8.7 64.4 578.0 637.0
# Well.1 Well.2 Well.3 Well.4
#Month.1 58.8 19.0 39.0 3.1
#Month.3 1.0 81.5 151.0 942.0
#Month.6 262.0 331.0 27.0 85.6
#Month.8 56.0 14.0 21.4 10.0
#Month.10 8.7 64.4 578.0 637.0