Hi everyone. Long time listener, first-time caller here.
I have a data set that's been melted with the excellent reshape package, but
I can't seem to cast it the way I need to.
Here's the melted data's structure:
> str(mdat)
'data.frame': 6978 obs. of 4 variables:
$ VehType : Factor w/ 2 levels "Car","Truck": 1 1 2 1 1 2 1 1 1 1 ...
$ Year : Factor w/ 6 levels "2003","2004",..: 5 1 5 6 6 2 2 3 2 5 ...
$ variable: Factor w/ 1 level "mpg": 1 1 1 1 1 1 1 1 1 1 ...
$ value : num 22.4 21.5 22.6 22.4 25 ...
For the purpose of testing, I have stripped out all the variables except for
"mpg."
Casting it without specifying any ids or variables works fine:
> cast(mdat,,mean)
VehType Year mpg
1 Car 2003 22.03623
2 Car 2004 21.94160
3 Car 2005 21.77286
4 Car 2006 21.49105
5 Car 2007 21.38180
6 Car 2008 21.56873
7 Truck 2003 16.91461
8 Truck 2004 16.88771
9 Truck 2005 17.19801
10 Truck 2006 17.48225
11 Truck 2007 17.40694
12 Truck 2008 17.74042
I should then be able to make a crosstab of the means by writing a formula,
right? It fails, though:
> cast(mdat, VehType ~ Year | mpg, mean)
Error: Casting formula contains variables not found in molten data: mpg
When I make the same table by using "variable" instead of the name of my
variable, it works:
> cast(mdat, VehType ~ Year | variable, mean)
$mpg
VehType 2003 2004 2005 2006 2007 2008
1 Car 22.03623 21.94160 21.77286 21.49105 21.38180 21.56873
2 Truck 16.91461 16.88771 17.19801 17.48225 17.40694 17.74042
Why can't it find the "mpg" variable when I call it explicitly?
Thanks,
Matt Frost
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.