I want to get the minimum arc (in degrees) needed to include a set of compass directions. I would like to use the range.circular() function of the package circular, because that package understands a compass-type of angle convention, but it gives results I don't understand. Howver, I can get the correct answer in the example below, 90 degrees, using the CircStats package. How can I make the circular package work for me?> R.version.string[1] "R version 2.6.1 (2007-11-26)"> library(circular) > y <- circular(c(45, 135), units = "degrees", template = "geographics") > range.circular(y)Circular Data: Type = angles Units = degrees Template = geographics Modulo = asis Zero = 1.570796 Rotation = clock [1] 0 Just in case range.circular() expects radians, I tried this:> range.circular(rad(y))Circular Data: Type = angles Units = degrees Template = geographics Modulo = asis Zero = 1.570796 Rotation = clock [1] 88.4292 I can get the correct answer using CircStats instead:> library(CircStats) > y <- rad(c(45, 135)) > 180*circ.range(y)/pirange 1 90 Thanks, Scott Waichler Pacific Northwest National Laboratory scott.waichler _at_ pnl.gov
> I want to get the minimum arc (in degrees) needed to include a set of > compass directions. I would like to use the range.circular() function > of the package circular, because that package understands a compass-type > of angle convention, but it gives results I don't understand. Howver, I > can get the correct answer in the example below, 90 degrees, using the > CircStats package. How can I make the circular package work for me? > > > R.version.string > [1] "R version 2.6.1 (2007-11-26)" > > > library(circular) > > y <- circular(c(45, 135), units = "degrees", template = "geographics") > > range.circular(y) > Circular Data: > Type = angles > Units = degrees > Template = geographics > Modulo = asis > Zero = 1.570796 > Rotation = clock > [1] 0Using y <- circular(c(45, 135), units = "degrees"); range.circular(y) gives the correct answer. Circular Data: Type = angles Units = degrees Template = none Modulo = asis Zero = 0 Rotation = counter [1] 90 The different answers are generated in the subfunction conversion.circular - take a look in there to see what is going on. Regards, Richie. Mathematical Sciences Unit HSL ------------------------------------------------------------------------ ATTENTION: This message contains privileged and confidential inform...{{dropped:20}}