[R] reordering levels error

2010-08-30 Thread Felipe Carrillo
Please consider the following dataset:
I want to reorder the levels by year but get the following error:

Error in tapply(v, x, FUN, ...) : arguments must have same length
 
I suspect that I need to add the levels before I melt the dataset
 but either way I have only use 'reorder' once before and can't figure
 out how it works..Thanks for any advice.
 
winter - (list(week = c(26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L,
34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
47L, 48L, 49L, 50L, 51L, 52L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L,
22L, 23L, 24L, 25L, 26L), BY2010 = c(0L, 0L, 460L, 1126L, 1755L,
11153L, 27998L, 56336L, 12486L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L), BY2009 = c(0L, 95L, 341L, 373L, 2859L, 5769L,
33263L, 98435L, 345339L, 622621L, 349958L, 531232L, 652803L,
345358L, 142991L, 148883L, 957501L, 32495L, 14862L, 7210L, 9765L,
6846L, 5067L, 6201L, 3045L, 106230L, 1183L, 195L, 6855L, 10261L,
4179L, 650L, 240L, 165L, 1189L, 863L, 562L, 1350L, 188L, 479L,
770L, 0L, 558L, 314L, 147L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
    BY2008 = c(0L, 0L, 77L, 124L, 159L, 2376L, 9480L, 17314L,
    99574L, 323679L, 198211L, 93630L, 129183L, 111820L, 71260L,
    35241L, 14020L, 20778L, 21694L, 15016L, 13400L, 9187L, 3607L,
    2804L, 2417L, 5291L, 16216L, 898L, 558L, 709L, 972L, 61L,
    372L, 3086L, 10108L, 4295L, 882L, 2593L, 36L, 233L, 243L,
    0L, 70L, 272L, 308L, 134L, 40L, 0L, 0L, 0L, 0L, 0L, 0L),
    BY2007 = c(0L, 0L, 0L, 10775L, 4166L, 4958L, 16221L, 29401L,
    34951L, 33188L, 146044L, 105007L, 185297L, 159682L, 207537L,
    140694L, 128275L, 44274L, 27079L, 18928L, 10437L, 29984L,
    18395L, 25846L, 4573L, 31995L, 3679L, 1043L, 9636L, 1524L,
    827L, 7009L, 233L, 433L, 0L, 1103L, 257L, 128L, 66L, 70L,
    535L, 429L, 97L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
    BY2006 = c(0L, 707L, 2390L, 8860L, 24430L, 40885L, 72792L,
    205521L, 344493L, 662973L, 526409L, 631953L, 850491L, 842678L,
    445987L, 558152L, 332032L, 174326L, 80601L, 48696L, 98571L,
    103563L, 149469L, 78081L, 182478L, 2158L, 16566L, 4027L,
    2655L, 1112L, 567L, 2595L, 4976L, 6336L, 294L, 1758L, 291L,
    203L, 450L, 1098L, 788L, 195L, 532L, 0L, 0L, 0L, 0L, 0L,
    0L, 167L, 0L, 0L, 0L), BY2005 = c(0L, 0L, 868L, 2044L, 4064L,
    6049L, 9399L, 13304L, 45172L, 242155L, 476864L, 712534L,
    1058409L, 2115018L, 1510342L, 1138213L, 333192L, 158820L,
    94379L, 348882L, 39290L, 29701L, 47258L, 69837L, 7884L, 49338L,
    22168L, 19397L, 19397L, 15984L, 8688L, 1200L, 1623L, 1291L,
    1356L, 707L, 875L, 875L, 222L, 883L, 0L, 0L, 129L, 0L, 0L,
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L)), .Names = c(week, BY2010,
BY2009, BY2008, BY2007, BY2006, BY2005), class = data.frame, 
row.names = c(NA,
-53L))
 str(winter)
 w_melt - melt(winter,id=week,variable=year);str(w_melt)
 #  Reorder DOESN'T WORK
 w_melt - 
reorder(w_melt$year,c(BY2005,BY2009,BY2006,BY2008,BY2007,BY2010))
pdf(wtest.pdf)
ggplot(w_melt,aes(week,value/1000,colour=year,order= - as.numeric(year))) + 
geom_line(size=.75)+  theme_bw() +
opts(title=Cumulative,axis.text.x = theme_text(angle=45,hjust=1)) +
 labs(y=Number of individuals X 1,000,x=week)
dev.off()
 
Felipe D. Carrillo
Supervisory Fishery Biologist
Department of the Interior
US Fish  Wildlife Service
California, USA




__
R-help@r-project.org 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.


Re: [R] reordering levels error

2010-08-30 Thread David Winsemius


On Aug 30, 2010, at 5:25 PM, Felipe Carrillo wrote:


Please consider the following dataset:
I want to reorder the levels by year but get the following error:

Error in tapply(v, x, FUN, ...) : arguments must have same length

I suspect that I need to add the levels before I melt the dataset
 but either way I have only use 'reorder' once before and can't figure
 out how it works..Thanks for any advice.

winter - (list(week = c(26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L,


I believe you omitted a necessarystructure call above.


34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
47L, 48L, 49L, 50L, 51L, 52L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L,
22L, 23L, 24L, 25L, 26L), BY2010 = c(0L, 0L, 460L, 1126L, 1755L,
11153L, 27998L, 56336L, 12486L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L), BY2009 = c(0L, 95L, 341L, 373L, 2859L, 5769L,
33263L, 98435L, 345339L, 622621L, 349958L, 531232L, 652803L,
345358L, 142991L, 148883L, 957501L, 32495L, 14862L, 7210L, 9765L,
6846L, 5067L, 6201L, 3045L, 106230L, 1183L, 195L, 6855L, 10261L,
4179L, 650L, 240L, 165L, 1189L, 863L, 562L, 1350L, 188L, 479L,
770L, 0L, 558L, 314L, 147L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
BY2008 = c(0L, 0L, 77L, 124L, 159L, 2376L, 9480L, 17314L,
99574L, 323679L, 198211L, 93630L, 129183L, 111820L, 71260L,
35241L, 14020L, 20778L, 21694L, 15016L, 13400L, 9187L, 3607L,
2804L, 2417L, 5291L, 16216L, 898L, 558L, 709L, 972L, 61L,
372L, 3086L, 10108L, 4295L, 882L, 2593L, 36L, 233L, 243L,
0L, 70L, 272L, 308L, 134L, 40L, 0L, 0L, 0L, 0L, 0L, 0L),
BY2007 = c(0L, 0L, 0L, 10775L, 4166L, 4958L, 16221L, 29401L,
34951L, 33188L, 146044L, 105007L, 185297L, 159682L, 207537L,
140694L, 128275L, 44274L, 27079L, 18928L, 10437L, 29984L,
18395L, 25846L, 4573L, 31995L, 3679L, 1043L, 9636L, 1524L,
827L, 7009L, 233L, 433L, 0L, 1103L, 257L, 128L, 66L, 70L,
535L, 429L, 97L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
BY2006 = c(0L, 707L, 2390L, 8860L, 24430L, 40885L, 72792L,
205521L, 344493L, 662973L, 526409L, 631953L, 850491L, 842678L,
445987L, 558152L, 332032L, 174326L, 80601L, 48696L, 98571L,
103563L, 149469L, 78081L, 182478L, 2158L, 16566L, 4027L,
2655L, 1112L, 567L, 2595L, 4976L, 6336L, 294L, 1758L, 291L,
203L, 450L, 1098L, 788L, 195L, 532L, 0L, 0L, 0L, 0L, 0L,
0L, 167L, 0L, 0L, 0L), BY2005 = c(0L, 0L, 868L, 2044L, 4064L,
6049L, 9399L, 13304L, 45172L, 242155L, 476864L, 712534L,
1058409L, 2115018L, 1510342L, 1138213L, 333192L, 158820L,
94379L, 348882L, 39290L, 29701L, 47258L, 69837L, 7884L, 49338L,
22168L, 19397L, 19397L, 15984L, 8688L, 1200L, 1623L, 1291L,
1356L, 707L, 875L, 875L, 222L, 883L, 0L, 0L, 129L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L)), .Names = c(week, BY2010,
BY2009, BY2008, BY2007, BY2006, BY2005), class =  
data.frame,

row.names = c(NA,
-53L))
 str(winter)
 w_melt - melt(winter,id=week,variable=year);str(w_melt)
 #  Reorder


Of course it DOESN'T WORK. The second argument is much shorter than  
the first.



 w_melt -
reorder(w_melt 
$year,c(BY2005,BY2009,BY2006,BY2008,BY2007,BY2010))


 ?reorder

(Not that you would want to have it work for the reasons cited below.)

Apparently all you want to do is reverse the ordering of w_melt$year,  
so assigning the output of reorder to what used to be a full dataframe  
is going to create havoc.


  w_melt - melt(winter,id=week,variable=year);str(w_melt)
'data.frame':   318 obs. of  3 variables:
 $ week : int  26 27 28 29 30 31 32 33 34 35 ...
 $ year : Factor w/ 6 levels BY2010,BY2009,..: 1 1 1 1 1 1 1 1 1  
1 ...

 $ value: int  0 0 460 1126 1755 11153 27998 56336 12486 0 ...

  w_melt - melt(winter,id=week,variable=year);str(w_melt)
'data.frame':   318 obs. of  3 variables:
 $ week : int  26 27 28 29 30 31 32 33 34 35 ...
 $ year : Factor w/ 6 levels BY2010,BY2009,..: 1 1 1 1 1 1 1 1 1  
1 ...

 $ value: int  0 0 460 1126 1755 11153 27998 56336 12486 0 ...
 levels(w_melt$year)
[1] BY2010 BY2009 BY2008 BY2007 BY2006 BY2005

So try instead:

 w_melt$year - reorder(w_melt$year, 7-as.numeric(w_melt$year))
 levels(w_melt$year)
[1] BY2005 BY2006 BY2007 BY2008 BY2009 BY2010

You have not described what you are trying to show, so I have not  
proceeded any further.



pdf(wtest.pdf)
ggplot(w_melt,aes(week,value/1000,colour=year,order= -  
as.numeric(year))) +

geom_line(size=.75)+  theme_bw() +
opts(title=Cumulative,axis.text.x = theme_text(angle=45,hjust=1)) +
 labs(y=Number of individuals X 1,000,x=week)
dev.off()

Felipe D. Carrillo
Supervisory Fishery Biologist
Department of the Interior
US Fish  Wildlife Service
California, USA




__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html

Re: [R] reordering levels error

2010-08-30 Thread Felipe Carrillo
Sorry about the structure thing, I basically want my levels on this order:
 w_melt - 
reorder(w_melt$year,c(BY2005,BY2009,BY2006,BY2008,BY2007,BY2010))
 Here's the new dataset , please discard the reverse year, I was just trying it 
but it didn't do what I wanted
and forgot to delete it. 
With ggplot2 I am trying to show the line with max value above and then show 
the 
other lines in the same order as the
w_melt reorder code above.

winter - structure(list(week = c(26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L,
34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
47L, 48L, 49L, 50L, 51L, 52L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L,
22L, 23L, 24L, 25L, 26L), BY2010 = c(0L, 0L, 460L, 1126L, 1755L,
11153L, 27998L, 56336L, 12486L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L), BY2009 = c(0L, 95L, 341L, 373L, 2859L, 5769L,
33263L, 98435L, 345339L, 622621L, 349958L, 531232L, 652803L,
345358L, 142991L, 148883L, 957501L, 32495L, 14862L, 7210L, 9765L,
6846L, 5067L, 6201L, 3045L, 106230L, 1183L, 195L, 6855L, 10261L,
4179L, 650L, 240L, 165L, 1189L, 863L, 562L, 1350L, 188L, 479L,
770L, 0L, 558L, 314L, 147L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
    BY2008 = c(0L, 0L, 77L, 124L, 159L, 2376L, 9480L, 17314L,
    99574L, 323679L, 198211L, 93630L, 129183L, 111820L, 71260L,
    35241L, 14020L, 20778L, 21694L, 15016L, 13400L, 9187L, 3607L,
    2804L, 2417L, 5291L, 16216L, 898L, 558L, 709L, 972L, 61L,
    372L, 3086L, 10108L, 4295L, 882L, 2593L, 36L, 233L, 243L,
    0L, 70L, 272L, 308L, 134L, 40L, 0L, 0L, 0L, 0L, 0L, 0L),
    BY2007 = c(0L, 0L, 0L, 10775L, 4166L, 4958L, 16221L, 29401L,
    34951L, 33188L, 146044L, 105007L, 185297L, 159682L, 207537L,
    140694L, 128275L, 44274L, 27079L, 18928L, 10437L, 29984L,
    18395L, 25846L, 4573L, 31995L, 3679L, 1043L, 9636L, 1524L,
    827L, 7009L, 233L, 433L, 0L, 1103L, 257L, 128L, 66L, 70L,
    535L, 429L, 97L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
    BY2006 = c(0L, 707L, 2390L, 8860L, 24430L, 40885L, 72792L,
    205521L, 344493L, 662973L, 526409L, 631953L, 850491L, 842678L,
    445987L, 558152L, 332032L, 174326L, 80601L, 48696L, 98571L,
    103563L, 149469L, 78081L, 182478L, 2158L, 16566L, 4027L,
    2655L, 1112L, 567L, 2595L, 4976L, 6336L, 294L, 1758L, 291L,
    203L, 450L, 1098L, 788L, 195L, 532L, 0L, 0L, 0L, 0L, 0L,
    0L, 167L, 0L, 0L, 0L), BY2005 = c(0L, 0L, 868L, 2044L, 4064L,
    6049L, 9399L, 13304L, 45172L, 242155L, 476864L, 712534L,
    1058409L, 2115018L, 1510342L, 1138213L, 333192L, 158820L,
    94379L, 348882L, 39290L, 29701L, 47258L, 69837L, 7884L, 49338L,
    22168L, 19397L, 19397L, 15984L, 8688L, 1200L, 1623L, 1291L,
    1356L, 707L, 875L, 875L, 222L, 883L, 0L, 0L, 129L, 0L, 0L,
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L)), .Names = c(week, BY2010,
BY2009, BY2008, BY2007, BY2006, BY2005), class = data.frame, 
row.names = c(NA,
-53L))
winter
 w_melt - melt(winter,id=week,variable=year);str(w_melt)
 #  Reorder DOESN'T WORK
 w_melt - 
reorder(w_melt$year,c(BY2005,BY2009,BY2006,BY2008,BY2007,BY2010))
pdf(wtest.pdf)
ggplot(w_melt,aes(week,value/1000,colour)) + geom_line(size=.75)+  theme_bw() +
opts(title=Cumulative,axis.text.x = theme_text(angle=45,hjust=1)) +
 labs(y=Number of individuals X 1,000,x=week)
dev.off()

Felipe D. Carrillo
Supervisory Fishery Biologist
Department of the Interior
US Fish  Wildlife Service
California, USA



- Original Message 
 From: David Winsemius dwinsem...@comcast.net
 To: r-help Help r-h...@stat.math.ethz.ch
 Sent: Mon, August 30, 2010 2:49:15 PM
 Subject: Re: [R] reordering levels error
 
 
 On Aug 30, 2010, at 5:25 PM, Felipe Carrillo wrote:
 
  Please consider the following dataset:
  I want to reorder the levels by year but get the following error:
  
  Error in tapply(v, x, FUN, ...) : arguments must have same length
  
  I suspect that I need to add the levels before I melt the dataset
   but either way I have only use 'reorder' once before and can't figure
   out how it works..Thanks for any advice.
  
  winter - (list(week = c(26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L,
 
 I believe you omitted a necessarystructure call above.
 
  34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
  47L, 48L, 49L, 50L, 51L, 52L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
  9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L,
  22L, 23L, 24L, 25L, 26L), BY2010 = c(0L, 0L, 460L, 1126L, 1755L,
  11153L, 27998L, 56336L, 12486L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
  0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
  0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
  0L, 0L, 0L, 0L), BY2009 = c(0L, 95L, 341L, 373L, 2859L, 5769L,
  33263L, 98435L, 345339L, 622621L, 349958L, 531232L, 652803L,
  345358L, 142991L, 148883L, 957501L, 32495L, 14862L, 7210L, 9765L,
  6846L, 5067L, 6201L, 3045L, 106230L, 1183L, 195L, 6855L, 10261L

Re: [R] reordering levels error

2010-08-30 Thread David Winsemius


On Aug 30, 2010, at 6:09 PM, Felipe Carrillo wrote:

Sorry about the structure thing, I basically want my levels on this  
order:

 w_melt -
reorder(w_melt 
$year,c(BY2005,BY2009,BY2006,BY2008,BY2007,BY2010))
 Here's the new dataset , please discard the reverse year, I was  
just trying it

but it didn't do what I wanted
and forgot to delete it.
With ggplot2 I am trying to show the line with max value above and  
then show the

other lines in the same order as the w_melt reorder code above.


I cannot parse that into English ... too many references to undefined  
items and indefinite pronouns to arrive at a meaningful expanded  
sentence. Max value above? Other lines in order? Try your plotting  
with the simple modification offered below and then report back with  
more detail and fewer indefinite pronouns and vague as aboves.




winter - structure(list(week = c(26L, 27L, 28L, 29L, 30L, 31L, 32L,  
33L,

34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
47L, 48L, 49L, 50L, 51L, 52L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L,
22L, 23L, 24L, 25L, 26L), BY2010 = c(0L, 0L, 460L, 1126L, 1755L,
11153L, 27998L, 56336L, 12486L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L), BY2009 = c(0L, 95L, 341L, 373L, 2859L, 5769L,
33263L, 98435L, 345339L, 622621L, 349958L, 531232L, 652803L,
345358L, 142991L, 148883L, 957501L, 32495L, 14862L, 7210L, 9765L,
6846L, 5067L, 6201L, 3045L, 106230L, 1183L, 195L, 6855L, 10261L,
4179L, 650L, 240L, 165L, 1189L, 863L, 562L, 1350L, 188L, 479L,
770L, 0L, 558L, 314L, 147L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
BY2008 = c(0L, 0L, 77L, 124L, 159L, 2376L, 9480L, 17314L,
99574L, 323679L, 198211L, 93630L, 129183L, 111820L, 71260L,
35241L, 14020L, 20778L, 21694L, 15016L, 13400L, 9187L, 3607L,
2804L, 2417L, 5291L, 16216L, 898L, 558L, 709L, 972L, 61L,
372L, 3086L, 10108L, 4295L, 882L, 2593L, 36L, 233L, 243L,
0L, 70L, 272L, 308L, 134L, 40L, 0L, 0L, 0L, 0L, 0L, 0L),
BY2007 = c(0L, 0L, 0L, 10775L, 4166L, 4958L, 16221L, 29401L,
34951L, 33188L, 146044L, 105007L, 185297L, 159682L, 207537L,
140694L, 128275L, 44274L, 27079L, 18928L, 10437L, 29984L,
18395L, 25846L, 4573L, 31995L, 3679L, 1043L, 9636L, 1524L,
827L, 7009L, 233L, 433L, 0L, 1103L, 257L, 128L, 66L, 70L,
535L, 429L, 97L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
BY2006 = c(0L, 707L, 2390L, 8860L, 24430L, 40885L, 72792L,
205521L, 344493L, 662973L, 526409L, 631953L, 850491L, 842678L,
445987L, 558152L, 332032L, 174326L, 80601L, 48696L, 98571L,
103563L, 149469L, 78081L, 182478L, 2158L, 16566L, 4027L,
2655L, 1112L, 567L, 2595L, 4976L, 6336L, 294L, 1758L, 291L,
203L, 450L, 1098L, 788L, 195L, 532L, 0L, 0L, 0L, 0L, 0L,
0L, 167L, 0L, 0L, 0L), BY2005 = c(0L, 0L, 868L, 2044L, 4064L,
6049L, 9399L, 13304L, 45172L, 242155L, 476864L, 712534L,
1058409L, 2115018L, 1510342L, 1138213L, 333192L, 158820L,
94379L, 348882L, 39290L, 29701L, 47258L, 69837L, 7884L, 49338L,
22168L, 19397L, 19397L, 15984L, 8688L, 1200L, 1623L, 1291L,
1356L, 707L, 875L, 875L, 222L, 883L, 0L, 0L, 129L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L)), .Names = c(week, BY2010,
BY2009, BY2008, BY2007, BY2006, BY2005), class =  
data.frame,

row.names = c(NA,
-53L))
winter
 w_melt - melt(winter,id=week,variable=year);str(w_melt)
 #  Reorder DOESN'T WORK
 w_melt -
reorder(w_melt 
$year,c(BY2005,BY2009,BY2006,BY2008,BY2007,BY2010))
Let's drop you misguided use of reorder and use the correct method for  
reversing the print order of a factor. (Let's also drop the misguided  
assignment of a factor to what is the name of hte entire dataset.)



 w_melt$year - factor(w_melt$year, levels= rev(levels(w_melt$year) ) )
# Should reverse the order


pdf(wtest.pdf)
ggplot(w_melt,aes(week,value/1000,colour)) + geom_line(size=.75)+   
theme_bw() +

opts(title=Cumulative,axis.text.x = theme_text(angle=45,hjust=1)) +
 labs(y=Number of individuals X 1,000,x=week)
dev.off()

Felipe D. Carrillo
Supervisory Fishery Biologist
Department of the Interior
US Fish  Wildlife Service
California, USA



- Original Message 

From: David Winsemius dwinsem...@comcast.net
To: r-help Help r-h...@stat.math.ethz.ch
Sent: Mon, August 30, 2010 2:49:15 PM
Subject: Re: [R] reordering levels error


On Aug 30, 2010, at 5:25 PM, Felipe Carrillo wrote:


Please consider the following dataset:
I want to reorder the levels by year but get the following error:

Error in tapply(v, x, FUN, ...) : arguments must have same length

I suspect that I need to add the levels before I melt the dataset
  but either way I have only use 'reorder' once before and can't  
figure

  out how it works..Thanks for any advice.

winter - (list(week = c(26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L,


I believe you omitted a necessarystructure call above.


34L, 35L, 36L, 37L

Re: [R] reordering levels error

2010-08-30 Thread Dennis Murphy
Hi:

I don't know if this is exactly what you wanted, but here goes. I made
a few adjustments in the data frame before calling ggplot():

# library(ggplot2)

# Reorient the order in which variables appear
winter - winter[, c(1, 7, 3, 6, 4, 5, 2)]

# Get rid of second week 26 at the end
winter2 - winter[-53, ]

# Create an ordered factor for labeling the weeks
wkord - c(26:52, 1:25)
winter2$week - ordered(winter2$week, levels = wkord)

# melt the data frame
w - melt(winter2, id = 'week')

# create ordered factor for year
w$year - substring(as.character(w$variable), 3, 6)
w$year - factor(w$year, levels = c(2005, 2009, 2006, 2008, 2007, 2010),
  ordered = TRUE)

# x variable in ggplot() must be continuous for geom_line() to work
g - ggplot(w,aes(x = wk, y = value/1000, colour = year))

# Plot with week numbers on x-axis, rotated and resized for presentation
g + geom_line() + scale_x_continuous(breaks = 1:52, labels = levels(w$week))
+
 opts(axis.text.x = theme_text(angle = 90, vjust = 0.5, hjust = 1, size =
7))

HTH,
Dennis

On Mon, Aug 30, 2010 at 2:25 PM, Felipe Carrillo
mazatlanmex...@yahoo.comwrote:

 Please consider the following dataset:
 I want to reorder the levels by year but get the following error:

 Error in tapply(v, x, FUN, ...) : arguments must have same length

 I suspect that I need to add the levels before I melt the dataset
  but either way I have only use 'reorder' once before and can't figure
  out how it works..Thanks for any advice.

 winter - (list(week = c(26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L,
 34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
 47L, 48L, 49L, 50L, 51L, 52L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L,
 22L, 23L, 24L, 25L, 26L), BY2010 = c(0L, 0L, 460L, 1126L, 1755L,
 11153L, 27998L, 56336L, 12486L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
 0L, 0L, 0L, 0L), BY2009 = c(0L, 95L, 341L, 373L, 2859L, 5769L,
 33263L, 98435L, 345339L, 622621L, 349958L, 531232L, 652803L,
 345358L, 142991L, 148883L, 957501L, 32495L, 14862L, 7210L, 9765L,
 6846L, 5067L, 6201L, 3045L, 106230L, 1183L, 195L, 6855L, 10261L,
 4179L, 650L, 240L, 165L, 1189L, 863L, 562L, 1350L, 188L, 479L,
 770L, 0L, 558L, 314L, 147L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
 BY2008 = c(0L, 0L, 77L, 124L, 159L, 2376L, 9480L, 17314L,
 99574L, 323679L, 198211L, 93630L, 129183L, 111820L, 71260L,
 35241L, 14020L, 20778L, 21694L, 15016L, 13400L, 9187L, 3607L,
 2804L, 2417L, 5291L, 16216L, 898L, 558L, 709L, 972L, 61L,
 372L, 3086L, 10108L, 4295L, 882L, 2593L, 36L, 233L, 243L,
 0L, 70L, 272L, 308L, 134L, 40L, 0L, 0L, 0L, 0L, 0L, 0L),
 BY2007 = c(0L, 0L, 0L, 10775L, 4166L, 4958L, 16221L, 29401L,
 34951L, 33188L, 146044L, 105007L, 185297L, 159682L, 207537L,
 140694L, 128275L, 44274L, 27079L, 18928L, 10437L, 29984L,
 18395L, 25846L, 4573L, 31995L, 3679L, 1043L, 9636L, 1524L,
 827L, 7009L, 233L, 433L, 0L, 1103L, 257L, 128L, 66L, 70L,
 535L, 429L, 97L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
 BY2006 = c(0L, 707L, 2390L, 8860L, 24430L, 40885L, 72792L,
 205521L, 344493L, 662973L, 526409L, 631953L, 850491L, 842678L,
 445987L, 558152L, 332032L, 174326L, 80601L, 48696L, 98571L,
 103563L, 149469L, 78081L, 182478L, 2158L, 16566L, 4027L,
 2655L, 1112L, 567L, 2595L, 4976L, 6336L, 294L, 1758L, 291L,
 203L, 450L, 1098L, 788L, 195L, 532L, 0L, 0L, 0L, 0L, 0L,
 0L, 167L, 0L, 0L, 0L), BY2005 = c(0L, 0L, 868L, 2044L, 4064L,
 6049L, 9399L, 13304L, 45172L, 242155L, 476864L, 712534L,
 1058409L, 2115018L, 1510342L, 1138213L, 333192L, 158820L,
 94379L, 348882L, 39290L, 29701L, 47258L, 69837L, 7884L, 49338L,
 22168L, 19397L, 19397L, 15984L, 8688L, 1200L, 1623L, 1291L,
 1356L, 707L, 875L, 875L, 222L, 883L, 0L, 0L, 129L, 0L, 0L,
 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L)), .Names = c(week, BY2010,
 BY2009, BY2008, BY2007, BY2006, BY2005), class = data.frame,
 row.names = c(NA,
 -53L))
  str(winter)
  w_melt - melt(winter,id=week,variable=year);str(w_melt)
  #  Reorder DOESN'T WORK
  w_melt -

 reorder(w_melt$year,c(BY2005,BY2009,BY2006,BY2008,BY2007,BY2010))
 pdf(wtest.pdf)
 ggplot(w_melt,aes(week,value/1000,colour=year,order= - as.numeric(year))) +
 geom_line(size=.75)+  theme_bw() +
 opts(title=Cumulative,axis.text.x = theme_text(angle=45,hjust=1)) +
  labs(y=Number of individuals X 1,000,x=week)
 dev.off()

 Felipe D. Carrillo
 Supervisory Fishery Biologist
 Department of the Interior
 US Fish  Wildlife Service
 California, USA




 __
 R-help@r-project.org 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.


[[alternative HTML version deleted]]


Re: [R] reordering levels error

2010-08-30 Thread Felipe Carrillo

 Thanks Dennis:
I always seem to have a hard time defining levels. That's exactly what I 
needed. 

 


From: Dennis Murphy djmu...@gmail.com
To: Felipe Carrillo mazatlanmex...@yahoo.com
Cc: r-h...@stat.math.ethz.ch
Sent: Mon, August 30, 2010 5:41:02 PM
Subject: Re: [R] reordering levels error

Hi:

I don't know if this is exactly what you wanted, but here goes. I made
a few adjustments in the data frame before calling ggplot():

# library(ggplot2)

# Reorient the order in which variables appear
winter - winter[, c(1, 7, 3, 6, 4, 5, 2)]

# Get rid of second week 26 at the end
winter2 - winter[-53, ]

# Create an ordered factor for labeling the weeks
wkord - c(26:52, 1:25)
winter2$week - ordered(winter2$week, levels = wkord)

# melt the data frame
w - melt(winter2, id = 'week')

# create ordered factor for year
w$year - substring(as.character(w$variable), 3, 6)
w$year - factor(w$year, levels = c(2005, 2009, 2006, 2008, 2007, 2010),
  ordered = TRUE)

# x variable in ggplot() must be continuous for geom_line() to work
g - ggplot(w,aes(x = wk, y = value/1000, colour = year))

# Plot with week numbers on x-axis, rotated and resized for presentation
g + geom_line() + scale_x_continuous(breaks = 1:52, labels = levels(w$week)) +
 opts(axis.text.x = theme_text(angle = 90, vjust = 0.5, hjust = 1, size = 7))

HTH,
Dennis


On Mon, Aug 30, 2010 at 2:25 PM, Felipe Carrillo mazatlanmex...@yahoo.com 
wrote:

Please consider the following dataset:
I want to reorder the levels by year but get the following error:

Error in tapply(v, x, FUN, ...) : arguments must have same length
 
I suspect that I need to add the levels before I melt the dataset
 but either way I have only use 'reorder' once before and can't figure
 out how it works..Thanks for any advice.
 
winter - (list(week = c(26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L,
34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
47L, 48L, 49L, 50L, 51L, 52L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L,
22L, 23L, 24L, 25L, 26L), BY2010 = c(0L, 0L, 460L, 1126L, 1755L,
11153L, 27998L, 56336L, 12486L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L), BY2009 = c(0L, 95L, 341L, 373L, 2859L, 5769L,
33263L, 98435L, 345339L, 622621L, 349958L, 531232L, 652803L,
345358L, 142991L, 148883L, 957501L, 32495L, 14862L, 7210L, 9765L,
6846L, 5067L, 6201L, 3045L, 106230L, 1183L, 195L, 6855L, 10261L,
4179L, 650L, 240L, 165L, 1189L, 863L, 562L, 1350L, 188L, 479L,
770L, 0L, 558L, 314L, 147L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
    BY2008 = c(0L, 0L, 77L, 124L, 159L, 2376L, 9480L, 17314L,
    99574L, 323679L, 198211L, 93630L, 129183L, 111820L, 71260L,
    35241L, 14020L, 20778L, 21694L, 15016L, 13400L, 9187L, 3607L,
    2804L, 2417L, 5291L, 16216L, 898L, 558L, 709L, 972L, 61L,
    372L, 3086L, 10108L, 4295L, 882L, 2593L, 36L, 233L, 243L,
    0L, 70L, 272L, 308L, 134L, 40L, 0L, 0L, 0L, 0L, 0L, 0L),
    BY2007 = c(0L, 0L, 0L, 10775L, 4166L, 4958L, 16221L, 29401L,
    34951L, 33188L, 146044L, 105007L, 185297L, 159682L, 207537L,
    140694L, 128275L, 44274L, 27079L, 18928L, 10437L, 29984L,
    18395L, 25846L, 4573L, 31995L, 3679L, 1043L, 9636L, 1524L,
    827L, 7009L, 233L, 433L, 0L, 1103L, 257L, 128L, 66L, 70L,
    535L, 429L, 97L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
    BY2006 = c(0L, 707L, 2390L, 8860L, 24430L, 40885L, 72792L,
    205521L, 344493L, 662973L, 526409L, 631953L, 850491L, 842678L,
    445987L, 558152L, 332032L, 174326L, 80601L, 48696L, 98571L,
    103563L, 149469L, 78081L, 182478L, 2158L, 16566L, 4027L,
    2655L, 1112L, 567L, 2595L, 4976L, 6336L, 294L, 1758L, 291L,
    203L, 450L, 1098L, 788L, 195L, 532L, 0L, 0L, 0L, 0L, 0L,
    0L, 167L, 0L, 0L, 0L), BY2005 = c(0L, 0L, 868L, 2044L, 4064L,
    6049L, 9399L, 13304L, 45172L, 242155L, 476864L, 712534L,
    1058409L, 2115018L, 1510342L, 1138213L, 333192L, 158820L,
    94379L, 348882L, 39290L, 29701L, 47258L, 69837L, 7884L, 49338L,
    22168L, 19397L, 19397L, 15984L, 8688L, 1200L, 1623L, 1291L,
    1356L, 707L, 875L, 875L, 222L, 883L, 0L, 0L, 129L, 0L, 0L,
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L)), .Names = c(week, BY2010,
BY2009, BY2008, BY2007, BY2006, BY2005), class = data.frame,
row.names = c(NA,
-53L))
 str(winter)
 w_melt - melt(winter,id=week,variable=year);str(w_melt)
 #  Reorder DOESN'T WORK
 w_melt -
reorder(w_melt$year,c(BY2005,BY2009,BY2006,BY2008,BY2007,BY2010))
pdf(wtest.pdf)
ggplot(w_melt,aes(week,value/1000,colour=year,order= - as.numeric(year))) +
geom_line(size=.75)+  theme_bw() +
opts(title=Cumulative,axis.text.x = theme_text(angle=45,hjust=1)) +
 labs(y=Number of individuals X 1,000,x=week)
dev.off()
 
Felipe D. Carrillo
Supervisory Fishery Biologist
Department of the Interior
US Fish  Wildlife Service
California, USA




__
R-help@r-project.org mailing list
https