Hello everybody!



I’m trying to define the optimal number of surveys to detect the highest
number of species within a monitoring season/session.

To do this I want to run all the possible combinations between a set of
samples and to calculate the total number of species for each combination of
2, 3, 4 …n samples events, so that at the end I will be able to define which
is the lowest number of samples that I need to obtain the best result.



I’ve already done this operation manually, just to see if it works, but the
point is that some of my datasets have more than 30 samples and more than 35
species, so that the number of combinations will be HUGE!

So here is the question: I need to find a way for R to make all possible
combinations of samples automatically, and then to automatically return the
total number of species in every combination.

I’ve tried to search for a loop script, or something like that. However, I’m
relatively new to R and I don’t know what I need to do… Can anyone help me?



Here I’ve written a simple example of the operations I need to do, just to
make my problem clearer.



My dataset (matrix) has sample events by rows (U1,U2,U3) and detected
species by columns.



U<-read.table("C:\\Documents
\\tre_usc.txt",header=T,row.names=1,sep="\t",dec = ",")



U  # global matrix with 3 samples

SPECIE          Aadi    Aagl    Apap   Aage   Bdia    Beup   Crub    Carc
Cpam

U1                   0          0          0          0          7
0          5          0          1

U2                   0          0          0          0          4
2          1          0          0

U3                   0          0          0          0          0
0          0          0          14



First, I’ve created from this matrix all the subsets based on single
samples,



U1 <- U [c(1), ]

U2 <- U [c(2), ]

U3 <- U [c(3), ]



U1

SPECIE          Aadi    Aagl    Apap   Aage   Bdia    Beup   Crub    Carc
Cpam

U1                   0          0          0          0          7
0          5          0          1



U2

SPECIE          Aadi    Aagl    Apap   Aage   Bdia    Beup   Crub    Carc
Cpam

U2                   0          0          0          0          4
2          1          0          0

Etc…



then I’ve combined them summing each time the values of the chosen lines
(total n° of combination = 4).



U12<-U1+U2

U13<-U1+U3

U23<-U2+U3

U123<-U1+U2+U3



U12

SPECIE          Aadi    Aagl    Apap   Aage   Bdia    Beup   Crub    Carc
Cpam

U12                 0          0          0          0          11
   2
6          0          1

Etc….



Then I’ve applied the command “length” to find the number of species for
every new combination.



length(U12[U12>0])

[1]  4



length(U13[U13>0])

[1] 3

etc…



Now I need to do this with 10 and 32 sample events…….: (



Thanks for your attention!


Serena Corezzola

Centro Nazionale per lo Studio e la Conservazione della Biodiversità
Forestale, “Bosco Fontana” di Verona
Strada Mantova 29
I-46045 MARMIROLO (MN)
Italy

	[[alternative HTML version deleted]]

