Hi all.

I have a community analysis data manipulation puzzle for you... hopefully 
someone can help. Please let me know if this question needs clarification, has 
previously been answered, or would be better sent to a different list.

Details follow.

Thank you,

Kate

---

Here is a simplified version of my problem:

I ran a community manipulation experiment with 7 reps of 2 treatments, for a 
total of 14 communities. Communities 1-7 are in Treatment 1 and 8-14 are in 
Treatment 2. I identified 5 taxa in the 14 communities and calculated a 
community dissimilarity matrix (14*14). Now I would like to decompose the 
distance matrix into a dataframe with the following column headings: 
community1s, community2s, withinORbetweenTRT, and distance. “Within or between 
treatment” indicates if the distance is between two communities within the same 
treatment or between the two treatments (values of 0 or 1).

I did it by hand below to demonstrate, but my actual dataset has 100 
communities so I need to figure out how to automate it...

df<-data.frame(cbind(1:14, 18:5, 3:16, 14:1, 16:3)) #random values

dist<-dist(df)

distance<-as.vector(dist)

community1s<-c(1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,

4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,

8,8,8,8,8,8,9,9,9,9,9,10,10,10,10,11,11,11,12,12,13)

community2s<-c(2,3,4,5,6,7,8,9,10,11,12,13,14,3,4,5,6,7,8,9,10,11,12,13,14,

4,5,6,7,8,9,10,11,12,13,14,5,6,7,8,9,10,11,12,13,14,

6,7,8,9,10,11,12,13,14,7,8,9,10,11,12,13,14,

8,9,10,11,12,13,14,9,10,11,12,13,14,10,11,12,13,14,

11,12,13,14,12,13,14,13,14,14)

#now I need a column for whether or not the comparison is within treatment or

#between treatments. I ordered the sites by treatment so sites 1-7 are in 
treatment1

#and 8-14 are in treatment2. 0 is within and 1 is between.

withinORbetweenTRT<-c(0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,

1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,

1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0)

#now I can assemble the dataframe:

final.df<-cbind(community1s, community2s, withinORbetweenTRT, distance)

final.df

I would appreciate any ideas!

-- 
Kate Boersma, PhD
Department of Biology
University of San Diego
5998 Alcala Park
San Diego CA 92110
kateboer...@gmail.com
http://www.oregonstate.edu/~boersmak/

Kate S. Boersma, Ph.D.
kateboer...@gmail.com
http://people.oregonstate.edu/~boersmak/

Department of Biology
University of San Diego
5998 Alcala Park
San Diego, CA 92110


        [[alternative HTML version deleted]]

_______________________________________________
R-sig-ecology mailing list
R-sig-ecology@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-ecology

Reply via email to