[R] mean for each observation
arun
smartpink111 at yahoo.com
Sat May 4 05:14:03 CEST 2013
HI,
Not sure I understand it correctly.
dat1<- read.table(text="
site Year doy fish Feed swim agr_1 agr_2 agr_3 rest hide
3 2012 203 1 1 0 0 0 0 0 0
3 2012 203 1 0 1 0 0 0 0 0
3 2012 203 1 0 1 0 0 0 0 0
3 2012 203 2 0 0 0 0 0 1 0
3 2012 203 2 1 0 0 0 0 0 0
3 2012 203 2 1 0 0 0 0 0 0
4 2012 197 1 0 0 0 0 0 1 0
4 2012 197 1 1 0 0 0 0 0 0
4 2012 197 1 0 1 0 0 0 0 0
4 2012 197 3 0 0 0 0 0 0 1
4 2012 197 3 1 0 0 0 0 0 0
",sep="",header=TRUE)
dat2<-reshape(dat1,direction="long",varying=7:9,sep="_")
row.names(dat2)<- 1:nrow(dat2)
head(dat2)
# site Year doy fish Feed swim rest hide time agr id
#1 3 2012 203 1 1 0 0 0 1 0 1
#2 3 2012 203 1 0 1 0 0 1 0 2
#3 3 2012 203 1 0 1 0 0 1 0 3
#4 3 2012 203 2 0 0 1 0 1 0 4
#5 3 2012 203 2 1 0 0 0 1 0 5
#6 3 2012 203 2 1 0 0 0 1 0 6
library(plyr)
#fish, year, site
ddply(dat2,.(fish,Year,site),function(x) numcolwise(mean)(x[,c(5:8)]))
# fish Year site Feed swim rest hide
#1 1 2012 3 0.3333333 0.6666667 0.0000000 0.0
#2 1 2012 4 0.3333333 0.3333333 0.3333333 0.0
#3 2 2012 3 0.6666667 0.0000000 0.3333333 0.0
#4 3 2012 4 0.5000000 0.0000000 0.0000000 0.5
#fish
ddply(dat2,.(fish),function(x) numcolwise(mean)(x[,c(5:8)]))
# fish Feed swim rest hide
#1 1 0.3333333 0.5 0.1666667 0.0
#2 2 0.6666667 0.0 0.3333333 0.0
#3 3 0.5000000 0.0 0.0000000 0.5
A.K.
>Hi
>I did fish behavior at different sites.
>Each fish represent a rep at each site.
>e.g for my data
>site Year doy fish Feed swim agr_1 agr_2 agr_3 rest hide
>3 2012 203 1 1 0 0 0 0 0 0
>3 2012 203 1 0 1 0 0 0 0 0
>3 2012 203 1 0 1 0 0 0 0 0
>3 2012 203 2 0 0 0 0 0 1 0
>3 2012 203 2 1 0 0 0 0 0 0
>3 2012 203 2 1 0 0 0 0 0 0
>4 2012 197 1 0 0 0 0 0 1 0
>4 2012 197 1 1 0 0 0 0 0 0
>4 2012 197 1 0 1 0 0 0 0 0
>4 2012 197 3 0 0 0 0 0 0 1
>4 2012 197 3 1 0 0 0 0 0 0
>
>1. I would like to combine column agr_1, agr_2 and agr_3
>2. How to calculate mean for each fish for each behavior
>Any suggestion is appreciated.
Thanks
More information about the R-help
mailing list