[R] Binding objects with a similar name
jimdare
jamesdare26 at gmail.com
Tue Oct 13 05:34:55 CEST 2009
Thanks Jim,
Further from this; the data I have doen't appear to be that complete for
some species e.g
result$MOO
1992 2000 2002
3060 1300 1300
How can I change this list into a time series so that I can create a
meaningful plot e.g.
1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005
3060 0 0 0 0 0 0 0 1300 0 1300 0
0 0
2006 2007 2008 2009
0 0 0 0
Once again, your help is much appreciated.
James
jholtman wrote:
>
> Instead of creating a lot of variables, work with a list. Since you
> did not supply any test data, I will make a guess at the code would be
> like:
>
> result <- lapply(split(newdataset, newdataset$target_species),
> function(.spec){
> tappy(.spec$total_hook_num, .spec$year, sum)
> })
>
> You can summarize from this list to the species easily by something like
> this:
>
> sapply(result, sum)
>
> but I would have to see the data to be sure.
>
> On Mon, Oct 12, 2009 at 4:26 PM, jimdare <jamesdare26 at gmail.com> wrote:
>>
>> Dear R users,
>>
>> The code below splits a dataset by "target_species" and then further
>> splits
>> each target species group by year. Finally the sum of a variable called
>> "total_hook_num" is calculated and then assigned a name based on
>> (paste(a$target_species[1],a$year[1],sep="").
>>
>> newsplit<-split(newdataset,list(newdataset$target_species))
>> for(i in newsplit){
>>
>> by.year<-split(i,list(i$year))
>> for(a in by.year){
>> assign(paste(a$target_species[1],a$year[1],sep=""),sum(a$total_hook_num))
>> }
>> }
>>
>> The end result is a single value for the number of hooks in a particular
>> year for a particular species (e.g. YFN2005<-2320) for every
>> species/year.
>> This results in number of individual objects being created, as you can
>> see
>> from ls(). I need to bind objects that have the same "target_speices"
>> name,
>> in order of year e.g. ALBtimeseries<-cbind(ALB1989,
>> ALB2990,.....,ALB2009).
>>
>> My questions are: is there a way to do this by working cbind into the
>> loop;
>> and if not, is there a way to bind objects that have a common name e.g.
>> all
>> ALB****?
>>
>> Thank you very much for your time, it's much appreciated.
>> James
>>
>>> ls()
>> [1] "a" "ALB1989" "ALB1990" "ALB1991" "ALB1992"
>> [6] "ALB1993" "ALB1994" "ALB1995" "ALB1996" "ALB1997"
>> [11] "ALB1998" "ALB1999" "ALB2000" "ALB2001" "ALB2002"
>> [16] "ALB2003" "ALB2004" "ALB2005" "ALB2006" "ALB2007"
>> [21] "ALB2008" "ALB2009" "BIG1990" "BIG1991" "BIG1992"
>> [26] "BIG1993" "BIG1994" "BIG1995" "BIG1996" "BIG1997"
>> [31] "BIG1998" "BIG1999" "BIG2000" "BIG2001" "BIG2002"
>> [36] "BIG2003" "BIG2004" "BIG2005" "BIG2006" "BIG2007"
>> [41] "BIG2008" "BIG2009" "BTU1992" "BTU2001" "BTU2004"
>> [46] "BWS2000" "by.year" "data1" "data2" "datacomb"
>> [51] "i" "logic" "logic2" "MAK1992" "MOO1992"
>> [56] "MOO2000" "MOO2002" "newdataset" "newsplit" "NTU1994"
>> [61] "NTU1995" "NTU1996" "NTU1997" "NTU1998" "NTU1999"
>> [66] "NTU2000" "NTU2001" "NTU2002" "NTU2003" "NTU2004"
>> [71] "NTU2005" "NTU2007" "NTU2008" "NTU2009" "SKJ1990"
>> [76] "SKJ1996" "SKJ1998" "SKJ2003" "STM1992" "STM1995"
>> [81] "STM1996" "STM1999" "STM2000" "STM2007" "STM2008"
>> [86] "STN1990" "STN1991" "STN1992" "STN1993" "STN1994"
>> [91] "STN1995" "STN1996" "STN1997" "STN1998" "STN1999"
>> [96] "STN2000" "STN2001" "STN2002" "STN2003" "STN2004"
>> [101] "STN2005" "STN2006" "STN2007" "STN2008" "STN2009"
>> [106] "STU1994" "STU1996" "STU2000" "STU2002" "STU2004"
>> [111] "swordfish" "TOR2001" "TOR2002" "TOR2003" "TOR2004"
>> [116] "TOR2005" "TOR2006" "TOR2007" "TOR2008" "TOR2009"
>> [121] "TUN1997" "TUN1998" "TUN1999" "TUN2001" "YFN1990"
>> [126] "YFN1991" "YFN1992" "YFN1993" "YFN1994" "YFN1995"
>> [131] "YFN1996" "YFN1997" "YFN1998" "YFN1999" "YFN2000"
>> [136] "YFN2001" "YFN2002" "YFN2003" "YFN2004" "YFN2005"
>> [141] "YFN2006" "YFN2007" "YFN2008"
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Binding-objects-with-a-similar-name-tp25862663p25862663.html
>> Sent from the R help mailing list archive at Nabble.com.
>>
>> ______________________________________________
>> R-help at 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.
>>
>
>
>
> --
> Jim Holtman
> Cincinnati, OH
> +1 513 646 9390
>
> What is the problem that you are trying to solve?
>
> ______________________________________________
> R-help at 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.
>
>
--
View this message in context: http://www.nabble.com/Binding-objects-with-a-similar-name-tp25862663p25866698.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list