Hi, a question about the circular mean function in the package CircStats: Can anyone shed some light on why the circ mean function seems to make sense for the first 2 set of bearings and then the mean of 225 and 45 degrees gives an unexpected 180 deg.
> deg(circ.mean(c(rad(222),rad(45))))%%360 [1] 133.5 > deg(circ.mean(c(rad(224),rad(45))))%%360 [1] 134.5 > deg(circ.mean(c(rad(225),rad(45))))%%360 [1] 180 > deg(circ.mean(c(rad(226),rad(45))))%%360 [1] 315.5 Can anyone explain this??? This problem was first detected when I was trying to take the circ weighted means of my data: With 2 groups of bearings: x <- c(270,180) y <- c(45,270) the circular mean of these bearings gives: > deg(circ.mean(c(rad(x),rad(y))))%%360 [1] 257.2356 When finding the weighted means I get this: > meany <- circ.mean(rad(y)) > meanx <- circ.mean(rad(x)) > deg(circ.weighted.mean(c(meanx,meany),c(2,2)))%%360 [1] 281.25 The function for weighted mean I am using: circ.weighted.mean <- function (x,w) { sinr <- sum(w*sin(x)) cosr <- sum(w*cos(x)) circmean <- atan(sinr, cosr) circmean } I am assuming that the problem that mention above is the cause of the different mean bearings. Am I missing something fundamental here? Thanks, Mike ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html