These functions are merely wrappers for reshape.
Given the complicated syntax of reshape and the particularly simple
structure of this problem, the functions facilitate the conversion
enormously.
to.wide(data, warn = TRUE)A Meth object.
Logical. Should a warning be printed when replicates are taken as items?
A data frame with the reshaped data
If data represents method comparisons with exchangeable replicates within method, the transformation to wide format does not necessarily make sense.
data( milk )
str( milk )
#> 'data.frame': 90 obs. of 3 variables:
#> $ meth: Factor w/ 2 levels "Gerber","Trig": 2 2 2 2 2 2 2 2 2 2 ...
#> $ item: int 1 2 3 4 5 6 7 8 9 10 ...
#> $ y : num 0.96 1.16 0.97 1.01 1.25 1.22 1.46 1.66 1.75 1.72 ...
mw <- to.wide( milk )
str( mw )
#> 'data.frame': 45 obs. of 4 variables:
#> $ item : Factor w/ 45 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
#> $ repl : Factor w/ 1 level "1": 1 1 1 1 1 1 1 1 1 1 ...
#> $ Gerber: num 0.85 1 1 1 1.2 1.2 1.38 1.65 1.68 1.7 ...
#> $ Trig : num 0.96 1.16 0.97 1.01 1.25 1.22 1.46 1.66 1.75 1.72 ...
( mw <- subset( mw, as.integer(item) < 3 ) )
#> item repl Gerber Trig
#> 1 1 1 0.85 0.96
#> 2 2 1 1.00 1.16
to.long( mw, 3:4 )
#> meth item repl y
#> 1 Gerber 1 1 0.85
#> 2 Gerber 2 1 1.00
#> 3 Trig 1 1 0.96
#> 4 Trig 2 1 1.16