[R-sig-eco] Multiple count if style "queries"

Chris Mcowen chrismcowen at gmail.com
Sat May 21 00:20:36 CEST 2011


Thank you.

Chris
On 20 May 2011, at 23:14, Peter Solymos wrote:

On Fri, May 20, 2011 at 4:04 PM, Chris Mcowen <chrismcowen at gmail.com> wrote:
> Thanks Peter,
> 
> This is what i am after but i would like this ( the counts) for each ECO_NAME not the total for the entire data set.
> 
> A sample of my data is below
> 
> data2 <- structure(list(ECO_NAME = structure(c(1L, 1L, 2L, 2L, 2L, 2L,
> 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L,
> 3L, 3L, 3L, 3L, 3L), .Label = c("Biak-Numfoor rain forests",
> "Central Range montane rain forests", "Huon Peninsula montane rain forests"
> ), class = "factor"), Order = structure(c(1L, 2L, 1L, 2L, 2L,
> 2L, 2L, 2L, 2L, 2L, 2L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L,
> 2L, 2L, 2L, 2L, 4L, 4L), .Label = c("Alismatales", "Asparagales",
> "Commelinales", "Poales", "Zingiberales"), class = "factor"),
>    Family = structure(c(1L, 7L, 1L, 6L, 7L, 7L, 7L, 7L, 7L,
>    7L, 7L, 3L, 2L, 4L, 4L, 5L, 8L, 8L, 9L, 9L, 9L, 7L, 7L, 7L,
>    7L, 2L, 8L), .Label = c("Araceae", "Centrolepidaceae", "Commelinaceae",
>    "Cyperaceae", "Eriocaulaceae", "Lomandraceae", "Orchidaceae",
>    "Poaceae", "Zingiberaceae"), class = "factor"), Genus = structure(c(13L,
>    3L, 13L, 6L, 19L, 9L, 20L, 4L, 4L, 9L, 9L, 15L, 5L, 14L,
>    10L, 11L, 17L, 16L, 1L, 8L, 2L, 18L, 7L, 19L, 12L, 5L, 16L
>    ), .Label = c("Alpinia", "Amomum", "Bromheadia", "Bulbophyllum",
>    "Centrolepis", "Cordyline", "Corybas", "Curcuma", "Dendrobium",
>    "Eleocharis", "Eriocaulon", "Glomera", "Homalomena", "Machaerina",
>    "Murdannia", "Poa", "Schizostachyum", "Taeniophyllum", "Thelymitra",
>    "Vanda"), class = "factor")), .Names = c("ECO_NAME", "Order",
> "Family", "Genus"), class = "data.frame", row.names = c(NA, -27L
> ))

Chris,

How about this? (Note that summed incidences are the same for all
taxonomic levels.)

> data.frame(unique.Genus=rowSums(xtabs(~ ECO_NAME + Genus, data2) > 0),
+     unique.Family=rowSums(xtabs(~ ECO_NAME + Family, data2) > 0),
+     unique.Order=rowSums(xtabs(~ ECO_NAME + Order, data2) > 0),
+     incidences.Genus=rowSums(xtabs(~ ECO_NAME + Genus, data2)),
+     incidences.Family=rowSums(xtabs(~ ECO_NAME + Family, data2)),
+     incidences.Order=rowSums(xtabs(~ ECO_NAME + Order, data2)))
                                   unique.Genus unique.Family unique.Order
Biak-Numfoor rain forests                      2             2            2
Central Range montane rain forests            16             9            5
Huon Peninsula montane rain forests            6             3            2
                                   incidences.Genus incidences.Family
Biak-Numfoor rain forests                          2                 2
Central Range montane rain forests                19                19
Huon Peninsula montane rain forests                6                 6
                                   incidences.Order
Biak-Numfoor rain forests                          2
Central Range montane rain forests                19
Huon Peninsula montane rain forests                6

Peter

> 
> 
> On 20 May 2011, at 22:32, Peter Solymos wrote:
> 
> Chris,
> 
> Something like this should do the job:
> 
> 1.
> rowSums(xtabs(~ ECO_NAME + Genus, x) > 0)
> 2.
> rowSums(xtabs(~ ECO_NAME + Genus, x))
> 
> Cheers,
> 
> Peter
> 
> 
> 
> On Fri, May 20, 2011 at 3:19 PM, Chris Mcowen <chrismcowen at gmail.com> wrote:
>> Dear List,
>> 
>> I am looking to calculate two things from my data frame and was after some advice. For the example below i want to know.
>> 
>> 1. How many unique Orders/Families and Genera there are per eco-name
>> 
>> 2. How many incidences are there for each Order/Family and Genus there are per eco-region
>> 
>> I have 650 econame.
>> 
>> I.e for Biak-Numfoor rain forests there are 2 orders, 2 families and two genera. Also, Alismatales are represented once, Asparagales once etc etc.
>> 
>> Thanks for any advice.
>> 
>> Chris
>> 
>> 
>> ECO_NAME                                                        Order           Family                                  Genus
>> Biak-Numfoor rain forests                               Alismatales             Araceae                         Homalomena
>> Biak-Numfoor rain forests                               Asparagales             Orchidaceae                     Bromheadia
>> Central Range montane rain forests      Alismatales             Araceae                         Homalomena
>> Central Range montane rain forests      Asparagales             Lomandraceae            Cordyline
>> Central Range montane rain forests      Asparagales             Orchidaceae                     Thelymitra
>> Central Range montane rain forests      Asparagales             Orchidaceae                     Dendrobium
>> Central Range montane rain forests      Asparagales             Orchidaceae                     Vanda
>> Central Range montane rain forests      Asparagales             Orchidaceae                     Bulbophyllum
>> Central Range montane rain forests      Asparagales             Orchidaceae                     Bulbophyllum
>> Central Range montane rain forests      Asparagales             Orchidaceae                     Dendrobium
>> Central Range montane rain forests      Asparagales             Orchidaceae                     Dendrobium
>> Central Range montane rain forests      Commelinales    Commelinaceae           Murdannia
>> Central Range montane rain forests      Poales                  Centrolepidaceae        Centrolepis
>> Central Range montane rain forests      Poales                  Cyperaceae                      Machaerina
>> Central Range montane rain forests      Poales                  Cyperaceae                      Eleocharis
>> Central Range montane rain forests      Poales                  Eriocaulaceae           Eriocaulon
>> Central Range montane rain forests      Poales                  Poaceae                 Schizostachyum
>> Central Range montane rain forests      Poales                  Poaceae                 Poa
>> Central Range montane rain forests      Zingiberales            Zingiberaceae           Alpinia
>> Central Range montane rain forests      Zingiberales            Zingiberaceae           Curcuma
>> Central Range montane rain forests      Zingiberales            Zingiberaceae           Amomum
>> Huon Peninsula montane rain forests     Asparagales             Orchidaceae                     Taeniophyllum
>> Huon Peninsula montane rain forests     Asparagales             Orchidaceae                     Corybas
>> Huon Peninsula montane rain forests     Asparagales             Orchidaceae                     Thelymitra
>> Huon Peninsula montane rain forests     Asparagales             Orchidaceae                     Glomera
>> Huon Peninsula montane rain forests     Poales                  Centrolepidaceae        Centrolepis
>> Huon Peninsula montane rain forests     Poales                  Poaceae                 Poa
>> 
>> _______________________________________________
>> R-sig-ecology mailing list
>> R-sig-ecology at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-ecology
>> 
>> 
> 
> 



More information about the R-sig-ecology mailing list