[R] Average row and column
David Winsemius
dwinsemius at comcast.net
Thu Mar 15 16:12:28 CET 2012
On Mar 15, 2012, at 10:23 AM, MSousa wrote:
> Sorry, I ll explain better.
>
> For example in the next dataset,
>
> x<-data.frame(v_source=3,v_destine=3,dist=4)
> x<-rbind(x,data.frame(v_source=7,v_destine=7,dist=0))
> x<-rbind(x,data.frame(v_source=6,v_destine=6,dist=0))
> x<-rbind(x,data.frame(v_source=4,v_destine=4,dist=56))
> x<-rbind(x,data.frame(v_source=4,v_destine=3,dist=61))
> x<-rbind(x,data.frame(v_source=3,v_destine=3,dist=300))
> x<-rbind(x,data.frame(v_source=3,v_destine=3,dist=27))
> x<-rbind(x,data.frame(v_source=3,v_destine=3,dist=87))
> x<-rbind(x,data.frame(v_source=3,v_destine=4,dist=49))
>
>
> when execute this instruction gives
> res<-table(x$v_source,x$v_destine)
> 3 4 6 7
> 3 4 1 0 0
> 4 1 1 0 0
> 6 0 0 1 0
> 7 0 0 0 1
>
> my idea is that if possible, is an array like this, but instead of
> having
> the frequency, appears the minimum or average. Appears 4 times,
> instead of
> the value displayed in the matrix 4, show the average values. In the
> case
> mean 104.5 average(4, 300,27,87).
>
>
> The idea was to the average value for each combination of row and
> column.
> the idea is to get something like the following matrix.
>
> 3 4 6 7
> 3 104.5 49 0 0
> 4 61 56 0 0
> 6 0 0 1 0
> 7 0 0 0 1
Oh, then you want 'tapply':
> tapply(x$dist, list(x$v_source, x$v_destine), mean)
3 4 6 7
3 104.5 49 NA NA
4 61.0 56 NA NA
6 NA NA 0 NA
7 NA NA NA 0
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Average-row-and-column-tp4474524p4475146.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.
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list