gplots/0000755000176200001440000000000014700342363011564 5ustar liggesusersgplots/tests/0000755000176200001440000000000014700154745012733 5ustar liggesusersgplots/tests/test_plottingDeepDendrogram.R0000644000176200001440000000105613727100146020552 0ustar liggesuserssuppressMessages(library(gplots)) dat <- as.matrix(read.csv(file="dat.csv", row.names=1)) dist2 <- function(x) as.dist(1-cor(t(x), method="pearson")) hclust1 <- function(x) hclust(x, method = "single") distance <- dist2(dat) cluster <- hclust1(distance) dend <- as.dendrogram(cluster) ## R's default recursion limits will be exceeded when plotting this dendrogram try( gplots:::plot.dendrogram(dend) ) try( heatmap.2(dat, Rowv=dend) ) ## Increase them and try again options("expressions"=20000) gplots:::plot.dendrogram(dend) heatmap.2(dat, Rowv=dend) gplots/tests/heatmap_to_heatmap.2_test.R0000644000176200001440000000100213727100132020053 0ustar liggesuserssuppressMessages(library(gplots)) data(mtcars) x <- as.matrix(mtcars) ## draws expected image testHeatmap <- heatmap(x, Colv=NA, col=bluered(256), scale="column", keep.dendro=TRUE) # to prove this dendro is OK, redraw with same function: heatmap(x, Colv=NA, col=bluered(256), scale="column", keep.dendro=TRUE, Rowv=testHeatmap$Rowv) # but it doesn't work with heatmap.2() heatmap.2(x, Colv=NA, col=bluered(256), scale="column", Rowv=testHeatmap$Rowv, dendrogram="row") gplots/tests/heatmap2Test.Rout.save0000644000176200001440000003152313727100434017102 0ustar liggesusers R version 3.6.2 Patched (2020-01-11 r77654) -- "Dark and Stormy Night" Copyright (C) 2020 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > suppressMessages(library(gplots)) > data(mtcars) > x <- as.matrix(mtcars) > rc <- rainbow(nrow(x), start=0, end=.3) > cc <- rainbow(ncol(x), start=0, end=.3) > > heatmap.2(x) ## default - dendrogram plotted and reordering done. > heatmap.2(x, dendrogram="none") ## no dendrogram plotted, but reordering done. > heatmap.2(x, dendrogram="row") ## row dendrogram plotted and row reordering done. > heatmap.2(x, dendrogram="col") ## col dendrogram plotted and col reordering done. > > heatmap.2(x, keysize=2) ## default - dendrogram plotted and reordering done. > > > heatmap.2(x, Colv=FALSE) Warning message: In heatmap.2(x, Colv = FALSE) : Discrepancy: Colv is FALSE, while dendrogram is `both'. Omitting column dendogram. > heatmap.2(x, Colv=NULL) Warning message: In heatmap.2(x, Colv = NULL) : Discrepancy: Colv is FALSE, while dendrogram is `both'. Omitting column dendogram. > > heatmap.2(x, Rowv=FALSE) Warning message: In heatmap.2(x, Rowv = FALSE) : Discrepancy: Rowv is FALSE, while dendrogram is `both'. Omitting row dendogram. > heatmap.2(x, Rowv=NULL) Warning message: In heatmap.2(x, Rowv = NULL) : Discrepancy: Rowv is FALSE, while dendrogram is `both'. Omitting row dendogram. > > heatmap.2(x, Rowv=FALSE, dendrogram="both") ## generate warning! Warning message: In heatmap.2(x, Rowv = FALSE, dendrogram = "both") : Discrepancy: Rowv is FALSE, while dendrogram is `both'. Omitting row dendogram. > heatmap.2(x, Rowv=NULL, dendrogram="both") ## generate warning! Warning message: In heatmap.2(x, Rowv = NULL, dendrogram = "both") : Discrepancy: Rowv is FALSE, while dendrogram is `both'. Omitting row dendogram. > heatmap.2(x, Colv=FALSE, dendrogram="both") ## generate warning! Warning message: In heatmap.2(x, Colv = FALSE, dendrogram = "both") : Discrepancy: Colv is FALSE, while dendrogram is `both'. Omitting column dendogram. > > > > heatmap.2(x,dendrogram="both", Rowv=FALSE) ## row and col reordering done, but only col dendrogram plotted Warning message: In heatmap.2(x, dendrogram = "both", Rowv = FALSE) : Discrepancy: Rowv is FALSE, while dendrogram is `both'. Omitting row dendogram. > heatmap.2(x,dendrogram="row", Rowv=FALSE) Warning message: In heatmap.2(x, dendrogram = "row", Rowv = FALSE) : Discrepancy: Rowv is FALSE, while dendrogram is `row'. Omitting row dendogram. > > > heatmap.2(x,dendrogram="col", Rowv=FALSE) > heatmap.2(x,dendrogram="none", Rowv=FALSE) > > > heatmap.2(x,dendrogram="both", Colv=FALSE) ## row and col reordering done, but only row dendrogram plotted Warning message: In heatmap.2(x, dendrogram = "both", Colv = FALSE) : Discrepancy: Colv is FALSE, while dendrogram is `both'. Omitting column dendogram. > heatmap.2(x,dendrogram="row", Colv=FALSE) > heatmap.2(x,dendrogram="col", Colv=FALSE) Warning message: In heatmap.2(x, dendrogram = "col", Colv = FALSE) : Discrepancy: Colv is FALSE, while dendrogram is `column'. Omitting column dendogram. > heatmap.2(x,dendrogram="none", Colv=FALSE) > > ## above statement is same as heatmap.2(x,Colv=FALSE) > heatmap.2(x,dendrogram="col", Colv=FALSE) ## col reordering done, but no dendrogram plotted Warning message: In heatmap.2(x, dendrogram = "col", Colv = FALSE) : Discrepancy: Colv is FALSE, while dendrogram is `column'. Omitting column dendogram. > > > hv <- heatmap.2(x, col=cm.colors(256), scale="column", + RowSideColors=rc, ColSideColors=cc, margin=c(5, 10), + xlab="specification variables", ylab= "Car Models", + main="heatmap(, \n ..., scale=\"column\")", + tracecol="green", density="density") > > ## IGNORE_RDIFF_BEGIN > str(hv) # the two re-ordering index vectors List of 13 $ rowInd : int [1:32] 31 17 16 15 5 25 29 24 7 6 ... $ colInd : int [1:11] 2 9 8 11 6 5 10 7 1 4 ... $ call : language heatmap.2(x = x, scale = "column", col = cm.colors(256), tracecol = "green", margins = c(5, 10), ColSideColo| __truncated__ ... $ colMeans : Named num [1:11] 6.188 0.406 0.438 2.812 3.217 ... ..- attr(*, "names")= chr [1:11] "cyl" "am" "vs" "carb" ... $ colSDs : Named num [1:11] 1.786 0.499 0.504 1.615 0.978 ... ..- attr(*, "names")= chr [1:11] "cyl" "am" "vs" "carb" ... $ carpet : num [1:11, 1:32] 1.015 1.19 -0.868 3.212 0.361 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : chr [1:11] "cyl" "am" "vs" "carb" ... .. ..$ : chr [1:32] "Maserati Bora" "Chrysler Imperial" "Lincoln Continental" "Cadillac Fleetwood" ... $ rowDendrogram: ..--[dendrogram w/ 2 branches and 32 members at h = 425, midpoint = 8.58, value = 1267] .. |--[dendrogram w/ 2 branches and 9 members at h = 215, midpoint = 1.84, value = 552] .. | |--leaf "Maserati Bora" ( value.Maserati Bora = 63.2 ) .. | `--[dendrogram w/ 2 branches and 8 members at h = 135, midpoint = 2.69, value = 489] .. | |--[dendrogram w/ 2 branches and 3 members at h = 40.8, midpoint = 0.75, value = 198] .. | | |--leaf "Chrysler Imperial" ( value.Chrysler Imperial = 66 ) .. | | `--[dendrogram w/ 2 branches and 2 members at h = 15.6, midpoint = 0.5, value = 132] .. | | |--leaf "Lincoln Continental" ( value.Lincoln Continental = 66.1 ) .. | | `--leaf "Cadillac Fleetwood" ( value.Cadillac Fleetwood = 66.2 ) .. | `--[dendrogram w/ 2 branches and 5 members at h = 102, midpoint = 1.62, value = 290] .. | |--[dendrogram w/ 2 branches and 2 members at h = 40, midpoint = 0.5, value = 111] .. | | |--leaf "Hornet Sportabout" ( value.Hornet Sportabout = 53.7 ) .. | | `--leaf "Pontiac Firebird" ( value.Pontiac Firebird = 57.4 ) .. | `--[dendrogram w/ 2 branches and 3 members at h = 21.3, midpoint = 0.75, value = 179] .. | |--leaf "Ford Pantera L" ( value.Ford Pantera L = 61 ) .. | `--[dendrogram w/ 2 branches and 2 members at h = 10.1, midpoint = 0.5, value = 118] .. | |--leaf "Camaro Z28" ( value.Camaro Z28 = 58.8 ) .. | `--leaf "Duster 360" ( value.Duster 360 = 59.7 ) .. `--[dendrogram w/ 2 branches and 23 members at h = 262, midpoint = 6.33, value = 716] .. |--[dendrogram w/ 2 branches and 7 members at h = 103, midpoint = 2.06, value = 306] .. | |--[dendrogram w/ 2 branches and 2 members at h = 33.6, midpoint = 0.5, value = 73.8] .. | | |--leaf "Valiant" ( value.Valiant = 35 ) .. | | `--leaf "Hornet 4 Drive" ( value.Hornet 4 Drive = 38.7 ) .. | `--[dendrogram w/ 2 branches and 5 members at h = 51.8, midpoint = 1.62, value = 233] .. | |--[dendrogram w/ 2 branches and 2 members at h = 14, midpoint = 0.5, value = 93.2] .. | | |--leaf "AMC Javelin" ( value.AMC Javelin = 46 ) .. | | `--leaf "Dodge Challenger" ( value.Dodge Challenger = 47.2 ) .. | `--[dendrogram w/ 2 branches and 3 members at h = 2.14, midpoint = 0.75, value = 139] .. | |--leaf "Merc 450SLC" ( value.Merc 450SLC = 46.4 ) .. | `--[dendrogram w/ 2 branches and 2 members at h = 0.983, midpoint = 0.5, value = 92.9] .. | |--leaf "Merc 450SE" ( value.Merc 450SE = 46.4 ) .. | `--leaf "Merc 450SL" ( value.Merc 450SL = 46.5 ) .. `--[dendrogram w/ 2 branches and 16 members at h = 142, midpoint = 3.59, value = 409] .. |--[dendrogram w/ 2 branches and 4 members at h = 14.8, midpoint = 0.875, value = 74.9] .. | |--leaf "Honda Civic" ( value.Honda Civic = 17.7 ) .. | `--[dendrogram w/ 2 branches and 3 members at h = 10.4, midpoint = 0.75, value = 57.2] .. | |--leaf "Toyota Corolla" ( value.Toyota Corolla = 18.8 ) .. | `--[dendrogram w/ 2 branches and 2 members at h = 5.15, midpoint = 0.5, value = 38.4] .. | |--leaf "Fiat X1-9" ( value.Fiat X1-9 = 18.9 ) .. | `--leaf "Fiat 128" ( value.Fiat 128 = 19.4 ) .. `--[dendrogram w/ 2 branches and 12 members at h = 113, midpoint = 2.3, value = 334] .. |--leaf "Ferrari Dino" ( value.Ferrari Dino = 34.5 ) .. `--[dendrogram w/ 2 branches and 11 members at h = 74.4, midpoint = 3.61, value = 300] .. |--[dendrogram w/ 2 branches and 5 members at h = 64.9, midpoint = 1.25, value = 148] .. | |--leaf "Merc 240D" ( value.Merc 240D = 24.6 ) .. | `--[dendrogram w/ 2 branches and 4 members at h = 15.7, midpoint = 1.5, value = 124] .. | |--[dendrogram w/ 2 branches and 2 members at h = 0.615, midpoint = 0.5, value = 59.9] .. | | |--leaf "Mazda RX4" ( value.Mazda RX4 = 29.9 ) .. | | `--leaf "Mazda RX4 Wag" ( value.Mazda RX4 Wag = 30 ) .. | `--[dendrogram w/ 2 branches and 2 members at h = 1.52, midpoint = 0.5, value = 63.6] .. | |--leaf "Merc 280C" ( value.Merc 280C = 31.8 ) .. | `--leaf "Merc 280" ( value.Merc 280 = 31.9 ) .. `--[dendrogram w/ 2 branches and 6 members at h = 50.1, midpoint = 0.969, value = 152] .. |--leaf "Lotus Europa" ( value.Lotus Europa = 24.9 ) .. `--[dendrogram w/ 2 branches and 5 members at h = 33.2, midpoint = 0.938, value = 127] .. |--leaf "Merc 230" ( value.Merc 230 = 27.2 ) .. `--[dendrogram w/ 2 branches and 4 members at h = 20.7, midpoint = 0.875, value = 99.5] .. |--leaf "Volvo 142E" ( value.Volvo 142E = 26.3 ) .. `--[dendrogram w/ 2 branches and 3 members at h = 13.1, midpoint = 0.75, value = 73.3] .. |--leaf "Datsun 710" ( value.Datsun 710 = 23.6 ) .. `--[dendrogram w/ 2 branches and 2 members at h = 8.65, midpoint = 0.5, value = 49.7] .. |--leaf "Porsche 914-2" ( value.Porsche 914-2 = 24.8 ) .. `--leaf "Toyota Corona" ( value.Toyota Corona = 24.9 ) $ colDendrogram: ..--[dendrogram w/ 2 branches and 11 members at h = 1475, midpoint = 7, value = 436] .. |--[dendrogram w/ 2 branches and 9 members at h = 116, midpoint = 4.5, value = 58.3] .. | |--[dendrogram w/ 2 branches and 7 members at h = 34.8, midpoint = 1.5, value = 20.3] .. | | |--leaf "cyl" ( value.cyl = 6.19 ) .. | | `--[dendrogram w/ 2 branches and 6 members at h = 18.9, midpoint = 2, value = 14.2] .. | | |--[dendrogram w/ 2 branches and 2 members at h = 3.61, midpoint = 0.5, value = 0.844] .. | | | |--leaf "am" ( value.am = 0.406 ) .. | | | `--leaf "vs" ( value.vs = 0.438 ) .. | | `--[dendrogram w/ 2 branches and 4 members at h = 10.7, midpoint = 1.5, value = 13.3] .. | | |--[dendrogram w/ 2 branches and 2 members at h = 8.6, midpoint = 0.5, value = 6.03] .. | | | |--leaf "carb" ( value.carb = 2.81 ) .. | | | `--leaf "wt" ( value.wt = 3.22 ) .. | | `--[dendrogram w/ 2 branches and 2 members at h = 2.98, midpoint = 0.5, value = 7.28] .. | | |--leaf "drat" ( value.drat = 3.6 ) .. | | `--leaf "gear" ( value.gear = 3.69 ) .. | `--[dendrogram w/ 2 branches and 2 members at h = 33.3, midpoint = 0.5, value = 37.9] .. | |--leaf "qsec" ( value.qsec = 17.8 ) .. | `--leaf "mpg" ( value.mpg = 20.1 ) .. `--[dendrogram w/ 2 branches and 2 members at h = 657, midpoint = 0.5, value = 377] .. |--leaf "hp" ( value.hp = 147 ) .. `--leaf "disp" ( value.disp = 231 ) $ breaks : num [1:257] -3.21 -3.19 -3.16 -3.14 -3.11 ... $ col : chr [1:256] "#80FFFFFF" "#80FFFFFF" "#81FFFFFF" "#82FFFFFF" ... $ vline : num 0 $ colorTable :'data.frame': 256 obs. of 3 variables: ..$ low : num [1:256] -3.21 -3.19 -3.16 -3.14 -3.11 ... ..$ high : num [1:256] -3.19 -3.16 -3.14 -3.11 -3.09 ... ..$ color: Factor w/ 254 levels "#80FFFFFF","#81FFFFFF",..: 1 1 2 3 4 5 6 7 8 9 ... $ layout :List of 3 ..$ lmat: num [1:3, 1:3] 6 0 4 0 0 1 5 2 3 ..$ lhei: num [1:3] 1.5 0.2 4 ..$ lwid: num [1:3] 1.5 0.2 4 > ## IGNORE_RDIFF_END > > ## Test row and column separators > heatmap.2(x,dendrogram="col", colsep=1) ## one colsep > heatmap.2(x,dendrogram="col", rowsep=1) ## one rowsep > > heatmap.2(x,dendrogram="col", colsep=1:2) ## two colseps > heatmap.2(x,dendrogram="col", rowsep=1:2) ## two rowseps > > proc.time() user system elapsed 1.190 0.064 1.245 gplots/tests/adjust_hsv.R0000644000176200001440000000116014700154745015226 0ustar liggesuserssuppressMessages(library(gplots)) col <- "#123456" col2 <- adjust_hsv(col, h=0.1) # h col3 <- adjust_hsv(col, s=0.1) # s col4 <- adjust_hsv(col, v=0.7) # v col5 <- adjust_hsv("blue") # name col6 <- adjust_hsv(4) # integer col7 <- adjust_hsv(palette(), alpha=0.1) # multiple colors, alpha cols <- c(col2, col3, col4, col5, col6, col7) stopifnot(all(is.character(cols))) # character stopifnot(all(substring(cols, 1, 1) == "#")) # start with # stopifnot(all(nchar(cols) %in% c(7, 9))) # either 7 or 9 chars long barplot(rep(1, length(cols)), col=cols, space=0, border=NA) # can be used gplots/tests/heatmap2Test.R0000644000176200001440000000411213727100575015415 0ustar liggesuserssuppressMessages(library(gplots)) data(mtcars) x <- as.matrix(mtcars) rc <- rainbow(nrow(x), start=0, end=.3) cc <- rainbow(ncol(x), start=0, end=.3) heatmap.2(x) ## default - dendrogram plotted and reordering done. heatmap.2(x, dendrogram="none") ## no dendrogram plotted, but reordering done. heatmap.2(x, dendrogram="row") ## row dendrogram plotted and row reordering done. heatmap.2(x, dendrogram="col") ## col dendrogram plotted and col reordering done. heatmap.2(x, keysize=2) ## default - dendrogram plotted and reordering done. heatmap.2(x, Colv=FALSE) heatmap.2(x, Colv=NULL) heatmap.2(x, Rowv=FALSE) heatmap.2(x, Rowv=NULL) heatmap.2(x, Rowv=FALSE, dendrogram="both") ## generate warning! heatmap.2(x, Rowv=NULL, dendrogram="both") ## generate warning! heatmap.2(x, Colv=FALSE, dendrogram="both") ## generate warning! heatmap.2(x,dendrogram="both", Rowv=FALSE) ## row and col reordering done, but only col dendrogram plotted heatmap.2(x,dendrogram="row", Rowv=FALSE) heatmap.2(x,dendrogram="col", Rowv=FALSE) heatmap.2(x,dendrogram="none", Rowv=FALSE) heatmap.2(x,dendrogram="both", Colv=FALSE) ## row and col reordering done, but only row dendrogram plotted heatmap.2(x,dendrogram="row", Colv=FALSE) heatmap.2(x,dendrogram="col", Colv=FALSE) heatmap.2(x,dendrogram="none", Colv=FALSE) ## above statement is same as heatmap.2(x,Colv=FALSE) heatmap.2(x,dendrogram="col", Colv=FALSE) ## col reordering done, but no dendrogram plotted hv <- heatmap.2(x, col=cm.colors(256), scale="column", RowSideColors=rc, ColSideColors=cc, margin=c(5, 10), xlab="specification variables", ylab= "Car Models", main="heatmap(, \n ..., scale=\"column\")", tracecol="green", density="density") ## IGNORE_RDIFF_BEGIN str(hv) # the two re-ordering index vectors ## IGNORE_RDIFF_END ## Test row and column separators heatmap.2(x,dendrogram="col", colsep=1) ## one colsep heatmap.2(x,dendrogram="col", rowsep=1) ## one rowsep heatmap.2(x,dendrogram="col", colsep=1:2) ## two colseps heatmap.2(x,dendrogram="col", rowsep=1:2) ## two rowseps gplots/tests/plotmeans_nobars.R0000644000176200001440000000034713727100140016414 0ustar liggesusers## Test that plotmeans works properly when bars=F ## Bug repoted by Alan Yong, Research Geophysicist, ## US DEPARTMENT OF THE INTERIOR suppressMessages(library(gplots)) data(state) plotmeans(state.area ~ state.region, bars=FALSE) gplots/tests/test.reorder.factor.R0000644000176200001440000000030713727075766016770 0ustar liggesusers## Test results before and after loading gdata m <- factor(c('a','b','c')) ( m1 <- stats::reorder(m, X=c(3, 2, 1)) ) ( m2 <- gplots::reorder.factor(m, X=c(3, 2, 1)) ) stopifnot(identical(m1,m2)) gplots/tests/dat.csv0000644000176200001440000140062612471456251014231 0ustar liggesusers"","V1","V2","V3","V4","V5","V6","V7","V8","V9","V10","V11" "1",3.54830022377166,4.98762515666861,4.3153118826282,10.2225793446639,9.34254395417913,8.82492748996296,3.54830022377166,4.384503533957,5.64795953546789,4.1133546816754,4.77260190574687 "2",6.39596545741415,7.90764242244625,4.62096009533438,11.9510144772509,9.82101063092539,11.2292732533917,4.90840757914297,5.01322721136904,6.97115740445838,4.23818768541642,5.30807251233407 "3",3.54830022377166,3.54830022377166,3.54830022377166,10.3692011271157,6.69336803878309,5.07384942667343,3.95429096793669,3.97076798325069,3.54830022377166,3.54830022377166,3.54830022377166 "4",4.14270956135568,3.54830022377166,3.54830022377166,10.9671738764112,5.01670287124879,5.16956541079112,4.24697193895882,3.54830022377166,3.97945053140578,3.54830022377166,3.94592105499445 "5",4.95788009688626,4.80684586133476,4.62096009533438,10.28959071822,8.18129801634355,7.05573632290516,4.24697193895882,4.64355114355199,5.14207053784841,4.83852784420667,4.77260190574687 "6",4.27379169695302,5.51373206269933,4.77805840635708,8.53964242110826,8.90268312222043,8.991123312071,4.35251077174588,4.96000670487273,6.61159776233956,4.34246051744749,5.19596301279726 "7",3.54830022377166,4.28998746829493,3.54830022377166,6.6629612881525,6.23832076740441,6.95118912698659,3.54830022377166,4.14366324222193,4.80633145078724,3.54830022377166,3.54830022377166 "8",3.97008655127665,3.54830022377166,4.53109727184687,8.59372244713554,6.14932815941719,4.39026667116431,3.54830022377166,3.54830022377166,4.15581191957622,3.54830022377166,4.33623189839069 "9",5.06174854283329,5.10587436566836,4.17697833106617,8.0716255065244,6.02925276001858,6.91455388808087,4.12059456186923,4.56562326784538,3.54830022377166,4.1133546816754,4.88205559019666 "10",4.38318186180789,4.58626187939733,5.24167748837746,8.95212053701228,6.40071463600213,8.21210233615098,4.95996179375818,5.01322721136904,4.73829774126364,4.94316935660089,4.42659789693357 "11",6.01310160570544,5.37256333406501,4.70273040173548,10.8096309517258,7.45572573054755,6.91455388808087,4.95996179375818,5.40592556224865,5.14207053784841,5.03853376538012,5.37741497761244 "12",3.54830022377166,4.80684586133476,5.45889453101379,8.27300922839699,7.82230606359757,7.38429208622585,4.52717022062621,4.90404046812327,5.2787215413229,5.12639274786288,4.50758419823284 "13",4.27379169695302,4.3753233849767,4.43062166511718,9.07755814120734,7.26145312498405,4.79051865717914,4.52717022062621,4.48006681116437,4.73829774126364,4.1133546816754,4.42659789693357 "14",3.54830022377166,4.07560683285484,4.3153118826282,7.93848457611293,6.05413185693349,4.48644669672571,3.54830022377166,4.14366324222193,4.15581191957622,4.1133546816754,3.54830022377166 "15",5.43989201389799,5.82106309200949,6.38939714611082,9.85512200926738,8.41345634845132,7.02173592168141,5.6591344389259,5.36813953141026,5.908506347799,5.28435507346132,5.30807251233407 "16",4.47860358440826,4.52173032050244,4.53109727184687,7.4237930007383,6.23832076740441,7.1531134753391,4.12059456186923,4.64355114355199,5.51298978105205,4.34246051744749,4.10886942232174 "17",8.72758053834499,9.11000116518177,12.5652463326732,15.3526024338127,12.579241591888,11.6558517155077,8.2194276919275,8.37134068175844,9.86206851076312,8.38682659409914,8.82985605347945 "18",5.2447303988107,5.37256333406501,4.84809592326134,3.54830022377166,4.3058722489524,3.54830022377166,5.6591344389259,5.47821319946465,6.25441840396481,5.88898252005338,5.19596301279726 "19",5.63977041271158,5.77824442532879,6.42845492233721,8.84103029011941,5.51439142996744,7.90115103777339,5.14502080212905,4.384503533957,5.61552538792453,4.78196079501175,4.93274810645829 "20",6.10308606649056,7.16329009363354,6.55712549554688,3.54830022377166,4.68891224809943,4.39026667116431,6.38034884627584,6.39951332746705,6.42656981487671,6.26793748710628,5.89613582798994 "21",8.91695021626861,8.58255292698616,8.68388339535045,16.0689994434005,14.9769572072369,14.1336982846518,9.60823258806614,9.75298881703293,9.56799060808511,10.6675735771075,10.9526227861086 "22",4.56403575450106,5.02844590494928,5.03393706940664,8.89585370355305,5.55101777956327,5.74518636420907,4.35251077174588,4.48006681116437,4.66516704800045,4.43350024566452,4.71305020543012 "23",6.26699265805594,6.12169436992618,6.67494907374409,8.79945776033231,9.40944781013521,7.61383736342438,5.22742614345585,5.78854419980623,6.35268776105888,6.08168542829163,5.62162634442846 "24",4.56403575450106,4.58626187939733,5.08949593862507,8.19347145355705,6.4570197312126,5.07384942667343,3.95429096793669,4.78227634053133,4.73829774126364,4.65808106126267,4.10886942232174 "25",4.90198673375679,4.98762515666861,4.43062166511718,8.26747153196927,5.43778714177974,4.72324945023249,4.24697193895882,4.27494782787477,3.97945053140578,4.1133546816754,4.23274464232371 "26",5.54375559944074,6.23481148737354,6.75344123428011,9.66839227629136,9.97406546890233,10.1667617003527,6.31282720400235,6.71348502662476,8.39071216893195,5.95632863375223,6.58799030207827 "27",4.64185256734797,4.28998746829493,4.43062166511718,7.29859270438049,7.84324791613154,6.30473681676143,5.41158127901156,4.384503533957,5.96006019369919,3.94912244603611,4.82879049046518 "28",9.96744776441568,10.1881675736414,8.78337570349508,5.53878302118535,8.45932583540746,7.94390401379986,10.5204456310971,11.0254885438205,11.0093088262179,10.2148354564346,10.1551390476869 "29",9.23663524358812,9.86777225596715,9.80297329462446,5.45783152550403,6.59691611192018,6.18495468671691,9.30202567198749,8.55326654263295,9.17469169792013,8.62153952661202,8.22101819580532 "30",10.7534858957759,10.5712538165739,11.1776424886436,16.572590826692,14.5513688082633,12.5988972427868,9.35231115025617,10.3714084798428,10.7386045026294,10.0808011723378,10.0664653118512 "31",4.64185256734797,5.02844590494928,4.77805840635708,8.39482590249134,7.52659786136667,5.59180320170385,4.79704755731515,4.84495354750819,5.36185741525923,5.16791879000176,5.23451608884748 "32",3.54830022377166,3.54830022377166,3.54830022377166,4.72904957070584,5.01670287124879,5.25801624538125,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166 "33",7.96841095917285,7.86416209594378,8.77224035423123,4.64558758720875,6.14932815941719,6.05368293120384,7.19474134121686,7.81291420734027,8.19183661884524,8.43693055695777,7.91847349982371 "34",3.54830022377166,3.54830022377166,4.3153118826282,5.61488371433785,6.41973750499147,5.93366313679853,4.12059456186923,4.56562326784538,4.28967224937531,4.23818768541642,4.10886942232174 "35",5.78549346301469,6.10474257283092,5.57306370014904,3.54830022377166,4.60803438435701,5.12270292620239,6.42891596161512,6.32724232099688,5.908506347799,6.28524461564841,6.12364384882668 "36",9.9142251840964,10.456673858868,9.30760066705108,6.0509730364866,7.75758167592432,7.35736175394867,9.89922835777744,10.0483594239014,10.9590800133788,9.70848525745093,8.83834264114361 "37",4.56403575450106,4.52173032050244,4.62096009533438,7.63686065552915,5.39764908336153,4.96927465433063,4.24697193895882,4.48006681116437,4.40133275723348,4.34246051744749,3.94592105499445 "38",6.3603261369929,6.32486807052967,5.80562626524342,8.46905443827572,9.87103160056325,7.17387660588074,6.31282720400235,6.08445307616774,6.170418516415,5.84212104415619,6.17960026676426 "39",4.14270956135568,3.92219398459048,4.62096009533438,5.94024907367982,3.54830022377166,6.82519262173196,4.52717022062621,3.54830022377166,4.40133275723348,3.54830022377166,3.54830022377166 "40",4.27379169695302,3.92219398459048,3.99458687560867,6.82412564138579,6.96138984243564,5.68598866291392,5.05629560314322,4.14366324222193,5.7104892060778,4.23818768541642,4.23274464232371 "41",5.63977041271158,5.66465997975799,6.50342732201785,9.37886527064805,8.21379020954388,7.36639506661982,5.81788128542292,5.99287240418047,6.10385346314284,5.88898252005338,6.21567278468669 "42",3.97008655127665,3.54830022377166,4.3153118826282,6.6629612881525,5.4766730864177,4.48644669672571,3.95429096793669,4.14366324222193,3.54830022377166,4.1133546816754,4.33623189839069 "43",5.7291387983615,5.56604371111536,6.42845492233721,8.30038240733836,7.76491918019003,7.2442527606336,5.30447425058107,5.36813953141026,5.43971219929874,5.97804653447498,6.10447007721142 "44",3.54830022377166,3.92219398459048,3.54830022377166,6.40082385541707,4.95881094319955,3.9737401164974,3.54830022377166,3.97076798325069,3.54830022377166,3.94912244603611,3.54830022377166 "45",5.15683916790939,4.80684586133476,5.94971686400677,8.19347145355705,6.00390758948263,7.23440933245103,4.736433099266,5.32915405009094,5.47688516711479,5.24679677984632,5.23451608884748 "46",8.32221761263854,8.57658773912705,7.50586588003968,4.64558758720875,5.43778714177974,6.14258578248584,7.50874309491128,7.04980577540244,6.67324497101316,8.05281087128144,7.7180186839132 "47",7.44862159904616,7.42579753342585,7.6015342628995,12.2564874579549,10.8911744563996,9.04251928430416,7.96271832050898,7.74639555998162,7.69313693424559,7.82257122540105,7.98633400049947 "48",3.54830022377166,3.54830022377166,3.99458687560867,6.61077692935938,3.9890115841535,4.27998953468607,3.95429096793669,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166 "49",9.86520892758349,10.5424955431946,9.87236674920621,6.12845239811469,6.90903343211634,6.65746273872887,9.19356881637435,9.08073538378508,9.58193198103218,8.68030059676385,8.25101756019936 "50",6.68133857209962,7.27859059456544,7.15025968470569,4.80590313991191,5.07172184844156,4.65095609464182,6.8156305051907,6.38179577561934,6.95889432739089,6.60625503946114,6.25082171740127 "51",6.22781582447258,5.99833314874529,7.2288254796775,4.64558758720875,5.55101777956327,4.85356377363824,6.10801834567294,7.35769553409876,8.31633771077612,5.84212104415619,6.45977249775491 "52",5.1102803075969,5.48674339719394,4.70273040173548,7.86698047363564,7.43744503701482,6.14258578248584,5.10151945545351,5.57941184941936,5.04112969494906,5.24679677984632,5.34323580728863 "53",4.84297810234872,4.70290661503082,5.08949593862507,8.07796942539909,6.56323269003586,5.52494213250567,5.18694714265321,4.84495354750819,4.80633145078724,5.08331287740239,4.82879049046518 "54",7.63627728800101,7.31504121459539,7.64299312979523,11.3155231056251,10.1037953584002,8.42949759993972,7.29295130035411,7.21698980922899,6.31421497718848,7.69511285465249,8.11779620963715 "55",5.51007576263887,5.48674339719394,5.49810773191112,8.97266680756033,6.78362663914756,6.64253913084015,5.41158127901156,5.15921474215736,5.88196510402005,5.51920250319321,5.53547894831993 "56",9.85426088753482,10.3645568894423,9.01512583585322,5.68673393056132,7.3024800928342,8.03709544896096,9.62537273422518,9.21193802878431,9.57994858946864,9.43106642948714,9.64291026526287 "57",7.48165658586729,7.43244281835256,7.91061683351649,5.49895646334672,5.71993474216382,6.00694829385502,7.15728100924063,8.02409220226986,9.50666641752432,7.06787458033587,7.14334294337987 "58",4.64185256734797,5.34229206882021,5.37656757260563,6.61077692935938,7.82932069098373,7.48720844411563,4.85422248960333,5.40592556224865,6.95889432739089,4.51507976905241,5.27185771113154 "59",3.54830022377166,3.92219398459048,3.54830022377166,5.85076855868641,4.95881094319955,4.39026667116431,3.54830022377166,3.54830022377166,4.15581191957622,3.54830022377166,3.94592105499445 "60",8.74463002246685,8.82320533215313,8.22053217616702,5.57739919796435,6.36186838199559,6.51705963771854,8.80849751967805,8.22290605381997,8.17087687987988,8.13454690736269,8.18594905456206 "61",5.28634990203998,5.21302385056593,5.24167748837746,9.02933918090383,6.47529295316335,5.62396795076569,5.60160582989158,5.06400718580499,4.87007984850553,5.28435507346132,5.37741497761244 "62",4.56403575450106,4.3753233849767,4.62096009533438,7.98650004883687,5.97807741409379,5.07384942667343,4.736433099266,4.14366324222193,5.04112969494906,4.78196079501175,4.98115357179952 "63",5.83953755398429,6.05258163906458,5.19311942679736,4.00522961816383,3.54830022377166,4.48644669672571,5.68696720047667,5.73213596531648,5.09271807264536,5.20801686055131,5.15610281821546 "64",3.97008655127665,4.45187351580727,3.54830022377166,6.91267003685449,4.95881094319955,4.96927465433063,4.24697193895882,4.71540688131158,3.97945053140578,3.94912244603611,4.10886942232174 "65",3.54830022377166,3.54830022377166,3.54830022377166,6.27135914474364,5.75123300751287,4.39026667116431,4.35251077174588,4.384503533957,4.28967224937531,3.54830022377166,3.94592105499445 "66",7.22280413999188,7.57733667784068,8.76101826342341,11.8510386468952,10.2775537127104,12.1801836468234,7.66329537746326,7.14625069543942,12.7906725698554,7.62353403261997,7.67433272987327 "67",4.56403575450106,3.54830022377166,3.54830022377166,7.34155739329718,6.05413185693349,4.85356377363824,4.736433099266,4.84495354750819,4.80633145078724,4.34246051744749,4.10886942232174 "68",6.01310160570544,5.8828036586062,6.28664740687677,6.82412564138579,8.28686710537504,7.37537160534035,5.37690725505175,5.86887992335646,6.47951288681902,5.45650952534963,5.02750813069502 "69",3.54830022377166,3.54830022377166,3.54830022377166,6.12845239811469,4.3058722489524,4.14782244847307,3.54830022377166,3.54830022377166,3.54830022377166,4.1133546816754,3.54830022377166 "70",5.75761827849279,4.90109318218552,6.99173323708118,4.33331678257734,3.9890115841535,4.65095609464182,4.90840757914297,5.64267984583869,6.170418516415,6.06158243388933,5.89613582798994 "71",3.97008655127665,3.54830022377166,3.54830022377166,5.61488371433785,4.68891224809943,4.14782244847307,3.54830022377166,3.54830022377166,3.97945053140578,3.54830022377166,3.54830022377166 "72",4.14270956135568,4.07560683285484,4.77805840635708,6.59294157316564,5.22247567483854,4.65095609464182,4.12059456186923,3.97076798325069,4.28967224937531,4.1133546816754,4.23274464232371 "73",11.6866871178468,12.2420452702483,11.7383540637143,6.83927355652247,7.81525697866385,9.85335343669308,11.5066676796878,10.7648318891184,10.2639976095484,10.7754923466213,10.7681388846469 "74",6.34215677001306,6.65907835489105,5.71099058057816,9.03586234707771,6.79812335767876,7.1841457180674,5.74090997444246,5.84263840078618,5.74066404330379,5.86575800256349,5.82675902967033 "75",7.14227631031255,7.1308989742045,7.98977766513664,10.1775856067455,8.2403173149625,7.94990899221953,6.34699967672477,6.61141446129441,6.98331532425672,6.73656644191199,6.57431102493756 "76",8.16886822106531,8.56458271440011,7.33404463366619,10.9908576274865,10.3079255461611,10.174458822354,7.44813034354882,7.58819087613211,8.43091825674161,7.92347700974267,8.36512505795768 "77",5.32657933118044,4.64642175332692,5.03393706940664,6.55657468638091,5.9248799958122,5.88248359145759,4.52717022062621,4.384503533957,5.09271807264536,4.34246051744749,4.88205559019666 "78",10.7339962972902,9.94151353297849,10.4958820344868,7.0358991602313,8.79595341846954,8.87934451321461,10.168401140003,10.6979569679753,11.4797927180091,11.111031932343,10.7688785432116 "79",8.19393334524338,8.55247675986609,8.03401726116649,4.80590313991191,5.43778714177974,5.85613856012376,7.18546823726635,7.14625069543942,6.78897959785779,7.11627980185974,7.0871105816258 "80",8.39316870640549,8.35051716766043,9.99391314327221,6.42127233239575,6.82667759155909,6.51705963771854,8.6091379046593,8.48159830870355,8.98382794808631,9.02816294905766,8.24250996755826 "81",4.64185256734797,3.92219398459048,4.43062166511718,7.4825061660954,4.68891224809943,4.48644669672571,3.95429096793669,4.84495354750819,3.97945053140578,3.54830022377166,4.77260190574687 "82",8.18895514970792,8.13188742664223,7.59309652537082,12.0941629439202,10.053892301895,9.63455860285938,7.97348809552184,7.96100560637981,7.81312427424552,8.29784698674059,8.25101756019936 "83",9.6305371728803,9.41405214944074,10.20312642673,7.04895326229142,7.79389953239992,7.02173592168141,9.02294138520114,9.73428188217982,11.2920867030076,8.79994485661215,9.05284051470773 "84",5.43989201389799,5.56604371111536,6.22111368694742,9.73402779194592,8.76342638056203,10.4023935374619,6.46037622252273,6.08445307616774,10.7676428137667,6.46257214152392,6.93594480505962 "85",7.72851224971026,7.46521367211002,6.93916689557714,5.12329148338679,6.02925276001858,6.32372596223563,8.35728086541336,7.59577391721903,7.47915422709469,7.32814443229589,7.45567871962375 "86",3.54830022377166,3.54830022377166,4.17697833106617,5.68673393056132,6.25969592333039,4.96927465433063,4.35251077174588,4.27494782787477,4.40133275723348,4.51507976905241,3.94592105499445 "87",7.56105335493157,7.27859059456544,7.68328605018914,5.2287614540209,6.30147623701314,5.88248359145759,6.70254524427502,7.81291420734027,9.39602862205146,6.98682275830224,7.17064709329826 "88",7.49789229134066,7.39890304907699,7.94413231320583,12.3992239585314,10.477839258701,9.59303888585416,8.03646440075341,8.52977129672558,8.63205997312033,7.71402953388634,8.37293953125497 "89",3.54830022377166,3.54830022377166,4.17697833106617,5.53878302118535,5.01670287124879,4.27998953468607,3.54830022377166,3.97076798325069,4.28967224937531,3.54830022377166,3.54830022377166 "90",5.20160456221532,4.64642175332692,6.19855602264465,9.49228149289181,8.54690008144452,7.3299137996592,6.18607814866558,6.0621316163943,6.49672271584863,6.61984398459466,6.99835644145586 "91",7.08952995702998,7.04653885218916,7.292883496079,10.1805311679616,8.3368817415583,7.29247571679326,6.34699967672477,6.65607019101962,7.00732291632297,6.28524461564841,6.64141001370651 "92",3.54830022377166,3.54830022377166,3.54830022377166,5.75482250638952,4.16918380110659,3.9737401164974,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166 "93",3.54830022377166,3.92219398459048,4.17697833106617,6.12845239811469,4.68891224809943,4.48644669672571,3.54830022377166,3.97076798325069,3.97945053140578,3.94912244603611,4.10886942232174 "94",7.67958587649345,7.69241450619318,7.59309652537082,9.93927016145086,9.98820163855651,9.16352095877154,7.3603555956831,7.41031118391363,7.82660267366782,7.40012787657292,7.17963333217221 "95",8.22344598109642,7.99532610620531,9.45410127595259,5.8812668252616,7.0961370359168,6.03051736948815,7.6962113969891,8.38450232548709,9.76065910605987,7.58292930028579,7.88056001282118 "96",8.76816529871051,8.96690374962634,10.0379443085744,6.44142432501257,7.06063744350186,7.07795937095772,8.92386860471468,8.50186663160025,9.07398401368605,9.47780110718558,8.74212180016923 "97",4.95788009688626,4.75624419227938,4.84809592326134,6.80881348613757,6.49332967836598,5.65534952806707,5.0091772610784,4.84495354750819,5.40139710278378,4.34246051744749,4.64957162869111 "98",5.63977041271158,5.61629598738969,6.81323095846476,4.33331678257734,4.51917288855208,4.57254454079382,5.18694714265321,5.81586767921463,7.55409161145907,5.390508541124,5.19596301279726 "99",4.56403575450106,4.45187351580727,4.53109727184687,6.29379629231463,5.58662010220739,5.95853781919032,4.90840757914297,4.48006681116437,4.49869474411581,4.51507976905241,4.42659789693357 "100",9.57636320736096,9.60478743686095,9.93691385631424,6.07729316885177,6.75417835232469,7.3299137996592,8.91273841003805,8.47751017522932,8.63588601185669,9.00536960336184,8.71779464807795 "101",8.88655510159278,8.80035892971412,7.91738279967502,6.0509730364866,6.40071463600213,7.50366343129384,8.78427179649975,8.6066423344331,8.69575946364143,8.65448007324365,8.48893343932083 "102",4.71360779724634,4.80684586133476,4.62096009533438,8.65435140440962,6.75417835232469,6.78509433379566,5.41158127901156,4.56562326784538,8.14960710381963,4.89214603725089,5.44305738224905 "103",6.49770703607465,6.55220842588416,6.30781724882702,8.81091520633996,7.91092643271975,6.53337388382174,6.06724579431514,6.12802624841955,6.03386567505439,5.60778853118367,6.02495041947975 "104",4.27379169695302,3.92219398459048,4.43062166511718,7.56629088144444,5.35616394241025,4.72324945023249,4.60239513168466,4.27494782787477,4.93015836537268,4.51507976905241,4.33623189839069 "105",7.24224442514873,7.41912121017553,7.70692907350163,5.00715176399614,6.986860119961,5.77381127177675,7.1761343582657,7.94923159757619,8.8812223607632,7.19946355001097,7.21502181493005 "106",5.43989201389799,5.99833314874529,6.706873220412,3.54830022377166,3.54830022377166,4.72324945023249,4.60239513168466,5.06400718580499,5.61552538792453,5.390508541124,4.88205559019666 "107",7.10023689289805,7.24874425335053,7.60992258308702,5.41530931619833,6.25969592333039,6.70130537857918,7.95730299948966,7.69792596610665,7.57822351135499,8.1204564843621,8.30103282855084 "108",7.07874176605886,6.58874484760681,6.65871092362578,9.46837342804354,8.97073843022801,8.12460946818293,6.82765362378199,7.06085076242672,6.62726529325089,6.83277277346818,6.84820604888636 "109",3.54830022377166,3.54830022377166,3.54830022377166,4.55382476248647,4.41984085544861,4.79051865717914,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166 "110",3.54830022377166,3.54830022377166,3.54830022377166,5.27816114646231,3.9890115841535,4.48644669672571,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166 "111",6.65235551364311,6.60071482461707,7.01730337161271,9.93927016145086,8.01298567750114,7.31131752008256,6.77893420749542,6.41700761662776,6.70308285135445,6.23265672738425,6.45977249775491 "112",5.40326495224052,5.06782347272974,5.418413249836,7.30945573857209,6.19454648924689,5.82926094386062,5.14502080212905,5.06400718580499,4.73829774126364,5.08331287740239,4.93274810645829 "113",5.83953755398429,6.0166588706562,6.22111368694742,8.6961465914416,6.23832076740441,6.65746273872887,5.41158127901156,5.36813953141026,5.61552538792453,5.76856946880134,5.72820962527079 "114",8.94376822534918,9.05959422579634,9.32293901495519,6.27135914474364,7.56075963191614,7.33912187219212,8.68307708806915,8.65811030377855,10.2921303162435,8.98480171660266,8.89367732498072 "115",6.77832045411394,6.61258342379141,5.89393465653991,8.70026017388439,7.81525697866385,7.89493821596202,6.52124265530991,6.34566665396276,6.31421497718848,6.08168542829163,6.28509519859856 "116",5.94145031362918,6.21921231712512,6.75344123428011,8.26747153196927,6.49332967836598,7.84424329146071,5.98182671402093,5.70299476097377,5.67960036331149,5.76856946880134,6.12364384882668 "117",3.54830022377166,3.54830022377166,3.99458687560867,6.24855060583191,4.83273793005469,3.54830022377166,3.54830022377166,3.97076798325069,3.54830022377166,3.94912244603611,3.94592105499445 "118",7.23255742572302,7.0202222031051,8.08296329851879,10.0038887618932,9.97406546890233,9.24864854911992,7.00730249805654,7.75318796156962,8.12256962149903,7.75113025875458,7.25805623997653 "119",7.39759226141577,7.93124106992928,9.09175618158335,5.53878302118535,5.65499240986345,5.98296049015383,7.63640716658413,6.96998692311962,7.33538873657639,7.56913446046745,7.27491277202479 "120",10.5801971333034,10.5577029179107,9.77907978282873,6.72965577471788,7.86388858832763,9.33132601322624,10.622123536267,10.3458724268784,10.0078626350706,10.2774539923396,9.9796693691634 "121",3.54830022377166,3.54830022377166,3.99458687560867,5.06671461268446,7.19761054304302,6.98690109334928,3.54830022377166,3.54830022377166,3.97945053140578,6.93370830289886,6.96749404277538 "122",3.54830022377166,3.54830022377166,3.54830022377166,5.00715176399614,4.16918380110659,4.48644669672571,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166 "123",8.58717845543906,8.89923608373775,8.52043656504386,5.65130733031753,7.82230606359757,7.44522321742214,8.54928418681421,9.06992164703882,9.59966080439663,8.69303932862712,8.82985605347945 "124",8.10157721953491,7.82437528016681,9.55713064863933,12.2071533622678,10.2373524556362,10.6896832080787,8.30712100765054,7.97848761281659,9.06550160007034,8.79108608806571,8.90449375768947 "125",6.9184097826443,7.1308989742045,6.22111368694742,4.72904957070584,6.00390758948263,5.77381127177675,7.19474134121686,6.84754823848757,6.8829993213614,7.22614562648883,7.12484473646843 "126",6.70973609194007,6.73691655930512,6.95249236326906,9.2861684887304,8.20842556768602,7.62890668931544,6.46037622252273,6.58083381215475,6.53051842174467,6.56467909886764,6.54654471787116 "127",5.54375559944074,5.24667094069968,5.33324863235043,8.88143687241979,6.56323269003586,6.72979247179919,5.18694714265321,5.64267984583869,7.52126959426053,5.12639274786288,5.37741497761244 "128",4.27379169695302,3.92219398459048,3.54830022377166,5.27816114646231,4.60803438435701,4.65095609464182,4.12059456186923,3.54830022377166,4.15581191957622,3.54830022377166,3.54830022377166 "129",6.51396439906776,6.38180153379745,6.72256765234604,10.2854924878837,7.40957806504676,6.86418378240018,6.63555812986883,6.36384896693785,6.70308285135445,6.06158243388933,6.21567278468669 "130",7.14227631031255,7.21825971644639,7.18446275990153,9.62147006138431,8.36125188354092,8.57629934381883,7.02823820460525,6.76864888687765,6.90875232671333,6.93370830289886,6.95705547300987 "131",4.27379169695302,4.85503985708184,4.3153118826282,6.64578118848052,5.55101777956327,6.2854828908731,5.0091772610784,4.56562326784538,4.73829774126364,4.78196079501175,4.98115357179952 "132",5.57656653888652,6.0166588706562,6.79851940891416,5.06671461268446,5.01670287124879,5.34037022736344,5.44531198202201,6.96998692311962,8.16028132058192,5.95632863375223,6.33495998760446 "133",8.13302640037837,8.49670392464652,7.85530964459838,4.55382476248647,6.02925276001858,5.80182700427773,7.62960552780545,6.84754823848757,6.93404518186094,6.88973460730697,6.54654471787116 "134",8.3974891178613,8.50928593609447,8.50706045886544,5.45783152550403,6.81247266514148,7.12138953885052,8.25514904775311,8.38886292662863,9.06550160007034,7.71402953388634,7.7840870982867 "135",7.4062246804254,7.09775319135822,7.59309652537082,10.8143793391349,9.77101041442592,8.69172890321855,7.7156042158484,7.69792596610665,7.87280451798811,7.37653420130328,7.64875820281652 "136",6.59252977461817,6.75838767091851,7.40333918797982,5.00715176399614,5.51439142996744,5.49014363497923,6.20491650857206,6.88540467353742,8.77768849104139,6.04117709694692,6.04527163698523 "137",8.87111368185725,9.17062778027327,9.28166845148273,6.42127233239575,6.69336803878309,7.05573632290516,8.53483187909828,8.41902271321194,8.76377055339133,8.45948004832555,8.54533338091267 "138",8.69987454294599,8.43868306429472,8.63962983906694,6.82412564138579,6.49332967836598,7.4621655067507,8.96485755259403,8.525817875628,9.17469169792013,8.7367580939207,8.5693302404221 "139",4.38318186180789,4.45187351580727,4.70273040173548,5.17721527231849,6.54608201225882,5.16956541079112,4.24697193895882,4.384503533957,5.09271807264536,3.94912244603611,4.50758419823284 "140",6.93048309437804,7.30057251565307,7.76813503017998,10.0105253070144,10.2839341308275,9.53641552576228,7.16673889189749,7.82585569866269,8.22271435187535,8.11098555512941,7.91847349982371 "141",4.47860358440826,3.92219398459048,3.54830022377166,5.81955380472203,5.9248799958122,5.02279148452906,4.35251077174588,4.384503533957,4.40133275723348,4.58944936008883,4.33623189839069 "142",5.1102803075969,5.02844590494928,5.45889453101379,7.98650004883687,5.95174206023759,6.75771463598581,5.47815535844696,5.28887854364493,5.36185741525923,5.51920250319321,5.59354957822205 "143",7.67245805714751,8.08639315734457,8.1186091113731,5.72122142567301,6.82667759155909,5.68598866291392,7.67655263199372,7.10419174654258,8.60498925706414,7.72650340227609,7.2832669135735 "144",7.28034739162555,7.66449985887226,6.3694482360058,5.06671461268446,5.4766730864177,4.9129913680454,6.25992873135254,6.53367259212264,8.62822374295735,5.57893710519621,5.50541836722824 "145",6.22781582447258,5.61629598738969,5.64386590959061,8.19930091953913,7.40957806504676,8.0143581580013,5.86681368403009,6.19088373634334,6.33358512450331,6.44735550801757,6.36723145639011 "146",4.47860358440826,4.75624419227938,4.3153118826282,7.4825061660954,5.75123300751287,4.85356377363824,4.90840757914297,4.71540688131158,4.93015836537268,4.83852784420667,4.50758419823284 "147",7.46523447778001,7.69793278885674,7.81962824379556,10.3769257465971,9.38590836437453,8.44231930831656,7.74735385935746,7.03867422770865,7.37270881899656,7.40790664530083,7.70567223139389 "148",7.66529461226046,7.53477084058202,7.86234069862714,9.32396535040109,8.3070820659982,8.17159147679936,7.08925483758914,6.38179577561934,6.85676877684425,6.78548965119309,7.02856174187383 "149",11.4249869346575,10.9436296712745,11.2995588950888,7.98650004883687,9.26466000878117,9.95368240397978,11.6471110768436,11.1936226247814,11.5170610146132,11.42801674627,11.3100440596757 "150",9.77022146767524,10.3277725609993,9.67735134467817,6.82412564138579,7.64275991509742,8.11929319848446,9.81059997997685,9.15424173008054,9.78668775591481,9.35899429697753,9.24377644053609 "151",4.95788009688626,4.98762515666861,5.9767616444246,4.00522961816383,4.60803438435701,4.39026667116431,4.85422248960333,5.47821319946465,6.74668576793685,4.72200141940468,5.30807251233407 "152",5.36552087758783,5.27939455545772,5.45889453101379,6.74584694884066,6.10256195383644,6.3971794717333,5.14502080212905,5.20403385694408,4.98704716969574,5.24679677984632,5.07200980811868 "153",8.91695021626861,8.89445010257218,10.2155039007044,6.57487622139197,8.0554535450824,6.59679162433492,7.88498001914227,9.06448420152243,10.8815052208511,8.13454690736269,8.26368534183221 "154",8.58717845543906,8.53719976752436,8.43354318234649,6.29379629231463,6.58017568593367,7.76467640696839,7.95186718386867,8.38012847175178,9.01353124291589,8.80874948622336,8.75113959857946 "155",3.54830022377166,3.54830022377166,3.54830022377166,5.06671461268446,5.12418767680969,4.14782244847307,3.54830022377166,3.97076798325069,3.97945053140578,4.1133546816754,3.54830022377166 "156",6.5459221304447,6.81067701192704,6.79851940891416,8.84475079942027,8.24556452902951,8.0200763006083,6.94257508980405,6.39951332746705,7.40907859597,6.31922086088212,6.48930028701799 "157",8.34476791537849,8.96918138062587,8.45227747610215,5.81955380472203,6.12614548408454,5.85613856012376,7.82675707818696,7.35769553409876,7.65584716466506,7.19946355001097,6.93594480505962 "158",5.67024772270509,5.75630205634913,6.32866748787329,4.87732981549012,4.89765324881629,4.79051865717914,5.60160582989158,5.73213596531648,7.52954593192813,5.63600666800275,5.75354754840492 "159",4.38318186180789,4.52173032050244,5.03393706940664,3.54830022377166,3.54830022377166,3.54830022377166,4.12059456186923,4.56562326784538,4.93015836537268,4.23818768541642,4.23274464232371 "160",5.20160456221532,4.90109318218552,5.03393706940664,3.54830022377166,3.54830022377166,4.57254454079382,4.35251077174588,5.32915405009094,4.87007984850553,4.94316935660089,4.71305020543012 "161",7.92113035696155,8.11962199806121,7.73785856428288,5.17721527231849,5.8974681997572,6.44982545987761,7.68313555637,7.53395441940694,7.08828955603528,6.98682275830224,7.0483473674609 "162",4.71360779724634,4.85503985708184,6.32866748787329,4.33331678257734,4.41984085544861,3.9737401164974,4.95996179375818,5.06400718580499,5.67960036331149,5.08331287740239,5.59354957822205 "163",6.88155947257217,7.50986682441842,6.5918119313734,4.80590313991191,5.26870826387192,4.79051865717914,6.12795561899001,6.38179577561934,6.46208792210859,6.14027133670331,5.67601085725439 "164",5.1102803075969,4.80684586133476,5.14246728046542,10.4372772236378,10.2027492580945,9.00845975317351,7.3270512649585,7.90724538230873,9.89594177463648,7.03801974014554,7.64229261323216 "165",6.93048309437804,6.82090632110934,6.42845492233721,4.55382476248647,5.75123300751287,5.55881082326398,6.57956677089401,6.50132385628596,7.2274218739566,6.19644645152128,6.30191763602776 "166",5.54375559944074,5.66465997975799,5.74329962514772,8.26191243566259,7.27182102480764,6.07645934003377,5.86681368403009,5.54656694097749,6.1264044911443,5.5494201062907,5.94046067728516 "167",8.19889436741583,8.22259985460968,8.8519686499773,6.12845239811469,7.29233343640058,6.14258578248584,7.5308267704392,8.26622421970556,9.69070049312223,7.36858224895282,7.56233988963134 "168",9.19508261043595,9.20774635522242,8.14189122681626,6.59294157316564,6.51113614459311,6.54949985976367,8.00006449060255,8.41475267311222,8.51643740469187,7.99218152092415,7.67433272987327 "169",7.39759226141577,7.41912121017553,7.57607042757072,9.69953119567674,8.58463511053843,8.28036153357884,7.27559076168853,7.17699871670462,7.24766993451312,7.05799252038243,7.00849647408597 "170",6.68133857209962,7.27118736405129,5.92211619827359,4.87732981549012,4.89765324881629,5.45435632888149,6.25992873135254,6.01635514548556,6.67324497101316,6.36866909887184,6.08502244599298 "171",9.63236942232585,9.98491423845628,9.97138301222295,6.8690907757931,8.19763587511132,7.91962981770912,9.42459643967593,9.45776633691265,9.835715546093,9.47963935157952,9.19836074801692 "172",7.96258530413221,8.19169250510753,7.84824397936422,5.68673393056132,7.40957806504676,6.612207216185,7.79673519062234,8.10057507992873,9.50038808177752,7.36858224895282,7.81888169009264 "173",9.93664041614915,9.60332227471692,10.0410385489833,7.6282272411301,8.30205489161311,8.73751058569768,10.2223361460872,10.0456032989481,10.2008781506145,10.1036258981269,10.2247251786142 "174",7.34467278053384,7.41912121017553,8.25829674835298,5.49895646334672,6.94848101549024,6.37917785202581,7.15728100924063,7.80639942758163,9.32200803589805,7.05799252038243,7.34041517352733 "175",4.47860358440826,4.52173032050244,4.17697833106617,3.54830022377166,3.54830022377166,3.54830022377166,4.736433099266,4.78227634053133,4.15581191957622,3.94912244603611,4.23274464232371 "176",8.34923587617628,8.4808201834151,8.61074361341653,6.40082385541707,7.21921073366603,7.16353289372454,8.95404065608808,8.30827599759587,8.38617469708542,8.47800516301288,8.53143916573651 "177",8.95845425295504,8.89923608373775,8.94744998685894,6.500187110462,7.29233343640058,7.67318643142273,8.91552902862708,8.61038024326103,9.05981879654877,8.84629310173371,8.61286188047902 "178",4.47860358440826,5.06782347272974,4.84809592326134,8.0524239857719,6.41973750499147,5.37954658604057,5.22742614345585,5.28887854364493,5.51298978105205,5.20801686055131,5.64910430920177 "179",11.5111393851455,11.4750413354948,11.3927231532787,8.41999648399492,9.64778520643948,10.0682906958432,11.3520924736003,11.4338596693551,11.909754760413,11.6055546500839,11.3446879465271 "180",10.5896571157124,10.2954788660749,10.3083105791255,8.02641622832246,9.30287141447707,8.86037230025685,10.4510125497884,10.7597963035378,10.7918311257866,10.8319729859424,10.8218742927296 "181",6.26699265805594,5.75630205634913,5.67786163365234,4.80590313991191,4.60803438435701,4.14782244847307,5.81788128542292,5.51285175027105,5.61552538792453,5.48824617712437,5.34323580728863 "182",9.11345982061563,9.17655252407485,8.71910607848127,6.51923699993902,6.94848101549024,7.22449745441825,8.47552671694057,8.69729742885466,8.74263823210139,8.38289921774678,8.07529774133243 "183",7.90299095098025,8.14404909879108,7.38388137229294,5.72122142567301,6.76897938111069,7.11065571890034,8.27703265362688,8.01847016657006,7.81312427424552,8.03288399019337,7.98122628200915 "184",7.90906291659445,7.79893645999441,7.15025968470569,5.32561057076274,6.12614548408454,6.24614906756788,7.63640716658413,7.34873469645984,7.2274218739566,7.06787458033587,6.94653945327788 "185",10.1292905245739,10.1475342400379,11.2233005207585,8.12773734675432,8.7301479243018,8.39033259099638,9.65070691891703,10.1129741003053,11.4924984667212,10.1585822952811,10.2672257278555 "186",3.54830022377166,3.54830022377166,3.99458687560867,5.2287614540209,4.89765324881629,3.9737401164974,3.95429096793669,3.97076798325069,3.54830022377166,4.1133546816754,3.54830022377166 "187",5.67024772270509,6.05258163906458,5.67786163365234,4.19185126479166,4.3058722489524,5.07384942667343,5.84257292711029,5.7606426863395,5.54809236335654,5.20801686055131,5.41067060124599 "188",6.28617087473548,6.03473941582247,6.50342732201785,7.12485544624734,7.37155609004784,6.92687122010297,5.63069073389597,5.7606426863395,5.93453103270874,5.86575800256349,5.89613582798994 "189",7.74218994995742,7.94521633128402,7.84824397936422,12.0006035758781,11.1421586932385,10.4411942834266,9.14208687930023,9.37014280166038,9.324379635642,8.7275008426473,9.04553060112572 "190",3.54830022377166,3.54830022377166,3.54830022377166,5.27816114646231,4.51917288855208,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.94912244603611,3.54830022377166 "191",6.3603261369929,6.38180153379745,6.28664740687677,4.64558758720875,4.89765324881629,5.12270292620239,6.00369290325292,6.27044767527808,5.96006019369919,5.97804653447498,5.75354754840492 "192",11.3333609908044,10.9835891591669,11.8737912629646,7.57530462869955,9.02965990602696,8.77176305537253,9.95858487031001,10.3725085536542,11.1800433671402,10.4391954156623,9.88867569701722 "193",8.50549588322863,8.38847925203875,8.35606792036895,11.1525877050588,10.3619988170923,8.93178101147768,8.33241949645516,8.24231980078866,7.99716388364244,8.39464934008847,8.46354623886851 "194",7.05691654390939,6.32486807052967,7.02991772613112,8.66280803012047,7.7794825372703,8.48011311697305,5.91401088991375,6.51759189519488,7.51294511231341,7.12576620834847,6.85947565463405 "195",6.95432532809127,6.32486807052967,8.31058231591351,5.911083037832,6.38142750577997,5.93366313679853,6.83957525877219,7.74639555998162,9.27373787982762,6.73656644191199,6.58799030207827 "196",6.72372275293425,6.60071482461707,6.75344123428011,8.51649551299268,7.42821628028939,7.70906906148302,6.42891596161512,6.59620756668132,6.40846469499631,6.43197066329358,6.36723145639011 "197",8.45665143517115,8.14000662783682,8.74970806707209,11.7250752399116,9.86763702443067,9.75581835863199,8.63307829323579,8.44018494090811,8.56139393720079,8.6512197159427,8.45620975321545 "198",12.6595085164313,12.5060385004576,12.4657239542973,8.0716255065244,11.0297305802191,10.8416255126892,12.7399140812295,12.6767043218085,11.3011427281434,11.9411637458979,12.277390966071 "199",5.28634990203998,5.61629598738969,5.80562626524342,7.82984692987508,6.4570197312126,6.1208982606487,5.7142170410774,5.64267984583869,5.88196510402005,5.08331287740239,5.53547894831993 "200",11.9365742214934,11.1387726659941,12.5740837870325,9.41933413531431,10.1037953584002,10.9539576761266,12.1838711108216,12.3000467120412,12.6672287096481,12.6223563346198,12.1900759280714 "201",9.90516062987117,9.92166641344763,9.68923458440224,7.4632017364414,7.87748596753984,8.27559185040856,9.59611210364315,9.43055547323926,9.75715285337077,9.8142358992996,9.38944660327715 "202",5.94145031362918,5.77824442532879,6.1044136676551,7.34155739329718,7.15340186629746,6.96319334894459,5.60160582989158,5.47821319946465,6.56351593648969,5.71714885454669,5.98336777510678 "203",7.07874176605886,6.64759822251434,7.19568362250554,8.51182113882388,8.23505088897801,7.75097540326962,6.68940081877738,6.41700761662776,6.54711451758993,6.91189218289673,6.94653945327788 "204",5.57656653888652,5.94181150757653,6.24330683421088,4.55382476248647,4.83273793005469,5.02279148452906,6.04639115237076,5.73213596531648,5.64795953546789,5.91180974276632,5.91848170686069 "205",7.91510931344368,7.57733667784068,7.55014554719028,5.57739919796435,6.05413185693349,6.65746273872887,7.573997487832,7.19713459908424,7.29706680728901,7.61684601028103,7.44827704992753 "206",8.28538547120202,8.55551280370598,8.00255715830206,6.0509730364866,7.21921073366603,7.03316008565936,8.38172000092873,8.44438030541939,7.97313855605667,8.23821723466124,8.16808848214259 "207",5.20160456221532,5.64070422642102,4.91368556592511,4.19185126479166,3.9890115841535,4.39026667116431,4.85422248960333,4.84495354750819,5.61552538792453,5.03853376538012,5.15610281821546 "208",6.94245436265354,6.69296641160022,7.12699231844794,9.04882077054196,7.59412520476386,7.37537160534035,6.56521215361864,6.41700761662776,6.77502214750378,6.53625939289495,6.58799030207827 "209",6.57716568849045,6.99340840750961,8.1186091113731,5.68673393056132,5.68786865869757,6.24614906756788,6.41291488277294,7.35769553409876,9.11292164986098,6.46257214152392,6.39876851545925 "210",6.9777730900629,6.98435666679814,7.7530766872274,5.78758527908358,6.21660807334217,5.82926094386062,6.8156305051907,7.11482364221799,8.28742535969934,6.87852433571936,7.07751845829569 "211",5.75761827849279,6.0166588706562,5.71099058057816,4.64558758720875,4.76343465978073,4.65095609464182,6.06724579431514,5.84263840078618,5.77015986861159,5.71714885454669,5.11482666269438 "212",5.75761827849279,5.66465997975799,5.64386590959061,4.45117694514122,4.68891224809943,4.9129913680454,5.60160582989158,5.28887854364493,5.61552538792453,6.14027133670331,5.85028907707368 "213",9.52993739431458,9.78230850566438,9.24456138472936,6.35900025183662,7.85016117313733,7.75097540326962,9.21184285422153,8.75245870326797,8.4440745219959,9.16242088799211,8.93382699486344 "214",6.48125799080228,6.39567681457472,5.92211619827359,7.91030878238794,7.66647186177329,7.20446444646132,6.33001898832003,6.48486391434508,6.10385346314284,6.23265672738425,6.08502244599298 "215",9.75348312115578,9.88836967709125,9.7491183462126,7.60201035882759,8.61736685659035,7.88869839278644,9.73207730559825,9.6442308475677,9.76764614105861,9.92360220760973,9.71223929604806 "216",6.41344763352842,5.92242988896713,6.1044136676551,4.55382476248647,4.60803438435701,5.02279148452906,5.7142170410774,5.73213596531648,5.32100047365207,6.08168542829163,5.85028907707368 "217",6.9777730900629,6.61258342379141,6.92571489804902,9.76771846146659,7.40957806504676,8.59555417354319,6.88628096459316,6.91009091397774,7.08828955603528,7.25233733061746,7.29157241507968 "218",8.90486899759346,8.82572160192677,9.4235984354313,7.20857473893558,7.08440208246633,7.2442527606336,8.9675491380424,8.23749087428768,8.7914732544496,8.9717961107169,8.55223053166907 "219",6.83088295905748,7.32936470367063,7.44147763113522,5.32561057076274,5.4766730864177,5.68598866291392,6.74125749547841,6.39951332746705,6.74668576793685,6.7489573804274,6.68018127508015 "220",6.98935314955684,6.60071482461707,6.60883822823196,9.90049201893844,9.15751570756603,8.69172890321855,7.3270512649585,7.53395441940694,7.79266627085719,7.6823616197191,7.81314087141324 "221",5.32657933118044,5.73398691359929,5.57306370014904,4.00522961816383,4.51917288855208,4.14782244847307,5.44531198202201,4.90404046812327,5.14207053784841,5.03853376538012,5.07200980811868 "222",6.03616389920384,5.8625403799736,5.45889453101379,8.0716255065244,7.0486043849577,6.14258578248584,5.76707020137047,5.64267984583869,5.93453103270874,5.76856946880134,6.12364384882668 "223",11.6924057331777,12.1290082471382,10.773019437843,8.46905443827572,9.28516538276155,9.47124065861144,11.4515258754407,10.9285989817443,11.2521734136811,10.8583460462227,10.4890298121467 "224",6.76486804778371,7.06381620838836,5.77483170440128,4.45117694514122,5.31322437542958,5.45435632888149,6.3967273647607,5.99287240418047,6.3901204572901,5.91180974276632,6.02495041947975 "225",5.54375559944074,5.64070422642102,6.12856456325381,4.45117694514122,4.76343465978073,4.79051865717914,5.41158127901156,5.64267984583869,5.908506347799,5.8180555597147,5.47462492252508 "226",8.89574114457288,8.92057843844756,8.97360736585661,6.8690907757931,7.87070337750673,7.1841457180674,8.7345628609467,8.74227557932138,9.84400269227627,8.76417817715549,8.13168767471038 "227",11.0361527760643,10.9249871860904,11.5665014363276,7.91740472875786,9.34009614771103,9.17891342606214,10.5690836725151,10.0783342144828,10.800372450853,11.2483406493483,10.6169558194852 "228",5.89146640696981,5.8625403799736,5.14246728046542,4.00522961816383,4.3058722489524,4.48644669672571,5.41158127901156,5.06400718580499,5.61552538792453,4.72200141940468,4.98115357179952 "229",3.54830022377166,3.92219398459048,3.54830022377166,5.17721527231849,4.16918380110659,4.57254454079382,3.54830022377166,4.14366324222193,4.40133275723348,3.54830022377166,3.54830022377166 "230",5.67024772270509,5.61629598738969,5.45889453101379,4.19185126479166,4.68891224809943,4.14782244847307,5.57184698087463,5.51285175027105,5.43971219929874,4.89214603725089,4.82879049046518 "231",12.4401889905574,12.1797700374616,12.8908928378909,9.49465064054292,11.5792948966395,10.1538411773816,11.867284149449,12.6178580828305,14.1121888532001,11.9521255976379,12.3067186938859 "232",7.04587689925286,6.61258342379141,6.57457614518915,9.70976319199083,8.26119229282476,7.55980996663979,6.8747483721195,6.76864888687765,7.51294511231341,6.95519351510259,7.12484473646843 "233",5.20160456221532,5.56604371111536,5.37656757260563,7.75256639760947,6.59691611192018,5.52494213250567,5.05629560314322,5.96897347115688,6.62726529325089,4.51507976905241,5.27185771113154 "234",6.39596545741415,6.61258342379141,6.17562106732623,4.87732981549012,5.22247567483854,5.52494213250567,6.60784199424928,5.84263840078618,6.9465242259136,6.33590070251447,5.70237141167859 "235",7.66529461226046,7.88364943662713,8.48903011050334,5.99674685124919,6.75417835232469,6.3971794717333,8.06191113975279,7.57290325679707,7.8985529026422,7.52693401117993,7.43335775691035 "236",4.90198673375679,4.58626187939733,5.14246728046542,6.02413172001014,5.58662010220739,5.82926094386062,4.52717022062621,4.84495354750819,4.87007984850553,5.03853376538012,4.82879049046518 "237",6.88155947257217,6.83106206268892,6.4664454336334,5.57739919796435,5.58662010220739,5.07384942667343,6.82765362378199,6.39951332746705,7.04258956503276,6.17797642034548,6.17960026676426 "238",9.31631134390828,8.52486038361737,9.73962629225453,7.22014278192286,7.47377566559152,7.73017531178659,8.98093217188697,8.69729742885466,9.22379537423171,9.27256371819514,8.84958088897634 "239",13.728761486741,13.8607233425091,12.2159075808996,10.1687126589722,10.5850646452263,10.9636143128865,13.548022790936,13.5230800132276,13.3831031681896,11.5554641580923,11.6401753816615 "240",3.54830022377166,3.54830022377166,3.99458687560867,4.80590313991191,4.41984085544861,4.48644669672571,3.54830022377166,3.97076798325069,3.97945053140578,3.94912244603611,3.54830022377166 "241",8.07483354014599,7.68687489860634,7.65924649376092,6.07729316885177,6.30147623701314,7.11065571890034,7.70916904553208,7.46934371045286,7.73664082598846,8.1714599136636,7.97095603628191 "242",11.1473066661789,11.591919704722,11.0367348451587,8.76845148200469,9.70406709613544,9.891215506063,11.5958705265068,11.1792364690542,11.5729639576451,11.2845347042731,11.1964305071262 "243",11.1536984472174,11.0608671440132,11.0077722301833,8.13991470128491,9.32532138773482,9.48987079253926,10.7827308573901,10.9211006204005,11.0056202014738,10.6578669124684,10.6161339903475 "244",9.06271502611384,9.31727019248039,9.50877304707617,7.22014278192286,8.0554535450824,7.94390401379986,9.24992269172974,8.98324517579057,9.8020824016001,9.27468296710082,9.165022001599 "245",4.71360779724634,4.19235554008301,4.43062166511718,3.54830022377166,3.54830022377166,3.54830022377166,4.24697193895882,4.14366324222193,4.28967224937531,4.1133546816754,4.50758419823284 "246",4.56403575450106,4.3753233849767,4.17697833106617,5.94024907367982,5.43778714177974,5.07384942667343,4.79704755731515,4.64355114355199,3.97945053140578,4.83852784420667,4.58142223425457 "247",5.20160456221532,4.45187351580727,5.24167748837746,6.55657468638091,6.72410151536218,5.07384942667343,4.60239513168466,5.15921474215736,5.47688516711479,5.12639274786288,5.15610281821546 "248",9.30256702182736,9.1745803139299,9.23378153874019,6.80881348613757,7.40957806504676,7.9677747435797,8.84408903562239,8.32657827473498,9.23392324872176,9.04812544036838,8.84397272213366 "249",9.78347366218095,9.52655333859387,9.50877304707617,12.6953391122702,11.1734223052915,10.5046473477716,9.59437225957796,9.68553954315012,9.56799060808511,9.32258518506948,9.65256278357491 "250",5.43989201389799,5.48674339719394,4.91368556592511,6.7618541533593,6.56323269003586,6.2854828908731,5.34122790279734,5.54656694097749,5.43971219929874,5.45650952534963,5.50541836722824 "251",5.94145031362918,5.90276363876433,5.92211619827359,7.66245310060682,7.21921073366603,6.432497361932,5.8906209020639,5.84263840078618,5.93453103270874,6.02045962596488,5.98336777510678 "252",12.6766977693984,12.415664295377,12.6479816353317,16.4790630307325,15.3818287989351,14.2292431593229,12.4228967578176,12.6544934425351,13.3417185823779,12.7887256492754,12.9707046970051 "253",16.1554051656666,16.5782353294731,16.4333139579434,11.0403359076448,13.3419412082305,13.3344515032088,15.2944548478621,15.3282803181991,14.7316326057082,14.9090526667442,14.9078193443991 "254",10.3940514521804,10.5794726886636,9.99550905100643,6.7132762502854,8.54690008144452,8.38591439894745,9.47463695789972,9.54427952852975,9.09636272267919,9.38472946990564,9.5969906800506 "255",4.47860358440826,4.45187351580727,3.99458687560867,6.07729316885177,5.01670287124879,5.37954658604057,4.52717022062621,4.56562326784538,4.73829774126364,4.43350024566452,4.71305020543012 "256",9.99334023213815,9.85305373329887,9.26323430361466,7.37295311711776,8.56379340454814,9.31980128949302,10.1292894475254,10.0552267826601,9.83737678920086,10.1562858886609,10.1161415442834 "257",7.08952995702998,7.1871087455957,7.32386510124667,5.72122142567301,6.49332967836598,5.71592278023559,7.31860235401449,6.8602800038935,7.13256598721052,7.14455133827227,7.20625676960173 "258",6.4646125355193,6.78999327904592,6.38939714611082,4.55382476248647,5.35616394241025,6.07645934003377,6.34699967672477,6.34566665396276,6.84346871555432,5.88898252005338,6.36723145639011 "259",7.19313722009989,7.01134044782061,7.26121415402009,5.32561057076274,6.49332967836598,6.24614906756788,6.64921354738883,7.17699871670462,8.54113298867976,6.68588238296423,6.87065613243116 "260",9.40687946770383,9.34909275590581,10.3172710995969,6.69670383284886,7.011881067289,7.40196767134749,8.72504841042737,8.00147085187088,8.1813949362326,8.711938647811,8.33743530348905 "261",7.97999186436353,8.9182226156652,7.63479678432445,5.78758527908358,6.23832076740441,6.44982545987761,7.47116218311666,7.81291420734027,9.38698121885692,6.08168542829163,5.9620853787682 "262",10.6968374650283,10.2027520073997,11.3571695258769,6.99600080825042,9.09500501023367,9.79795475051923,9.8621161976401,10.1221598148832,11.0195870802336,10.5226786155599,9.9196491879125 "263",6.3603261369929,5.84196372967787,5.80562626524342,8.24510507245238,7.21921073366603,7.36639506661982,6.14760569582541,6.39951332746705,6.21306092059042,6.59253306201405,6.58799030207827 "264",10.7159685156674,11.0169806759872,11.5229064568078,13.1613493728569,12.24377704512,12.3789568075984,10.1352840632529,10.217073050604,10.1199333576403,11.0719745610094,11.3262142949183 "265",6.34215677001306,6.48910884337768,5.64386590959061,4.87732981549012,5.12418767680969,5.34037022736344,6.00369290325292,5.73213596531648,6.40846469499631,6.23265672738425,6.04527163698523 "266",5.47547404614733,5.56604371111536,6.44757980086205,7.4632017364414,6.59691611192018,7.01021906895851,5.51016217934202,5.94464232625034,6.62726529325089,5.8180555597147,5.62162634442846 "267",9.90364431655987,9.89437218018595,10.0113717522371,7.08741090627332,7.95647212895258,8.69886764484335,9.38287162416211,9.71706240677277,9.64019961778538,9.16470826913282,9.13319442626918 "268",8.37136993266211,8.11962199806121,8.07088217728514,6.98244809672181,7.20845157211192,7.06689129314715,8.6091379046593,8.35805755288573,8.40872034047714,8.47800516301288,8.25947513096976 "269",3.54830022377166,4.19235554008301,3.54830022377166,7.11248315845808,4.16918380110659,3.9737401164974,3.95429096793669,4.48006681116437,4.73829774126364,4.1133546816754,4.10886942232174 "270",8.25236519168516,7.9265522634572,8.3807299458979,6.57487622139197,7.56075963191614,7.49545959576282,8.66328536134882,8.23264568134189,8.63205997312033,8.79404506750685,8.52092980137975 "271",8.75139371361436,8.20336073773898,7.74548781114225,6.51923699993902,6.73922021409517,6.1208982606487,7.3848338456172,7.5260358409018,7.83995565728055,7.85131946790423,7.77229881588328 "272",9.59527466491212,10.0016929281087,9.92356297950041,6.80881348613757,7.47377566559152,7.31131752008256,8.8673374699208,8.30827599759587,9.02815643109272,8.39074328216023,8.15000326967407 "273",5.7000257986004,6.1384379945953,4.97546638098356,7.4632017364414,7.07256943990856,6.1208982606487,5.47815535844696,6.17025054654574,6.49672271584863,5.35613896259166,5.50541836722824 "274",4.14270956135568,4.75624419227938,4.77805840635708,3.54830022377166,3.9890115841535,3.54830022377166,4.12059456186923,4.14366324222193,4.49869474411581,4.65808106126267,4.50758419823284 "275",8.49343925578488,8.7693223302685,8.95731472595322,6.69670383284886,7.91752207058714,7.30192771781724,8.29430297314551,8.7388651452451,10.0166867034404,7.93962609998984,8.30920223246031 "276",9.56489612883542,8.92762288631626,9.98108190905854,12.4348114073983,11.1843769743819,12.0686240070981,9.47463695789972,9.62589475463826,11.6576635702851,9.80839743905335,9.61849246305758 "277",5.47547404614733,4.80684586133476,5.60895207119721,6.46128859958821,5.62125976688193,6.3424578003934,4.95996179375818,5.32915405009094,5.47688516711479,5.16791879000176,4.98115357179952 "278",5.63977041271158,5.97975507916984,5.53613856267374,8.62435595262307,6.19454648924689,6.54949985976367,6.42891596161512,5.86887992335646,5.58225280059011,6.12102121355555,6.06529256597428 "279",8.59095487856935,8.34701589034485,7.79778562854777,10.5451937769954,10.5032162891312,9.55225913980104,8.65328656795213,8.65811030377855,8.24293726666571,8.7367580939207,8.77785916336672 "280",7.02353677048525,7.01134044782061,7.65924649376092,10.7710704569946,7.72032026125474,7.38429208622585,7.07926563097037,6.71348502662476,8.14424013099273,7.29494863419076,7.22373327348314 "281",4.90198673375679,4.58626187939733,4.70273040173548,4.00522961816383,3.54830022377166,3.54830022377166,4.12059456186923,4.27494782787477,5.04112969494906,4.34246051744749,4.10886942232174 "282",5.6085567987359,5.43096210363813,6.44757980086205,5.00715176399614,4.83273793005469,4.9129913680454,5.7142170410774,5.81586767921463,6.6882430597986,5.20801686055131,5.64910430920177 "283",5.6085567987359,5.02844590494928,5.33324863235043,7.0358991602313,7.0486043849577,8.07054073647068,5.05629560314322,7.41031118391363,8.79489893465553,5.03853376538012,4.93274810645829 "284",7.89689319839686,7.99532610620531,7.9308198377368,10.7334578837025,8.84858460251429,8.72357825550961,7.86775976109045,7.91936722856588,7.94253054199731,8.05774971496173,8.11779620963715 "285",8.15871854385556,7.65885108897803,7.98977766513664,9.13032454054366,10.4024370736672,9.26075389020657,8.06694686151617,7.97268388566016,8.52883814354876,8.11098555512941,7.95019258869922 "286",4.78038542738455,4.52173032050244,4.17697833106617,3.54830022377166,3.54830022377166,3.54830022377166,4.6718025391129,4.384503533957,3.54830022377166,4.23818768541642,4.10886942232174 "287",6.37826028686932,6.87097044509682,7.37405217620522,4.80590313991191,5.07172184844156,5.07384942667343,6.47584372686925,5.84263840078618,6.62726529325089,5.24679677984632,5.23451608884748 "288",7.43181342491155,7.3645570520418,7.48776309257842,6.33760537438245,6.28074432712116,7.14261721935289,7.77841582295702,7.80639942758163,7.40907859597,7.89062355127854,8.00658518887559 "289",7.00083943504019,7.06381620838836,7.38388137229294,5.911083037832,6.05413185693349,6.32372596223563,6.8747483721195,7.11482364221799,8.51227997584947,6.61984398459466,6.83684585355949 "290",6.20780059832859,6.2502356334542,7.20681678408743,9.73402779194592,9.06862998817701,7.68043517636272,6.72847132947242,6.41700761662776,9.63065037796132,7.37653420130328,7.26650941086191 "291",9.68098015597377,9.42238562480594,9.41884788384917,8.39482590249134,8.0554535450824,9.25834094015097,10.1823646704725,9.88836222586627,9.82905137201308,10.3191079742495,10.3196587672792 "292",7.94496521202076,8.00869440443831,8.34106524726259,9.56847846889061,9.0417633150653,9.36759800372903,8.16412493691205,7.5260358409018,7.39100943196294,7.97661580669704,8.48172552210957 "293",16.3063902447123,16.0952349530378,15.6917016367486,20.4055048550162,19.9540394460662,18.5072930282205,16.2738341590513,16.6137792751768,16.8195817213308,16.7066535688476,16.788573325051 "294",8.16886822106531,7.84440655206632,8.27418290922984,10.0351438794622,8.629451972118,8.23685412620628,7.75362030032821,7.56519780081262,7.81987929878557,7.51977803239013,7.36422385202595 "295",8.12783241497292,7.73060374593055,8.08296329851879,9.26689184815322,8.89269315381452,8.82492748996296,7.16673889189749,7.62571087362944,7.640655268231,7.94496902618954,7.76636814679326 "296",8.71379415237108,8.06095749757165,8.61490585983729,10.4963871929741,9.19050335100519,9.77788285883847,8.14520773187748,8.11117639548181,8.11710056757884,8.68668404541811,8.5996071414767 "297",7.6141220077179,7.17127399719128,7.97039270667412,9.85327718286724,8.39940552920771,7.90733709200254,7.18546823726635,7.33064252719431,7.29706680728901,7.60337555236943,7.58275039653866 "298",7.84081557285448,8.49037144228086,7.46017196541071,5.81955380472203,7.26145312498405,7.01021906895851,8.06191113975279,8.12693320707114,7.80633729904285,7.73886969371636,7.72415226914976 "299",9.28869040769012,9.56017176515734,10.1074845813491,6.7618541533593,6.79812335767876,7.33912187219212,8.228441543965,8.15281676709867,8.50392892837412,8.1714599136636,7.97610033763664 "300",9.83688713383929,9.93220772378365,9.68923458440224,7.52035064472625,8.21913491534781,8.80522001376409,9.76028194053222,9.44944832477595,9.8718280374861,9.45742421826851,9.6412952120572 "301",8.25712903402587,8.12372211241184,8.56844578937346,9.63870985039684,9.017453992882,8.72357825550961,7.75362030032821,7.78667569975054,7.8985529026422,7.47607388815303,7.83029488336248 "302",9.13946690657847,9.49054809276673,9.22292047699177,7.91030878238794,7.25100929258247,7.70906906148302,9.16805766448614,8.68671532790733,9.03106374334181,8.99769100338889,9.00841434471593 "303",7.99148015255892,8.34701589034485,7.79778562854777,6.79333341252553,6.88211086947595,6.41495063025135,7.95730299948966,7.76667701711235,8.36327023133019,7.71402953388634,7.62271891815793 "304",6.53003463405643,7.10611233977898,6.8564678268525,4.80590313991191,5.31322437542958,5.95853781919032,6.08778488450736,6.25098415102327,6.44444218690037,6.41641371191531,6.33495998760446 "305",4.56403575450106,5.34229206882021,4.77805840635708,3.54830022377166,4.16918380110659,4.27998953468607,4.52717022062621,4.48006681116437,4.73829774126364,4.94316935660089,4.82879049046518 "306",3.54830022377166,3.54830022377166,3.54830022377166,4.55382476248647,4.68891224809943,4.27998953468607,4.12059456186923,3.97076798325069,3.97945053140578,3.54830022377166,3.54830022377166 "307",7.62893019883488,7.0202222031051,8.26361165206592,5.53878302118535,6.17212405558635,6.30473681676143,7.19474134121686,6.83470072861068,7.35417069068958,7.08743489363959,6.82539357006609 "308",6.65235551364311,6.90978341613101,6.2651475757924,8.39482590249134,7.56917419730132,7.68043517636272,7.07926563097037,6.65607019101962,6.51372282483715,6.59253306201405,6.69287089323447 "309",3.97008655127665,3.92219398459048,3.99458687560867,5.57739919796435,5.39764908336153,4.27998953468607,4.44463567927867,3.97076798325069,4.66516704800045,4.23818768541642,4.33623189839069 "310",7.72851224971026,8.16010627518426,7.09136174566226,5.00715176399614,6.40071463600213,5.88248359145759,7.30155298665502,6.75505909917696,7.29706680728901,6.28524461564841,6.17960026676426 "311",6.66692177917667,6.73691655930512,6.42845492233721,5.37127805426564,5.12418767680969,4.96927465433063,6.38034884627584,5.81586767921463,6.40846469499631,5.91180974276632,5.72820962527079 "312",6.94245436265354,7.49725036994418,6.32866748787329,5.911083037832,6.34202917570302,5.65534952806707,7.069205718794,7.00474615848269,7.23758185587131,6.88973460730697,6.81384766158053 "313",4.56403575450106,4.45187351580727,4.84809592326134,7.19691200194374,6.12614548408454,5.21461805136393,4.95996179375818,5.47821319946465,6.29456940017177,4.89214603725089,4.71305020543012 "314",5.47547404614733,5.17839038325611,5.53613856267374,4.87732981549012,4.51917288855208,4.57254454079382,5.14502080212905,5.6114347801117,6.44444218690037,5.12639274786288,4.98115357179952 "315",10.508195828823,10.3697360477073,11.7041192406307,8.83730014876957,9.44860346856984,9.8517540740046,10.6847718584052,10.6148746815438,10.848938978487,11.6193738812742,11.2279716161641 "316",8.764826565826,8.9229304161299,8.62319443664458,10.2139797167877,10.1672954885457,9.76774117368506,8.59179063704516,8.65811030377855,8.58928869389866,8.35108828862567,8.66469359503384 "317",4.27379169695302,4.80684586133476,4.97546638098356,3.54830022377166,3.54830022377166,4.14782244847307,4.24697193895882,4.48006681116437,4.66516704800045,4.34246051744749,4.23274464232371 "318",6.20780059832859,6.23481148737354,5.94971686400677,9.79296110579021,8.11402443253493,7.94990899221953,7.07926563097037,7.18710224326981,7.17550601717443,7.51977803239013,7.80737699242763 "319",7.25186604368027,7.0202222031051,7.73785856428288,9.01290091543137,8.57216632023939,8.03709544896096,6.90906792189885,7.44434191837213,7.6097795074534,7.22614562648883,7.2832669135735 "320",6.12468103354359,6.10474257283092,5.14246728046542,7.20857473893558,7.85016117313733,7.25402868886334,6.42891596161512,6.95820855958201,6.67324497101316,5.66362134495617,6.04527163698523 "321",6.16687195712651,5.56604371111536,6.6422828401053,7.55722002710987,7.14213181082235,7.1841457180674,5.63069073389597,6.80864974103996,6.33358512450331,6.31922086088212,6.08502244599298 "322",9.17006842032201,9.29020407679835,9.67933869708977,7.17329607382823,7.34236034522012,8.37703711426079,9.23436438503246,8.99186476046437,8.12801794863761,9.02312882261529,9.23523542463738 "323",3.97008655127665,3.54830022377166,3.99458687560867,5.06671461268446,5.43778714177974,4.48644669672571,4.12059456186923,4.56562326784538,4.49869474411581,4.23818768541642,3.94592105499445 "324",5.28634990203998,5.75630205634913,5.19311942679736,7.33093685359887,6.41973750499147,6.41495063025135,6.08778488450736,5.70299476097377,5.51298978105205,5.74311119877536,5.70237141167859 "325",4.56403575450106,4.45187351580727,5.67786163365234,4.19185126479166,4.16918380110659,4.14782244847307,4.6718025391129,4.64355114355199,4.73829774126364,5.03853376538012,5.27185771113154 "326",6.14593937760047,6.85115710804526,5.74329962514772,4.55382476248647,5.55101777956327,5.21461805136393,5.84257292711029,6.12802624841955,5.93453103270874,5.97804653447498,5.91848170686069 "327",8.96137358383928,8.32582741006554,8.76850936194554,10.5069856586739,9.72860104721336,9.64752260411124,8.30712100765054,8.39321035543747,8.53704636108079,8.82908675882873,8.61944378040167 "328",8.26660964919445,8.11962199806121,8.19849871195746,10.0088690313512,9.67523012146496,9.97293708537586,8.49805340169281,8.42328012288839,9.27373787982762,8.06757677451835,8.10376919978374 "329",11.5910233424533,11.7548311960134,11.5814536880742,8.70436204206947,10.4610452024605,10.2395007905827,11.1973972833937,11.3272709380221,11.901045101865,11.3712358654071,11.3799724435727 "330",7.78245739995991,7.35058402269405,7.76813503017998,8.81850319510449,8.50814944726084,8.47596247210777,7.22220388613709,7.33064252719431,7.35417069068958,7.61684601028103,7.34041517352733 "331",8.51745238210845,8.75354963430661,8.71135291149387,7.41376869620371,7.011881067289,7.82476137101342,8.64321787388703,8.16304111541793,8.06123417124591,9.41194000555019,8.95739059087688 "332",4.71360779724634,4.98762515666861,4.53109727184687,3.54830022377166,4.16918380110659,4.14782244847307,4.52717022062621,4.27494782787477,5.04112969494906,4.43350024566452,4.77260190574687 "333",9.95725158988506,9.65656569191356,10.341315607113,7.7683591412928,8.86230083982425,9.00270408000039,9.88648962370116,9.86666411157864,10.2848440826217,9.86152209900839,9.87362380879198 "334",10.7793446740533,10.7586069175608,10.7218813212537,9.01620360197303,9.77645125249346,9.48987079253926,11.081727096202,10.9345697344094,11.0614050803098,10.936698453788,10.9016015309339 "335",6.70973609194007,6.9193225937545,7.04242098979395,5.27816114646231,5.17436496058539,5.80182700427773,6.53605336162418,6.28964009345038,6.62726529325089,6.17797642034548,5.91848170686069 "336",9.96163020814136,9.51880222944563,10.0896643788581,13.0903052977146,11.0335218651468,11.0195227952331,9.57509413491934,10.17985381269,9.90547550347865,10.3221840646791,10.3466645904887 "337",9.60277034629735,9.492132375797,10.27058378804,11.2027049439687,11.0289711261082,10.7380952066322,9.23659730688724,9.2531463504753,9.50038808177752,9.75019841029957,9.47897708223457 "338",5.2447303988107,4.85503985708184,5.28833257709998,4.45117694514122,3.9890115841535,4.57254454079382,4.85422248960333,5.15921474215736,5.18940370702617,4.83852784420667,5.19596301279726 "339",7.96841095917285,8.1877819607643,6.76862797768596,5.57739919796435,5.07172184844156,5.49014363497923,6.12795561899001,6.79544173688354,7.25768713221877,5.99941972064136,5.11482666269438 "340",4.95788009688626,5.10587436566836,5.19311942679736,3.54830022377166,4.16918380110659,4.39026667116431,4.90840757914297,4.48006681116437,4.73829774126364,4.83852784420667,4.50758419823284 "341",10.6721160600122,10.7975586933532,10.9513346299754,13.2700770774054,12.1004103672168,11.5689828796385,10.221209342624,10.2664343698768,11.6538981498972,10.3425253816899,10.4609265047086 "342",9.84796734791309,9.84439804636833,10.4360279125743,7.94544298806526,8.49058638996859,8.45080410064663,9.64567556231803,9.417821292182,9.67962991713684,9.84307884250566,9.63156672304667 "343",8.00854214661264,8.45828434164662,8.22598820116811,5.17721527231849,5.71993474216382,5.98296049015383,7.10902511762892,6.25098415102327,6.65808508296573,6.30233725042679,6.36723145639011 "344",10.2222379273749,10.0615969336993,10.5003849488333,8.66701779572049,8.14805465040806,9.62522672492632,10.1412538681354,10.3570306475501,10.086797954744,10.2464844965395,10.3683015362727 "345",10.415488107278,10.5455498707622,10.2196062346697,8.15198978181678,9.2953097265866,9.44389825650047,10.3192524483257,10.0944252890648,10.7323689897459,10.4838319027988,10.3944199118685 "346",3.97008655127665,3.54830022377166,3.99458687560867,5.72122142567301,4.3058722489524,4.39026667116431,4.24697193895882,4.27494782787477,4.28967224937531,3.94912244603611,3.94592105499445 "347",7.35362998324763,7.29328277641992,7.89698849758373,5.68673393056132,6.62980875551585,6.16393427299536,6.82765362378199,7.22681461576123,8.51227997584947,6.50724974565549,6.66737605381507 "348",9.35455676581492,9.51880222944563,8.82348440418134,7.49206154969264,7.49160064414333,8.72707399134059,9.44017930901502,8.91236709251847,8.72478802427873,9.43864652014548,9.32047059299328 "349",4.38318186180789,4.45187351580727,4.53109727184687,5.65130733031753,5.58662010220739,5.12270292620239,5.0091772610784,4.48006681116437,4.87007984850553,4.51507976905241,4.64957162869111 "350",11.7949191894203,11.3504743167904,11.9868079683574,9.47318685926124,10.4036094410837,10.5780548438489,11.4331534036226,11.7197147065337,11.7645401631804,12.0763412639404,11.8143576004982 "351",6.26699265805594,6.33932243687762,5.64386590959061,4.45117694514122,4.76343465978073,5.59180320170385,6.04639115237076,5.84263840078618,5.43971219929874,5.63600666800275,5.62162634442846 "352",5.91669169048245,5.75630205634913,5.418413249836,4.55382476248647,4.95881094319955,4.48644669672571,5.54137865292697,5.24721063577333,5.32100047365207,5.32077713645568,5.59354957822205 "353",4.64185256734797,4.58626187939733,3.99458687560867,5.65130733031753,5.68786865869757,5.07384942667343,4.736433099266,4.78227634053133,4.49869474411581,4.89214603725089,4.71305020543012 "354",5.32657933118044,5.51373206269933,5.24167748837746,4.55382476248647,4.51917288855208,4.57254454079382,5.63069073389597,5.11259910555834,5.234901464903,5.08331287740239,5.27185771113154 "355",7.85975257570908,8.10725102107038,7.68328605018914,6.57487622139197,6.25969592333039,7.16353289372454,7.87352282948221,7.69792596610665,7.73664082598846,7.70775166660295,7.56917577077781 "356",6.49770703607465,6.18747190753494,6.24330683421088,9.64512200417151,8.7301479243018,8.27559185040856,7.22220388613709,7.67664092718363,7.41802821671758,8.06757677451835,7.99649527722762 "357",10.1396325516419,10.5240325093349,10.0941401124916,7.83735089606586,7.99439375813141,8.34097001189902,9.44597973882589,9.16444319920043,9.76590255325414,9.20304849245652,9.04308570121891 "358",9.65597920960023,9.55866053871713,9.13004998421493,7.11248315845808,7.67428945178072,8.27559185040856,9.27186155701844,8.97167161003004,8.56541213920138,8.79699798207396,8.87179778841891 "359",8.21367557215761,8.52795515785693,8.4288212608901,6.72965577471788,7.56075963191614,7.20446444646132,8.05685771125266,8.11117639548181,8.45711162944983,8.66744819506361,8.15000326967407 "360",6.5459221304447,6.69296641160022,6.5918119313734,5.65130733031753,5.78180236170589,5.21461805136393,6.49114145155366,6.10641392711339,7.37270881899656,6.31922086088212,5.80280358265392 "361",8.67518678147112,8.40877139428027,8.97684390628987,7.16133959393199,7.86388858832763,7.9677747435797,8.56714794030863,8.9153910044229,9.70714862404194,8.56721542241081,8.56251470535001 "362",8.78474387501147,9.01399402159102,9.48397218245398,7.4632017364414,7.96922423053262,8.18182668139664,8.66328536134882,9.10477367945066,10.3409582070826,8.56721542241081,8.82131918147808 "363",7.35362998324763,7.45219532147425,7.58460878049789,5.78758527908358,6.19454648924689,5.90831820478849,6.72847132947242,6.56528938654728,7.38188843017873,6.92284225377397,6.87065613243116 "364",10.2136976694624,9.57967493115194,10.2453202026289,8.22238532670557,8.68067973575669,8.70950985523553,9.86066955809963,9.55401046497915,10.1576531331904,10.0514438620966,9.71837974459475 "365",8.50148821562481,8.73224708947672,8.34106524726259,10.5801871793756,9.83498369585237,8.58017096176749,8.15469744512141,8.16812615488883,9.08521679961439,8.01267688248038,8.39613153670544 "366",7.72851224971026,7.71979593342229,8.18735408500122,5.911083037832,6.40071463600213,6.03051736948815,7.2131083928765,6.93435403872264,7.06562328853505,7.21730700032062,6.89275537319638 "367",7.67958587649345,7.73060374593055,7.58460878049789,5.68673393056132,6.84074107269785,6.975096768693,7.47116218311666,7.47758144184037,7.77886371790434,7.52693401117993,7.29982984583008 "368",4.38318186180789,4.52173032050244,5.37656757260563,4.00522961816383,3.9890115841535,3.9737401164974,4.24697193895882,4.56562326784538,5.54809236335654,4.34246051744749,4.33623189839069 "369",5.57656653888652,5.82106309200949,5.418413249836,4.94419410387592,4.76343465978073,4.85356377363824,5.44531198202201,5.67318746075466,6.00970957204651,5.66362134495617,5.23451608884748 "370",11.9803822928104,12.1587320380616,10.7636851698255,9.33986551212972,9.6926014088843,9.6120598039195,11.4268139829184,10.7522098125656,11.2333727173581,11.1502140136917,10.5462363178213 "371",8.32221761263854,8.4020390861891,8.02778010508308,6.07729316885177,6.59691611192018,6.44982545987761,7.53811291149076,7.32150972781744,7.21718894389233,7.40012787657292,7.30803976507099 "372",11.5318969467708,11.4479570745599,10.7083219670951,9.16941092317805,10.2040956140826,10.4934093443231,11.4001786865879,11.4661633428202,11.3807557834933,11.6681355181509,11.5227452373352 "373",7.58403828566429,7.96364096065335,6.75344123428011,5.61488371433785,6.36186838199559,6.86418378240018,7.66329537746326,7.27494789866261,7.03093108737801,7.04804123758127,7.21502181493005 "374",9.86520892758349,10.0259538949703,9.98590700877998,12.0274339276905,10.4922376107589,10.3748210648138,9.11077840627714,9.22418087913334,9.87668314639141,9.76685270350634,9.54092432595051 "375",6.6077271848552,6.46304776588134,6.52155702075574,4.64558758720875,5.43778714177974,5.52494213250567,6.34699967672477,6.41700761662776,5.7104892060778,5.88898252005338,5.64910430920177 "376",5.98963878082147,6.28057493588452,6.53945439298437,5.12329148338679,5.12418767680969,5.45435632888149,5.41158127901156,6.03943679752718,6.25441840396481,6.41641371191531,6.06529256597428 "377",7.90906291659445,8.39188120658775,8.7229670689562,7.07470698739357,7.17567776690464,6.82519262173196,8.34075443718631,7.97268388566016,8.45711162944983,7.98182314092186,7.74842757298843 "378",6.84372344371014,7.08088598802114,6.81323095846476,4.94419410387592,6.00390758948263,6.03051736948815,6.49114145155366,6.51759189519488,7.21718894389233,6.33590070251447,6.06529256597428 "379",7.78906009917272,8.26775016926807,7.82683584831923,5.8812668252616,6.05413185693349,6.20565743408888,7.50130547645627,6.91009091397774,6.86994486737309,6.88973460730697,6.68018127508015 "380",6.6077271848552,6.84114530884511,7.46942827527499,5.06671461268446,6.25969592333039,5.74518636420907,5.9369990034741,6.76864888687765,8.06123417124591,5.74311119877536,6.28509519859856 "381",7.4062246804254,7.11442263771868,7.16175225433513,8.67957376620759,8.37088554291666,8.03709544896096,7.15728100924063,7.10419174654258,7.39100943196294,7.34445723975138,7.2832669135735 "382",8.05307442972041,7.42579753342585,8.16480232551346,6.72965577471788,6.97418217090216,7.13204296850724,7.88498001914227,7.70495132134486,7.94870454884627,8.37896109446497,8.09906294768929 "383",8.41037307716109,7.7519780301127,8.17612241448612,10.0220662855249,9.05077463319001,9.26556770802073,8.29858835270601,8.1579380291492,7.95485212886411,8.34302445336662,8.24250996755826 "384",8.82697602689121,8.77454175227186,8.95074574199001,7.10000229525131,7.25100929258247,8.39033259099638,8.97023570577672,8.60289469826364,8.8353840722212,8.80874948622336,8.4339732437543 "385",5.96576034774202,5.8625403799736,6.73808903630757,4.64558758720875,4.60803438435701,5.21461805136393,5.54137865292697,5.57941184941936,5.61552538792453,5.45650952534963,5.5648444453204 "386",4.47860358440826,4.28998746829493,4.43062166511718,3.54830022377166,3.54830022377166,3.54830022377166,4.24697193895882,3.54830022377166,4.15581191957622,4.23818768541642,4.23274464232371 "387",7.41480526624665,7.96821042478736,7.26121415402009,10.67095089928,8.84858460251429,8.50883731367514,8.00532127777094,8.21310002224855,8.02664134280364,7.97138952689756,8.36903759883086 "388",4.27379169695302,4.52173032050244,4.53109727184687,6.10311306989949,4.51917288855208,5.21461805136393,4.736433099266,4.27494782787477,4.49869474411581,4.78196079501175,4.64957162869111 "389",7.94496521202076,8.48719472503624,9.83541640939436,6.82412564138579,6.86845499432929,6.7714709429183,8.31982585315841,7.53395441940694,7.46195465447155,8.139213192925,7.77820506591805 "390",6.65235551364311,6.90017952300248,7.65114285598963,6.0509730364866,6.54608201225882,6.05368293120384,7.1761343582657,6.8602800038935,7.93632987909997,6.85583364825118,6.92527032226438 "391",6.62276159563949,6.86109848575082,6.48505898608019,4.80590313991191,5.62125976688193,5.82926094386062,6.22349968702288,6.48486391434508,6.86994486737309,5.88898252005338,5.67601085725439 "392",9.48602603937168,9.54803737408511,9.71271127952081,7.72044941560373,7.70514028907391,7.60624283324414,8.75963172430597,8.78258318084724,9.11292164986098,8.96130645296956,8.49610544797355 "393",9.42813235372169,9.7640663415972,8.91069030306356,12.4467872841351,11.48442703276,10.611514907936,10.1196459378161,10.2509653385894,10.3526208618046,9.62125490377984,9.7651019674301 "394",5.91669169048245,5.8828036586062,5.67786163365234,8.18174114734305,7.95647212895258,7.83128477406938,6.46037622252273,7.03867422770865,7.28732333848181,6.92284225377397,7.06786115492915 "395",8.68934584434608,8.64658918543041,8.28467705094599,6.55657468638091,7.25100929258247,7.61383736342438,8.2194276919275,8.33111769783576,7.90491848766563,8.14850057426827,8.39996079454467 "396",7.56105335493157,7.55924892396812,7.28240498006857,6.10311306989949,6.88211086947595,6.65746273872887,7.47875776629049,7.37545028018652,7.5377746833745,7.60337555236943,7.60287407050954 "397",8.40609122623257,8.14404909879108,8.48903011050334,6.72965577471788,6.67774574857742,6.612207216185,7.82675707818696,7.42742782100758,7.56218085650794,8.05281087128144,7.42583931389514 "398",7.92113035696155,8.45178019430986,8.43354318234649,6.62838823156807,6.90903343211634,6.26595636830419,7.94641071723562,7.46934371045286,7.59408842046682,7.54818974211694,7.2832669135735 "399",9.84796734791309,9.88716617283321,9.76978352477433,8.16396429768604,8.70752735826761,8.41656065075709,9.63725076094278,9.73940788589147,9.68886128878048,9.6078711200763,9.63805966915697 "400",6.37826028686932,5.68818125959145,5.83571964842533,9.39417451251257,6.93545351054901,6.87694543622342,6.49114145155366,6.65607019101962,6.83004228012593,6.71145259511112,7.0581377661878 "401",5.7291387983615,5.75630205634913,5.49810773191112,4.94419410387592,4.95881094319955,4.39026667116431,5.76707020137047,5.44259274699673,5.09271807264536,5.32077713645568,5.67601085725439 "402",8.18895514970792,8.41547235820129,7.71472421930261,6.89829222892027,7.50043052798914,6.74382273337415,7.96811330155918,8.00715966731889,8.62822374295735,7.9555956167038,7.81888169009264 "403",7.82805065086991,7.89329479833376,7.722477213493,6.7618541533593,6.58017568593367,6.59679162433492,7.87926285401679,7.76667701711235,7.74376486076374,7.46120398896203,7.22373327348314 "404",10.5915416903768,10.4887641797295,11.284626299698,8.77236395818563,10.0568760594846,9.21420261944959,10.128087528896,10.6979569679753,12.3267478112359,10.1342857201991,10.2450691519855 "405",7.79563254979044,7.57133277992978,7.45085535003193,9.22469581658734,8.6133158429029,8.64444417657472,7.59510432110382,7.69086601263943,7.6482713495797,7.88507413802691,7.7180186839132 "406",10.5339051039234,10.4760135897944,10.6648576779728,12.3637085201729,11.676574466319,11.5240068831415,10.042638750676,10.2509653385894,10.6591232962038,10.4125050075795,10.3934609510241 "407",3.54830022377166,3.54830022377166,3.54830022377166,4.64558758720875,4.16918380110659,4.57254454079382,3.54830022377166,3.97076798325069,4.87007984850553,3.54830022377166,3.54830022377166 "408",8.08022223206692,7.55924892396812,7.71472421930261,6.17776213550542,6.97418217090216,7.29247571679326,7.98949285798826,7.72582316827508,7.31635638870427,7.83988918114374,8.1362884941569 "409",4.78038542738455,5.54015697544427,5.49810773191112,4.19185126479166,4.3058722489524,4.39026667116431,5.05629560314322,5.15921474215736,4.49869474411581,4.89214603725089,4.98115357179952 "410",7.90299095098025,7.71979593342229,8.34106524726259,6.20176630746007,6.36186838199559,6.36093948153758,7.51614225181042,7.14625069543942,7.15419792357444,7.40012787657292,6.87065613243116 "411",4.78038542738455,5.24667094069968,4.70273040173548,4.19185126479166,3.9890115841535,4.14782244847307,4.736433099266,5.06400718580499,4.58582955381605,4.78196079501175,4.33623189839069 "412",9.68274946154471,9.81558653871006,9.87756893005561,7.68759652119424,7.5522953174416,7.51182049470467,8.72822688154078,8.50186663160025,9.15883121377636,8.45574624502108,8.52794456069842 "413",8.68581910599042,8.8555789760931,8.35108438866855,10.2564741419397,9.18778303062011,9.38539744524798,8.59875464011165,8.66171715458483,8.45711162944983,8.00246574862315,8.30920223246031 "414",12.3333176699706,12.5517530644236,12.5873715596976,10.5429067198211,10.39891424354,10.2346003745705,11.9485050686763,11.7106099742933,12.018440451194,11.9786840309115,11.7450081853549 "415",9.82572113394118,9.9074904049135,9.97624061324769,12.4323424814164,11.3982508539661,10.7731557636853,10.3012365125204,9.93973725693104,9.94607524710582,9.97922774622234,10.2869830470792 "416",9.16754296113089,9.22118423120942,8.38561203769211,11.0000566061143,10.6566291506593,10.1263253981373,9.01515736547387,9.64968651847243,9.21359584278956,9.21854396875581,9.26281069887234 "417",9.44491195402594,9.16666437917543,10.0941401124916,11.9905694769538,11.2996881922538,10.6451399384035,9.85486844557369,9.66413486736803,10.1879159093476,9.85445642268541,9.94474361331861 "418",9.50814886308212,9.84315726807925,9.42122511612406,7.88156902156748,8.81723715692029,8.74787211075106,9.96667632198009,9.75129817831758,9.49828921371844,9.51592051811866,9.71070008998753 "419",4.64185256734797,4.52173032050244,4.97546638098356,3.54830022377166,4.16918380110659,3.54830022377166,4.24697193895882,4.27494782787477,4.73829774126364,4.23818768541642,3.94592105499445 "420",10.9005920016077,10.7360582293955,11.6514468739112,9.2861684887304,9.88788565987143,9.66402116960109,10.4596378104442,10.7283489713372,12.0610012774492,10.7018290690784,10.9210297652249 "421",9.932185152512,9.55714772683988,9.78647388407245,7.82984692987508,8.49939470047741,9.01419253161676,9.65070691891703,9.51069436076022,9.64019961778538,9.7653465991814,9.65416527386219 "422",10.7046944943069,10.9238139927067,10.1906418204192,9.23889883366252,8.83125362214199,8.56462163845462,10.3380860253778,9.99792495516026,10.2503463768146,10.0514438620966,9.99618854242047 "423",9.08429939732663,9.38875877384605,8.99929842498841,6.85426078798228,7.49160064414333,7.53601635244709,8.58829596557315,8.08452505120833,8.92251910725505,8.13454690736269,7.85285252883628 "424",6.65235551364311,6.69296641160022,6.75344123428011,8.31118749724248,9.78187164133955,7.91962981770912,6.66273743128214,7.54966134743154,10.7754619471525,6.53625939289495,6.51821581272864 "425",9.621340841989,10.1046878829606,10.1710039556254,7.92446578197629,8.41810963731537,8.11395719608876,9.76492954746518,8.93041610646535,9.44043316502887,9.05307315857862,9.24377644053609 "426",8.19393334524338,8.20722920541208,7.40333918797982,9.2861684887304,8.73760985817425,8.80522001376409,8.07696568000571,8.27095780233231,7.60195545162216,7.61012661613666,7.69321852897065 "427",3.54830022377166,4.07560683285484,3.54830022377166,5.06671461268446,4.76343465978073,3.9737401164974,4.35251077174588,3.97076798325069,3.97945053140578,3.94912244603611,3.94592105499445 "428",10.4830356140436,10.1026154858274,10.402739615654,8.53964242110826,9.54314343007566,9.77282093103226,10.5901851157763,10.5404816705139,10.5630091024062,10.6675735771075,10.5192360038997 "429",11.6464625325246,11.4710310496772,11.394538515654,9.2074653969409,10.666429354133,11.2633534422217,11.8319213971118,11.7166861758165,11.8754047693823,12.0136685676256,11.6590498003167 "430",5.7000257986004,5.79982726714239,6.69100174166885,5.57739919796435,5.01670287124879,5.25801624538125,5.30447425058107,6.34566665396276,6.25441840396481,5.93425395248081,6.23335959665524 "431",9.11083311656128,9.12641921347621,9.00565026266177,10.5678671027843,9.79979386947491,9.7141752028198,8.42547487931103,8.85051672831878,8.82536894002529,8.95073988195076,9.01091872192534 "432",10.5358638909142,10.9505589570171,11.6046413902127,8.94173649599666,10.0313151746374,10.4748289129802,11.2116506618598,11.2078667339399,11.3244257447644,11.111031932343,10.9707375004465 "433",10.7305797590264,10.6045843949581,12.1760054122539,8.88143687241979,10.2439127906806,10.3980172056197,10.6542052949729,10.7897494771533,12.1344478678183,11.1409533648433,11.2445512023486 "434",7.4233346433558,7.43244281835256,7.12699231844794,6.17776213550542,5.8408949819472,6.09886016877318,6.86312096617218,6.56528938654728,6.97115740445838,6.95519351510259,6.95705547300987 "435",7.90906291659445,8.05237791583463,7.9308198377368,6.33760537438245,6.10256195383644,6.20565743408888,7.16673889189749,7.33064252719431,6.92145522413605,7.08743489363959,6.80220655170267 "436",6.4646125355193,6.61258342379141,6.12856456325381,4.94419410387592,5.39764908336153,5.59180320170385,6.04639115237076,5.84263840078618,6.56351593648969,5.8180555597147,5.89613582798994 "437",8.55273743281747,8.89445010257218,8.24223318532682,6.64578118848052,6.47529295316335,6.90212845614626,7.61590460120247,7.44434191837213,7.67833724212741,7.74501307825584,7.40304374052886 "438",3.97008655127665,4.07560683285484,4.43062166511718,5.27816114646231,4.95881094319955,4.72324945023249,4.24697193895882,4.64355114355199,4.49869474411581,4.34246051744749,4.23274464232371 "439",6.22781582447258,6.08757707107347,6.60883822823196,5.68673393056132,5.51439142996744,5.55881082326398,6.10801834567294,6.59620756668132,6.98331532425672,6.14027133670331,5.87340967120574 "440",8.95845425295504,9.08501803743042,9.04934614773378,7.89601081208399,8.11402443253493,8.36361766000043,9.26312603357272,9.09146859410942,9.18777675371574,9.29570585889079,9.25438203951301 "441",8.10686676058028,8.00869440443831,9.44711921516415,6.42127233239575,7.68206463267475,7.1531134753391,7.40889973684891,7.86399435840566,9.43824511810685,7.6823616197191,7.79577930314979 "442",8.91695021626861,8.87999603593161,8.86250671939524,10.3871613098058,9.99599560909594,10.0078226497053,8.88167953131368,8.8536731198127,8.69208941239287,9.07513008165715,9.15599989088867 "443",6.88155947257217,6.90017952300248,5.86514541966066,5.41530931619833,5.68786865869757,5.59180320170385,6.44473499605013,6.08445307616774,6.35268776105888,6.47762432452458,6.19775514290742 "444",7.23255742572302,7.39209958961505,7.69121046438222,6.10311306989949,6.38142750577997,6.54949985976367,6.99671767479317,6.99325413025103,7.50457191807483,7.34445723975138,7.13412390184023 "445",8.34476791537849,8.43539007666392,8.33097585472411,9.85327718286724,8.94519012149416,9.22906605581933,8.53845857842735,8.30827599759587,8.1813949362326,8.06757677451835,8.1084600941279 "446",8.4731177460049,8.26032284797954,8.4844870178595,9.89870435888457,9.23334449286464,9.14011961895633,8.33659300182343,8.18327426188161,8.33529480285373,8.49265550722103,8.22534231784948 "447",11.1549734120465,10.8045871527178,11.3314974616863,13.1930511545735,11.4965636649388,12.8534149604344,10.7834944214722,10.9611364607764,11.1609355455371,11.084105229677,11.2290470361126 "448",8.63551598983729,8.67478121154594,9.5132368216169,11.2850593828563,10.2426031084798,9.68572968203863,9.23659730688724,9.22661702159954,9.17731822844084,9.12061492682775,9.15373551231987 "449",11.5338583690058,11.3469773792708,11.8292977541535,9.32129819118136,10.1492363651661,9.76434470127426,10.8965074834543,10.9112941165841,11.3053494967477,11.30954751847,10.7828604749665 "450",7.28034739162555,7.23358348078163,7.07928366845503,9.01620360197303,7.87748596753984,8.45080410064663,7.63640716658413,7.54966134743154,7.33538873657639,7.31991758798775,7.45567871962375 "451",6.70973609194007,6.03473941582247,7.63479678432445,5.41530931619833,6.12614548408454,5.4175148732471,6.04639115237076,6.36384896693785,7.24766993451312,6.08168542829163,6.26806503453322 "452",9.49813509069848,9.5525997452163,9.4259678546388,7.91030878238794,8.90599777992245,8.28985371957146,9.57509413491934,9.50468550360385,9.31963252852319,9.36497408501064,9.60529858120061 "453",7.54552247013425,7.69793278885674,8.32081521630306,6.27135914474364,6.41973750499147,6.78509433379566,7.05907407779846,7.31231811600864,8.70307163158556,6.73656644191199,6.93594480505962 "454",8.3536900071723,7.95445818948913,8.4240837979859,9.28890137381995,9.32036262848267,9.16352095877154,8.04158992416231,8.06829377497693,8.24794887955917,8.25120476592275,8.30512332884886 "455",8.61340778184865,8.67198671173832,8.36598350501852,8.00659675579259,7.42821628028939,7.9854210112763,8.60222405328637,8.59913728390068,8.84202235933679,9.00281461302748,9.10064818835019 "456",7.99148015255892,7.81425380691504,8.73830836870151,6.99600080825042,7.60234652881296,7.42807775485705,7.98949285798826,8.25671006792423,8.68102281568301,8.48534897120953,8.09906294768929 "457",6.03616389920384,5.96091715432509,6.15229533335878,4.87732981549012,4.51917288855208,5.12270292620239,5.6591344389259,5.73213596531648,5.77015986861159,5.16791879000176,5.02750813069502 "458",7.79563254979044,8.06095749757165,8.29509519727085,9.59742371310087,8.46832690500909,8.86355173432228,8.03646440075341,7.87025342817232,7.70778539222738,8.08703158629843,8.01660473495846 "459",4.71360779724634,4.94522659172497,4.77805840635708,4.00522961816383,3.54830022377166,3.9737401164974,4.79704755731515,4.14366324222193,4.58582955381605,3.94912244603611,4.23274464232371 "460",7.03475077054921,7.0202222031051,6.42845492233721,7.88880807582996,8.11402443253493,7.55980996663979,6.79127264998927,7.17699871670462,7.24766993451312,6.7489573804274,6.79046862306178 "461",7.99719002784986,8.29708182497682,7.81962824379556,5.8812668252616,6.28074432712116,6.16393427299536,7.27559076168853,6.83470072861068,6.9465242259136,6.85583364825118,6.58799030207827 "462",9.04905878567715,8.91349938430806,9.04318440287859,7.4237930007383,7.3024800928342,8.06502029426276,8.7345628609467,8.4897399118694,8.19183661884524,8.83771561518564,8.6519094917713 "463",10.7029521823356,10.6075101782985,10.6768420424773,12.558832321559,11.4626579178894,11.3788894962288,10.4936321843905,10.3647903605462,10.356101349592,10.5155300843695,10.5262523544784 "464",8.61340778184865,8.85803938608857,8.69572024895472,10.2800100050611,9.39064709862759,9.71944683417108,8.14996041764452,8.61782708032254,8.88765325165449,8.69620648577035,9.03818342393511 "465",7.86600979372371,7.90764242244625,8.04022746166304,6.85426078798228,6.66194786109538,7.12138953885052,8.10660981787604,7.35769553409876,8.16028132058192,7.72028003276501,7.48490815233371 "466",8.78144338716766,9.12233219979661,8.59397327500127,6.7132762502854,7.13077178661059,8.28511545526134,8.63984593924508,8.4897399118694,8.02079403326893,8.39854482556773,8.07529774133243 "467",9.90212640740691,9.95650857306294,10.1639251296023,12.8383374029778,11.9208838844764,10.6986070967486,10.3961534170129,10.2072414471708,10.6026172899241,10.3921580282051,10.7718333907813 "468",9.16501306965848,9.04239240572551,9.06159116894216,7.27661531753778,8.17030206884004,8.26600477790436,8.76583136463512,8.73201995862772,8.90677549196692,9.12532036149569,9.06735005114585 "469",5.7291387983615,6.20343391361201,5.94971686400677,7.50155353167975,7.38115686904418,6.58120453943995,6.79127264998927,6.08445307616774,6.03386567505439,6.08168542829163,6.71791173993668 "470",10.5782976694326,11.1377611205516,9.75666726238488,9.305190779717,9.13226992605728,9.54435909258784,10.685589059233,10.6278304574577,10.2602873404932,10.5973678307078,10.4350635179061 "471",8.0365361305301,8.24158501242507,8.37091579395097,6.89829222892027,7.0486043849577,6.95118912698659,7.96811330155918,7.78667569975054,7.86629461016776,7.82257122540105,7.84161802387833 "472",10.341265129104,10.2698519674087,10.3918745742166,8.35883073089523,8.3070820659982,9.00845975317351,9.43629935169704,9.71185621439532,9.99154361590547,9.75172040936307,9.36616753873087 "473",8.00854214661264,7.83442586481981,7.73785856428288,9.05846369834881,8.8101774556847,8.49249372898822,7.7156042158484,7.88269028662783,7.84658584706185,7.65651370055754,7.87506113511328 "474",5.20160456221532,5.06782347272974,5.37656757260563,6.62838823156807,5.62125976688193,6.00694829385502,4.95996179375818,5.70299476097377,5.64795953546789,5.48824617712437,5.19596301279726 "475",6.83088295905748,6.90017952300248,7.61826206548417,6.27135914474364,6.23832076740441,6.00694829385502,7.02823820460525,6.96998692311962,6.95889432739089,6.95519351510259,6.87065613243116 "476",4.64185256734797,4.58626187939733,5.08949593862507,3.54830022377166,4.16918380110659,3.9737401164974,4.35251077174588,4.27494782787477,4.98704716969574,4.1133546816754,4.23274464232371 "477",7.80217502921643,8.03070215418876,7.38388137229294,6.42127233239575,6.96138984243564,6.48384779798115,7.6962113969891,7.51807320385568,7.20688199758678,7.43099209888362,7.45567871962375 "478",11.1600620332054,11.2839104333273,11.1755323899181,8.76845148200469,10.1728069580658,10.0996226853339,10.7842575816068,10.8271395888766,11.6693675614274,10.6764143380913,10.5608311486164 "479",11.6423776938818,11.2213061233021,11.7856956769986,13.40368286715,11.9707728591095,12.7737444696598,11.1567219387587,11.283498072286,11.2829734699861,11.397720390158,11.3377257080465 "480",7.07874176605886,7.28595559966957,6.95249236326906,6.12845239811469,5.62125976688193,5.4175148732471,7.02823820460525,6.38179577561934,6.25441840396481,6.33590070251447,6.19775514290742 "481",8.46078570459549,8.17598611502826,8.55983506215595,6.62838823156807,6.67774574857742,7.09984026877219,7.39290093139501,7.54182942806729,8.22271435187535,7.80504171762109,7.30803976507099 "482",7.56875606870341,7.29328277641992,7.91738279967502,6.42127233239575,6.25969592333039,6.75771463598581,7.05907407779846,7.01614586013828,6.97115740445838,7.66301951594249,7.7180186839132 "483",9.91271837578969,10.045504659129,9.73772036134037,8.22809899650974,8.16477240153267,8.6845546047868,9.42850797393727,9.22904905418835,9.62873291838365,9.50332568693621,9.18733328198418 "484",10.5329247120878,10.8147496221803,10.4488981298133,12.6017617716246,11.4023616437032,11.4498408775893,10.4461983590863,10.6452292258748,10.2981741882662,10.4856621138662,10.7022918733724 "485",11.4850187154504,11.3403976864293,11.162096276883,8.82605142978317,10.262124565693,10.5228500288638,11.2358417935858,11.0008026930856,10.9204222484576,11.2380631516879,11.0640873476908 "486",6.85644829729563,7.0202222031051,7.21786362165879,5.53878302118535,5.75123300751287,5.65534952806707,6.3637745907004,6.38179577561934,6.57972732505406,6.26793748710628,6.14255176514714 "487",9.02135188313687,9.33326927180689,8.31570786320985,7.2542939960416,7.24048839399441,7.11065571890034,8.44879216660265,8.12170010225803,8.33999530694375,7.83988918114374,7.69321852897065 "488",4.56403575450106,4.58626187939733,4.17697833106617,5.81955380472203,5.31322437542958,4.9129913680454,4.95996179375818,4.14366324222193,4.98704716969574,4.89214603725089,4.82879049046518 "489",12.3680885794261,12.7348124708564,12.0469097098629,9.69953119567674,10.8752063039882,10.820524633291,12.2719287149357,11.3614682168514,11.8113508034668,11.8711355905754,11.4475915486806 "490",9.14461248651164,8.77193440502366,9.35562266985496,8.10306875627533,8.37088554291666,8.08151841378303,9.06124309529953,9.12057934246753,8.84863020211787,9.497894042283,9.42555326987163 "491",9.79169486851006,9.43726557043811,10.2466609542363,11.2685451426565,10.4337612753273,10.3215132261354,9.47084874315955,9.47015406967059,9.45132386977925,9.66229614437968,9.47897708223457 "492",11.4547975266178,11.4149371581168,11.5723940307558,13.3668247110214,11.9806254746361,11.9254569273859,11.1922313965689,10.8012320124396,11.0846679594715,11.1216634458201,11.1386595851301 "493",10.6915755697644,10.36801172698,10.6013007522221,12.595706650859,11.2876744498893,11.1065788828143,10.426779299819,10.217073050604,10.464337235985,10.4297197189772,10.4125200763007 "494",9.87452726689052,9.54346052205762,10.4418922503528,11.6345423183152,11.105887704776,10.8922879882398,9.93815538550881,9.87910297731437,9.99452447687586,10.097654322178,10.0261971457725 "495",9.30945556143007,8.82823348478184,8.96058802310873,10.8322819982431,9.56845689026225,9.90361849213205,8.97023570577672,8.69729742885466,9.04838552577783,9.07025763088848,9.21148331236238 "496",7.74898018933612,7.80916617149663,7.27184892251145,8.41499745971143,8.29194753636045,8.48425182913367,7.39290093139501,7.25588912772885,8.03246495373817,7.40790664530083,7.3162027222452 "497",8.09093938366201,7.89809328778013,8.74970806707209,6.62838823156807,7.32255949543924,7.50366343129384,8.20122871952723,7.73957083529562,7.91125597625291,8.25550801443166,8.0215884275208 "498",7.5139458127215,7.76254689021259,7.12699231844794,5.68673393056132,6.17212405558635,6.432497361932,6.74125749547841,6.45134919921931,7.08828955603528,7.05799252038243,6.87065613243116 "499",5.54375559944074,5.94181150757653,5.67786163365234,4.55382476248647,4.83273793005469,4.79051865717914,5.14502080212905,5.54656694097749,5.67960036331149,4.94316935660089,5.19596301279726 "500",9.20250300256374,9.83818345260913,9.63906176806089,7.95236784913055,8.58463511053843,8.06502029426276,9.42263668607332,9.46603663920348,9.45781902601409,8.78514983441053,8.86627559627345 "501",11.0656020787406,10.8700077328999,11.6310598284776,12.7216112929918,12.5954902868031,12.6526935760291,11.4945947994428,11.153230283247,11.251550655315,11.2304431300216,11.2875098285037 "502",6.73757181762199,7.47167867409579,7.73018851223512,6.15332962573924,6.56323269003586,5.80182700427773,7.13817459357482,6.79544173688354,7.20688199758678,6.83277277346818,6.64141001370651 "503",7.92113035696155,7.99084222026797,8.62319443664458,6.82412564138579,7.28211410056228,7.52799643435851,8.06191113975279,8.00715966731889,8.01492283068152,8.26407608314835,8.08485102726256 "504",6.6077271848552,6.20343391361201,5.80562626524342,8.34312427842712,7.96286233140267,7.1841457180674,6.71556798592224,6.76864888687765,7.40907859597,7.00752371135829,7.01856456429921 "505",8.45250525783628,8.42214226914085,9.00881571426146,5.96879451060309,7.47377566559152,7.3299137996592,7.67655263199372,8.22290605381997,9.51083683911358,6.80932917396642,6.58799030207827 "506",6.22781582447258,6.38180153379745,6.1044136676551,5.37127805426564,5.43778714177974,5.16956541079112,5.95959972155521,5.94464232625034,6.8829993213614,5.66362134495617,5.37741497761244 "507",5.40326495224052,5.77824442532879,5.33324863235043,4.64558758720875,4.16918380110659,4.9129913680454,5.41158127901156,5.36813953141026,4.73829774126364,5.12639274786288,4.98115357179952 "508",9.94403540810372,10.0292308145702,9.73198740870318,12.556000026876,11.3431056151795,10.5238545853961,10.3719882749151,10.2231839458102,10.1240222680986,10.2334724577099,10.2818099330511 "509",7.60666010902973,6.97524678447138,7.09136174566226,8.28402107809258,8.37088554291666,7.85708585459775,7.2131083928765,7.08268644591105,7.49614943333921,7.23492977547342,7.46304227382973 "510",8.34028603840679,8.60030164643934,8.54682164678412,6.61077692935938,7.66647186177329,7.51182049470467,7.95186718386867,8.21801139525808,9.14815977020412,7.67594321107183,7.65519474955602 "511",7.33565903147877,7.82940937112543,7.01730337161271,5.72122142567301,5.58662010220739,5.71592278023559,6.53605336162418,6.46820733456883,6.70308285135445,5.86575800256349,6.17960026676426 "512",11.1149159320925,10.9488297534387,11.8044788501286,10.0022248432524,9.86082380848875,9.45447601338872,11.0331161141397,10.6606206377189,11.2059904601107,11.0719745610094,10.7038398463932 "513",7.16283922464112,7.33647290912513,7.04242098979395,8.53964242110826,7.99439375813141,8.10322540131312,7.03859140210642,7.51006601123826,7.27751286534764,7.37653420130328,7.51355225377503 "514",8.25236519168516,8.24535215755827,7.97688346858888,9.58191004459849,9.05675102942571,8.94984168180569,8.34490387233704,8.33111769783576,8.36788038073976,8.00758038701829,8.06568053151991 "515",8.97299212607406,8.9229304161299,8.74211830039699,7.84481583067844,8.21379020954388,8.26118717505858,9.42263668607332,9.12580961555402,8.65863122399849,8.95867206484036,9.15146757110382 "516",8.62818423221203,8.38506923685766,9.21745910567667,7.08741090627332,7.71275036501565,7.83777865844481,8.26394247874175,8.21310002224855,8.87152188693131,8.37896109446497,8.44142364658327 "517",4.47860358440826,4.52173032050244,4.70273040173548,6.55657468638091,5.9248799958122,5.02279148452906,4.90840757914297,5.54656694097749,5.2787215413229,5.48824617712437,4.88205559019666 "518",9.53190194105546,9.42072277847819,9.68923458440224,11.3975503825158,10.6973499512407,9.95517269379991,9.56269067564775,9.44944832477595,9.20846888718832,9.72097098535237,9.88731381630164 "519",8.81411287320246,8.82068466009041,9.21745910567667,10.4677379120527,9.5303180887227,10.1196959219102,8.72822688154078,8.9511914865903,8.97479625390221,9.17154871505966,9.12165494744947 "520",7.31745897614819,7.48452166404071,7.58460878049789,6.38006970713804,6.62980875551585,6.6274551501056,7.22220388613709,7.17699871670462,7.23758185587131,7.55520541728489,7.34041517352733 "521",8.97876645867277,9.42238562480594,8.79809020327124,7.85963022288562,8.06736022331051,8.74787211075106,9.47463695789972,9.02863181280462,9.20589855535578,9.29987389895535,8.89367732498072 "522",10.0924980595298,9.69421472479868,9.61018326765666,11.6484365898119,11.2857683641788,11.3159126650663,10.1835222191465,10.1116570668768,9.84234906815211,10.3764606134688,10.6357298069217 "523",6.28617087473548,6.51469182046056,6.87059106542218,9.00959064307579,8.13114022707624,6.99860798635178,7.37672094825418,6.65607019101962,7.46195465447155,7.16309172878793,7.39536368925421 "524",11.619009227286,11.955596348973,11.1312180678114,8.81471419617238,8.58049083175767,8.98529784302089,10.1172249523826,9.80443914074973,9.76590255325414,9.79812291228266,9.57685423037748 "525",13.2008348095474,13.2229094187235,12.4254494205654,10.7632331081676,10.7600198094724,11.2723469906854,12.6274666374653,12.4954673837007,13.2325082677263,11.3761772311948,11.2360177924907 "526",9.7450405277776,9.9576556060851,9.53095500793312,7.97294433783829,8.93224408410154,8.76497740459551,9.69196594392322,9.61478013476802,9.51291753547009,9.42726138801707,9.47354137827644 "527",7.11086380579525,6.56449352089582,7.33404463366619,6.02413172001014,6.0785626727083,5.98296049015383,6.68940081877738,6.76864888687765,6.59575316118728,6.83277277346818,6.73026703288782 "528",8.91393939410353,9.28289979667133,9.5636009845266,7.74460433271526,8.47280642196008,8.0200763006083,9.1563107349151,9.05902616526276,9.01646817763471,8.72440182469326,9.09121266995768 "529",4.38318186180789,4.58626187939733,4.3153118826282,6.15332962573924,5.68786865869757,4.9129913680454,5.26656920680189,5.06400718580499,4.49869474411581,4.94316935660089,5.27185771113154 "530",7.6141220077179,7.83442586481981,8.59818420429568,6.61077692935938,6.86845499432929,7.19434131217863,7.99478839831307,7.6330983687342,7.6482713495797,7.392306529803,7.73634128687924 "531",8.34028603840679,7.96364096065335,7.91738279967502,9.92353218624617,9.31538675493154,9.41602732141334,8.50177381684698,8.33564284497309,8.32584747663876,8.84914095394038,8.83551932912319 "532",10.4250316378231,10.2456408576791,11.1860521542528,8.59813876051358,9.39772612519906,9.05090987272044,9.99727972493032,9.75298881703293,10.1294561798736,10.4067208120479,9.95647975434138 "533",5.06174854283329,5.43096210363813,4.91368556592511,6.46128859958821,6.17212405558635,6.32372596223563,5.54137865292697,5.54656694097749,5.7104892060778,5.57893710519621,5.98336777510678 "534",9.99618868871329,9.87264523900797,10.3500740427422,8.21088943820607,9.04477335227232,8.75473862017161,9.50087940174002,9.62589475463826,10.300584664156,9.61958870811479,9.24377644053609 "535",8.29004138613078,8.10310359040927,8.0464109394713,9.94100827166099,9.33026315009008,9.28939860356225,8.32403599346097,8.34913352383126,8.56541213920138,8.7336789488075,8.76307618452681 "536",7.38890737314115,7.96821042478736,7.83400743326457,6.02413172001014,6.25969592333039,5.65534952806707,6.80350412324311,6.51759189519488,7.11060007305094,6.61984398459466,6.25082171740127 "537",7.76916012660847,7.87393883350761,7.53259773401686,6.91267003685449,7.17567776690464,6.3424578003934,7.66329537746326,7.41889512543373,7.85318554944182,7.44617784201444,7.54163419063044 "538",8.36255712123935,8.60616960519582,8.35606792036895,10.70305510605,9.39772612519906,9.36086615048102,9.01255332160039,8.83782155846211,8.84533006878369,8.57067138358356,8.83269047384802 "539",14.3864133620234,14.5189773861497,15.0455665586091,12.3269644125823,12.8523034928073,13.266013155977,14.3115639991194,14.205812309425,14.1571046577427,14.3184478567655,14.3416660423029 "540",10.3951308847972,10.9031271386588,10.4891011972721,9.3711492569437,9.4711490953103,8.98821352100457,10.3689389677166,10.1748178865505,10.3161553304096,10.3605904935311,10.4172457685466 "541",13.7822329954551,13.8616426182521,13.7504456432676,11.6264650979516,12.478542424273,12.4551791540954,13.5859379320449,13.598230867161,13.7422669541302,13.5013075913426,13.3916316038864 "542",11.1530605420058,11.3875405868081,11.4676423980379,13.6134224930175,13.0827308869943,12.2893548406112,11.6336238966416,11.6979415537226,11.4888041685787,11.6486648397987,11.9210148068808 "543",10.392971211199,10.410513188041,11.3738294172668,9.12115207939505,9.01131205125623,8.85079168528135,10.1507544590629,9.59417813428526,10.6619381893228,9.97922774622234,9.62830925399279 "544",6.96609768642662,6.9193225937545,6.96569370017792,8.25633177295684,7.71275036501565,7.45371945467911,7.01780895122303,6.99325413025103,7.06562328853505,7.04804123758127,6.97785631436976 "545",7.591618665772,7.9265522634572,8.03401726116649,6.61077692935938,7.02422802117677,6.44982545987761,7.53811291149076,7.59577391721903,8.01492283068152,7.02792701449734,7.03848901430683 "546",11.3146584841489,11.2825381683118,11.1804511610999,9.84401748691189,10.4303142109512,10.0263725052202,11.0579419399003,11.1634348896954,11.2459336993013,11.3218931533536,11.3436953958177 "547",5.83953755398429,6.0166588706562,6.19855602264465,4.55382476248647,4.41984085544861,4.48644669672571,5.10151945545351,5.01322721136904,5.32100047365207,4.83852784420667,4.64957162869111 "548",7.22280413999188,6.86109848575082,7.58460878049789,6.55657468638091,6.32190141837547,5.98296049015383,7.05907407779846,6.87289813241104,7.09948857397956,7.16309172878793,6.73026703288782 "549",8.54107156449348,9.22690519518961,9.7204526766636,7.06188847868238,6.17212405558635,6.612207216185,7.49382899115928,7.30306692115969,8.07822326015754,7.12576620834847,6.74251485586564 "550",10.630559449633,10.8329885823007,11.0536841798429,8.85216312021143,9.85911546353578,9.17123773748359,10.5530525204015,9.87134126721195,10.1918168273526,10.6116849857639,10.3848014937035 "551",13.1364603812786,12.8399279963713,13.6813652951292,15.279711220615,14.4513289992183,13.855430655823,12.5746293670682,13.1708433581269,13.0728267389678,13.2160467432152,13.3836862565596 "552",12.1647707772501,11.8331546295284,12.4030801736611,13.9575531901799,13.1636651339951,13.1755907386072,12.0134045989482,12.131930788137,12.2462002902276,12.1288121975481,11.9812907964469 "553",10.4176143551016,10.3834569076551,10.2466609542363,12.1338314506619,11.5302275884908,11.2237201982925,10.5431672721845,10.4391249368636,10.6181609884939,10.3833492611789,10.3982493927484 "554",9.52797016741893,9.42404655563583,10.3748090348983,8.19930091953913,8.55537151739611,8.54097821295531,9.53574703682995,9.01460142093489,9.53150991828696,9.42726138801707,9.28780498055758 "555",5.1102803075969,4.75624419227938,5.19311942679736,8.94173649599666,8.000617835345,6.53337388382174,7.04886966201994,6.83470072861068,7.49614943333921,6.64663319616527,7.22373327348314 "556",6.9184097826443,7.54706220423201,7.57607042757072,6.12845239811469,6.59691611192018,6.30473681676143,7.13817459357482,6.75505909917696,7.09948857397956,6.87852433571936,7.3243192572221 "557",7.39759226141577,8.07373159444057,6.30781724882702,4.87732981549012,5.95174206023759,6.00694829385502,6.57956677089401,6.58083381215475,5.64795953546789,6.04117709694692,6.28509519859856 "558",12.8557368626652,12.9373208666282,13.153544762093,11.1808087189828,11.8217633688673,12.1437294407753,12.8094129273124,12.7574447755341,13.4087449839266,12.9971343242731,13.0064221943698 "559",6.65235551364311,7.34354589854347,6.55712549554688,5.06671461268446,5.43778714177974,4.85356377363824,5.8906209020639,5.67318746075466,6.19190554505257,5.390508541124,5.23451608884748 "560",9.42602110683722,9.43890945844959,9.91684090835554,11.4038650225971,10.5032162891312,10.0696672029651,9.27403719229547,9.79790262233915,9.49408229005173,9.67839108555383,9.83458568262427 "561",9.95871260679007,9.84067250449827,9.4633584075953,11.3538618168919,10.9692588320941,10.2840574097827,9.85777191856407,9.88065031937561,9.81225495616702,9.75627679270274,9.73513239781039 "562",8.59472142415232,8.65227191007754,8.50706045886544,9.81776951865282,9.12090606831519,9.39641153378936,8.38977501380715,8.48159830870355,8.8353840722212,8.37896109446497,8.53492530946945 "563",8.4812808049828,8.14808023567777,8.53808023308155,9.91824779932998,9.3128923632722,9.14011961895633,8.08194902107331,8.4061743996013,8.67359756310586,8.75205586163121,8.76604494088241 "564",9.17510610384297,9.20967373801803,9.68726083199219,8.92426173049649,8.37567829613135,8.07604005576735,9.53574703682995,9.33444964278885,9.35253864980812,9.36497408501064,9.25860252902264 "565",6.53003463405643,7.01134044782061,7.17315278563807,5.911083037832,5.86948201497142,5.93366313679853,6.97530809965684,6.54957034296888,6.42656981487671,6.44735550801757,6.30191763602776 "566",5.98963878082147,6.51469182046056,6.6422828401053,4.80590313991191,4.51917288855208,5.45435632888149,5.84257292711029,5.28887854364493,5.14207053784841,5.66362134495617,5.34323580728863 "567",8.05307442972041,7.75727219503807,8.1127291879404,9.32129819118136,8.58463511053843,8.5449458429654,8.12603830580389,7.81291420734027,7.95485212886411,8.05281087128144,7.86954111288269 "568",8.55660514613917,8.39527513861423,8.35606792036895,9.57968011869381,9.12375544281463,9.04251928430416,8.29858835270601,8.34015380589149,8.27274833599991,8.46691872584193,8.39229206337088 "569",9.56489612883542,9.74691805503173,9.3996875934051,10.9534636565864,10.4644196919081,10.4100203142747,9.53755902694178,9.61849453460027,9.4027771114501,9.67999074387503,9.6795658597232 "570",8.81411287320246,8.34701589034485,8.47077107904865,6.7618541533593,7.84324791613154,7.73017531178659,8.25073209190262,8.29439486483488,8.30195416064893,8.21188497465407,8.14544619843603 "571",10.4830356140436,10.1988772212299,10.4003322245303,8.94173649599666,9.79265168242774,9.61016896255425,10.6491869482161,10.4846015946639,10.1456361567552,10.4783272954527,10.5183565556235 "572",13.1999086398908,13.4235126610644,12.634987041136,11.1420497309778,11.828325662752,12.4861736403297,13.3079245486898,13.098731080862,12.9553681548661,13.0500386549669,12.9787186880204 "573",11.0103223861425,11.0894001913842,10.8376109114146,12.7560773488461,11.9476522770784,11.6907071204152,10.7034513389718,11.1077163745979,11.013722762248,10.87450037426,11.1208093998223 "574",8.53716184281204,8.00425211179307,7.04242098979395,6.88376684868542,6.94848101549024,6.90212845614626,7.79065468949202,7.46934371045286,7.32590428280078,8.03789167558608,7.60287407050954 "575",8.89879019129003,9.23827945965716,8.40015972467653,7.89601081208399,8.38045514083166,8.25635338367242,9.26093385697583,8.63993930290509,9.19815994719563,8.94808608874814,9.17845016583027 "576",9.0572680471116,8.70789903186464,10.3018759557396,8.21664886829603,8.04946300802492,8.31331375315718,8.45264192153166,8.72858512868616,9.35486059647082,9.63451561359997,9.1377844751529 "577",8.97876645867277,8.68313232668749,9.1066052071882,7.79172695409009,7.91092643271975,7.97368095160281,8.83821783785095,8.50186663160025,8.77074632985548,8.81167244606435,8.72085810481249 "578",7.65085939919941,7.35758762707936,7.55883943959597,9.02278635626887,8.40878796661352,8.27559185040856,7.27559076168853,7.80639942758163,7.94870454884627,7.88507413802691,7.82459963322904 "579",14.1820246797124,14.0348433984076,14.1425403204383,16.0413189563274,15.5204226484536,14.9720373366308,13.5601039877284,13.9666493809405,14.0109567353152,14.3257456141227,14.2637227302868 "580",3.97008655127665,3.54830022377166,3.99458687560867,5.00715176399614,4.95881094319955,4.27998953468607,4.24697193895882,4.14366324222193,4.40133275723348,4.34246051744749,4.33623189839069 "581",8.96428701282416,8.66638139372492,9.37537352520424,8.01323366988297,7.74279308444626,8.0143581580013,8.9210941051909,8.50186663160025,8.74971683939472,8.9347433177825,8.70237886857615 "582",8.96137358383928,9.05959422579634,9.34814578196487,10.5497570418822,9.58921720812363,9.75923494716081,8.87309143627635,8.84735340707263,9.05696897032904,9.1463067756953,9.15373551231987 "583",7.34467278053384,7.31504121459539,6.81323095846476,5.96879451060309,6.05413185693349,6.54949985976367,6.8747483721195,6.96998692311962,6.49672271584863,6.79745975501333,7.06786115492915 "584",9.39828981515611,9.331500338693,9.59552421170807,10.9439617230127,10.1851313007098,10.0765301022636,9.36665335211099,9.31397698309673,9.46213293243997,9.45742421826851,9.46443608566694 "585",8.01418474594075,7.85431831235001,8.14189122681626,9.51579960554126,9.03572431573719,8.65915935363263,8.2194276919275,8.06284235810606,8.2379081314356,8.19405842176762,8.32540318660187 "586",11.0601684633886,11.1276064630022,10.8614342752128,9.56622765913253,9.24647539156935,9.50215848564467,10.3597521777827,10.3932521184581,10.5859165079026,10.4532932624816,10.3436887907208 "587",6.6077271848552,6.3677860433118,6.32866748787329,7.80709668383475,7.08440208246633,6.92687122010297,6.85139714343043,6.48486391434508,6.76092516512381,6.55054143952896,6.26806503453322 "588",11.4344675226633,11.161346913841,10.7905898529454,9.88251491858858,10.4291633565408,10.3825946313385,11.4174982756256,11.3204471226731,11.3035480978001,11.2787410016814,11.1703556426013 "589",9.1776183589612,8.8307409960084,8.79075173922686,7.47288652092197,8.01298567750114,8.19704417881253,9.08869793487312,8.73544661786784,8.65108932809141,8.53219178875999,8.5693302404221 "590",9.56489612883542,9.27739719758963,9.65126340094331,7.85224213972544,8.42274793070935,9.10025281136537,9.50829034933697,9.41355144952952,9.13200299648332,9.3429258727378,9.28780498055758 "591",5.89146640696981,6.17132176086361,5.45889453101379,4.33331678257734,5.17436496058539,4.85356377363824,5.79272028164116,5.11259910555834,5.32100047365207,5.03853376538012,5.15610281821546 "592",11.5431388792934,11.634852641196,11.6982519582448,13.2773175049196,12.2457393550776,11.8904482670121,11.0990054250745,11.3158799143395,11.3065491809334,11.3618003840936,11.411101827067 "593",8.94671742848271,8.75619043860649,9.07070714442444,11.1689934046915,9.42107496965634,9.0340795627192,9.00994456412125,8.63627742885038,8.92876870555466,9.07998611656099,9.10064818835019 "594",7.64358689375606,7.3645570520418,7.48776309257842,8.77626583760822,8.41345634845132,8.00861716750595,7.60900468236282,7.47758144184037,7.70047987286092,7.63019097676112,7.65519474955602 "595",8.54107156449348,8.54333002884344,8.45227747610215,7.44363314681225,7.29233343640058,7.48720844411563,8.18742674577586,8.00147085187088,8.59322991184676,8.03789167558608,8.01660473495846 "596",7.99148015255892,7.53477084058202,7.65924649376092,8.57592049462451,8.46832690500909,8.30865224959344,7.42472141449871,7.72582316827508,7.72228569452455,7.66949593069283,7.7840870982867 "597",13.7904598226349,13.5700938205544,13.7610384101576,11.9719903854743,12.2349134696067,12.6126535862035,13.464668722991,13.34485246522,13.647340472463,13.7527292879964,13.4431634404722 "598",8.41889875238366,8.25659475684565,8.13029729827299,9.40932290758582,8.92898932025291,8.95878783868997,8.25514904775311,8.25671006792423,8.33999530694375,8.3144397460474,8.1084600941279 "599",8.86800544083325,8.54943430095146,8.70746062249964,7.22014278192286,7.62673110761834,7.3482709372649,8.38172000092873,7.87648532555971,8.21761388082079,8.2425594543444,8.05599853329732 "600",8.85236285719047,8.69143530156097,9.40929956547201,7.97973818317769,7.94360579430254,8.04833058543425,8.61601872166596,8.79248629950711,9.45565722320617,8.45574624502108,8.71779464807795 "601",9.53582302322955,8.99623582398591,9.86365453088015,11.1660243937268,10.0479062052631,10.5457796663362,9.39291617741073,9.54623097626643,9.55593263440695,9.89771579249255,9.63481685042367 "602",3.97008655127665,3.54830022377166,3.54830022377166,5.2287614540209,4.3058722489524,4.14782244847307,4.12059456186923,3.97076798325069,3.97945053140578,4.1133546816754,4.50758419823284 "603",11.3401022332427,10.8485288386906,11.5078907117088,13.3081111424348,11.6977542045833,12.0224624386574,11.0169744314651,11.1221760767577,11.2143237664968,11.3563093972778,11.2890574852634 "604",11.2558628097587,10.9835891591669,11.5289794553245,9.66839227629136,10.1534239687427,10.4401304592274,11.2787141066205,11.1823761209012,11.0254276557003,11.1877979831636,10.8934850927677 "605",10.9418019744232,11.0447681525681,10.5093488269158,12.2067922572748,12.3341589735363,11.336640334056,10.6212695687044,10.7814913449302,10.8282053061651,11.059741021913,10.9860853855498 "606",8.55273743281747,8.92762288631626,8.36103425295079,7.4825061660954,6.78362663914756,7.58321459177539,6.74125749547841,7.18710224326981,5.98511354074592,6.12102121355555,7.02856174187383 "607",9.65957741958844,9.38535254891327,9.7281527398313,10.8096309517258,10.3265882396982,9.99193810052117,9.42263668607332,9.38766339818314,9.40725862009181,9.36894687628019,9.51822485167951 "608",8.15871854385556,8.39527513861423,7.73785856428288,7.50155353167975,6.88211086947595,6.26595636830419,8.02097721419156,7.50201375749303,7.42692214584957,7.46120398896203,7.49212312327991 "609",4.14270956135568,4.52173032050244,3.54830022377166,6.27135914474364,5.8408949819472,5.21461805136393,5.05629560314322,5.06400718580499,5.74066404330379,5.16791879000176,5.19596301279726 "610",7.78245739995991,7.58331550688759,7.73018851223512,8.60693096286727,8.26119229282476,8.09241288324656,7.54536214988635,7.36660049554979,7.65584716466506,7.63681713218184,7.57597916990979 "611",6.08114303943217,6.52730961170283,6.02927536298391,5.37127805426564,4.95881094319955,4.79051865717914,6.08778488450736,5.36813953141026,5.47688516711479,5.57893710519621,5.23451608884748 "612",9.67031849314298,9.91223123965749,10.3488260888687,8.16991436634235,8.61736685659035,8.50883731367514,9.28702250294436,9.1720472001699,9.52533905528631,9.2576411005459,9.176220807149 "613",6.86905962463961,7.00240275619582,6.88457464649699,5.61488371433785,5.95174206023759,6.26595636830419,6.49114145155366,6.53367259212264,6.65808508296573,6.59253306201405,6.4447705104112 "614",8.00854214661264,7.45219532147425,8.04022746166304,6.8690907757931,6.59691611192018,6.92687122010297,7.5308267704392,7.46105825513585,7.62530056654001,7.53405438641961,7.25805623997653 "615",6.62276159563949,6.0166588706562,6.6256602057308,5.12329148338679,5.12418767680969,5.25801624538125,5.81788128542292,5.89461424683779,5.40139710278378,5.79354444200787,5.53547894831993 "616",8.0365361305301,8.05237791583463,8.69964434885985,7.17329607382823,7.20845157211192,7.73017531178659,8.16412493691205,7.91936722856588,8.03826505815161,8.32266491485865,8.1084600941279 "617",10.575443775735,10.2698519674087,10.4765862656926,12.3588413731646,11.7322215954845,11.7325815639124,10.7131019742034,10.7979606038241,10.7071538588603,10.9638687519014,11.0784783137622 "618",13.8406430766546,13.4635216479963,13.7204859361528,11.7648665769734,11.9770862796402,12.9837854860801,13.6627474827175,13.3979445653683,13.4951954230303,13.4348970788056,13.3519536139402 "619",10.482020019862,10.5712538165739,10.8438252169044,11.840369867366,11.3905853132816,11.2081819390662,10.666675310806,10.4211631415911,10.3630372320964,10.2732216650735,10.4489763316817 "620",8.07483354014599,8.46152542794402,8.77967347546497,6.62838823156807,6.36186838199559,6.78509433379566,6.85139714343043,7.28438262245523,7.32590428280078,7.25233733061746,7.54163419063044 "621",9.28403502880497,9.64664223652351,8.99291846848737,7.68759652119424,7.85016117313733,8.81510744800008,8.89588024617448,8.89102014276543,8.72478802427873,9.03817875613548,9.08884410760406 "622",8.65728994392668,8.56458271440011,8.67991606182067,9.88612830949794,9.15751570756603,9.33819688549636,8.73139835478309,8.38886292662863,8.52883814354876,8.6609787294778,8.70547525126569 "623",8.74463002246685,8.90400622147225,8.95731472595322,7.79172695409009,8.03134008902296,7.82476137101342,8.83232261746188,8.68671532790733,8.48708009028369,8.68349585739117,8.64547463381815 "624",10.3612870497169,10.4816058459837,10.0941401124916,8.364028348835,8.32205904945651,8.61832519719775,9.35847528620145,9.44736130237212,9.49828921371844,9.12296956423228,8.93909674786722 "625",7.56875606870341,7.39890304907699,7.73018851223512,8.66701779572049,8.33195779092463,8.10322540131312,7.62277144374926,7.55745065008234,7.54595639693718,7.56218687853446,7.76636814679326 "626",5.89146640696981,6.12169436992618,5.19311942679736,4.33331678257734,3.9890115841535,4.9129913680454,5.0091772610784,4.78227634053133,4.73829774126364,4.83852784420667,4.88205559019666 "627",7.90299095098025,7.79893645999441,7.78303693228976,8.74076252402032,8.49939470047741,8.37703711426079,7.808819426911,7.64044796691853,7.5377746833745,7.93962609998984,7.91311819589957 "628",8.3536900071723,8.54943430095146,8.31058231591351,7.40367358381682,7.50920625035094,7.05573632290516,8.51656007542645,8.11644787863143,7.78578159383681,7.88507413802691,7.94495448529507 "629",9.19011437669316,9.39723929586054,9.02453951682281,8.42497820597223,8.55958861825006,8.17671818551297,9.38689784651663,9.30247639756984,9.16678326938302,9.02312882261529,9.21365883959209 "630",7.15259490164766,7.53477084058202,7.04242098979395,5.32561057076274,6.38142750577997,6.44982545987761,7.10902511762892,6.88540467353742,6.64275977322472,6.46257214152392,6.16120146958576 "631",11.9152899871936,11.8789727933314,11.8035682493601,10.8864992098863,9.80690086054919,10.442257323643,11.4729844102742,11.0770058455523,11.8534105372935,11.4534880848688,11.1737107089354 "632",10.0451470824942,9.86655143325991,9.93691385631424,11.5206168639934,10.9110953505303,10.5127657987546,9.82698994883534,10.0524837615706,9.82067761593469,10.1620200646063,10.1009475877283 "633",11.5333682633976,11.9991332951387,11.6884198136419,10.0593492910508,9.64778520643948,9.61771749756082,10.9967046058843,10.7101907124911,10.8839183066358,10.6233698134266,10.4961942663694 "634",5.8127914775599,5.68818125959145,5.71099058057816,6.22535759709578,7.0961370359168,6.72979247179919,6.02521051972577,6.25098415102327,6.05759821691539,6.25041016925578,5.82675902967033 "635",9.70903181390871,9.31727019248039,9.86190575396672,11.3067883543605,10.274993622038,10.4985283836602,9.75406174062268,9.73085439611595,9.55996317249662,9.84877885210766,9.76954416659041 "636",11.4470121619659,11.6211657602969,11.9102014108228,13.741972591299,13.0832796671454,11.8128515655766,11.3344856311798,11.457377617561,12.6580942697963,11.5071799861282,11.6678004990956 "637",8.87421523233811,8.89923608373775,9.05548166222452,7.06188847868238,7.57753959933627,7.6659008390104,8.38575314283625,8.0296923264924,7.99119511545276,8.23821723466124,8.18594905456206 "638",11.0642455923687,11.0020500645361,10.9990483818875,9.88793161577168,9.2568946714634,9.6946793276866,10.5954125965695,10.0620615991454,10.637358003224,10.9886020728718,10.5042119714895 "639",11.3146584841489,11.2774953324937,11.4520370965989,9.51346498043639,9.45314088417462,9.68572968203863,10.5962820046015,10.4285862814162,10.7314759978447,10.4874900057506,10.1920072447227 "640",10.6396958856671,10.7520114591786,10.8447107935654,9.49465064054292,9.40007809809596,9.34047991899248,10.8411073650371,9.95009104917995,10.4459455078123,10.2942602012668,10.1392087373892 "641",8.67873961737953,8.48401098248376,8.5115329832205,9.57968011869381,9.2953097265866,8.99692532830511,8.51287772303134,8.39754469144601,8.36788038073976,8.46691872584193,8.5693302404221 "642",9.15229657924635,8.92996340372811,9.33054742635067,8.23945869170488,7.96286233140267,7.81820817825538,9.05619462917821,8.6066423344331,8.83205342400301,8.75812977025427,8.69304958228157 "643",7.86600979372371,7.89329479833376,7.86933748057339,8.64157262955777,9.08918546163785,8.58788310907267,7.61590460120247,8.15281676709867,7.96097350831138,8.1623201230058,8.07049718053463 "644",8.12783241497292,8.20336073773898,8.32081521630306,9.49701590199292,8.70372248531889,8.82166157388764,8.33241949645516,8.22778411165954,7.94870454884627,8.18956704135662,8.3334357666772 "645",9.14717840477006,8.72147650673983,8.87990068659424,7.4632017364414,7.87070337750673,7.79836709458433,8.79036652453112,8.37134068175844,8.43970244756147,8.48534897120953,8.22965347869333 "646",5.63977041271158,5.79982726714239,5.53613856267374,4.80590313991191,4.76343465978073,4.65095609464182,5.22742614345585,5.44259274699673,5.18940370702617,5.32077713645568,4.82879049046518 "647",7.19313722009989,7.37839469988386,7.46942827527499,5.911083037832,6.43850350967657,6.2854828908731,7.44036987875026,6.8602800038935,6.44444218690037,6.53625939289495,6.80220655170267 "648",8.40609122623257,8.5855262799495,8.55983506215595,9.39924168195611,9.72297629826858,9.24864854911992,8.7345628609467,8.50588627819347,8.52471641996491,8.57067138358356,8.75413303028076 "649",8.86176877111159,8.62652119197488,8.92416620596901,9.9058417427882,9.22009289075935,9.35410271789337,8.63307829323579,8.65086939081869,8.46143122462842,8.70251998450527,8.81846227974399 "650",10.5250574973026,10.0901181808046,10.5598373547082,12.0047639400436,11.2755598204656,11.0209464812571,10.2667013558278,10.3614698793565,10.4306213004473,10.5297918960275,10.5245014636808 "651",6.44776575987266,6.85115710804526,6.44757980086205,5.61488371433785,5.43778714177974,4.96927465433063,5.84257292711029,6.0621316163943,6.29456940017177,5.390508541124,5.70237141167859 "652",9.67920867699717,10.0669213728971,10.3661999513247,8.8668743376299,9.2568946714634,8.99981760054151,10.0666776247959,10.0064541233079,9.62681290583727,10.0539132565253,9.83317173024776 "653",9.08964536100855,8.66918677953027,9.05241716979599,10.0171314553035,9.55796356436469,9.5795733692508,8.83527324277978,8.76257034971798,8.63205997312033,9.03817875613548,9.03079860089268 "654",10.0601969982939,10.2324338022478,10.5138099637476,9.11500451690018,9.25948776751697,9.01419253161676,10.2110283031717,9.97348142215322,9.82738050584064,10.0808011723378,9.97711108089912 "655",8.57959576796726,8.74559805039708,8.50257399714653,10.3312709676201,9.70216246753855,9.38760700419698,9.09855326022812,9.06448420152243,8.78114706698616,8.89946262532927,8.86350654344462 "656",9.07893353171304,8.55247675986609,8.4569231985075,10.4531970324703,9.45540424872114,9.94470818195294,8.44106163048337,8.86310101812468,9.41395487322856,9.78925753730181,8.85795242187704 "657",14.0917069289083,14.0163190898678,14.2485504207773,11.4044949690598,12.2860252698367,12.5415298223226,13.3258561856953,13.2008773596604,13.8757530631051,12.9860257264734,12.8409613796994 "658",9.9232331239746,9.75089348855704,9.97462323001715,8.97266680756033,8.65332216289537,9.32211361599394,9.80158086204688,9.90973873377393,9.8003799780172,9.95960684192096,9.78132356886948 "659",9.73313724376647,9.61063324416061,9.27904938924421,10.6477258879642,10.0191279614784,10.2023353134879,9.44983376909051,9.40926892471926,9.28838937679224,9.35699551019981,9.4142485447469 "660",9.42178931617855,8.94160930669287,9.1981797051584,10.7991291542273,10.5600480491721,10.5228500288638,9.45559556782755,9.63142010423188,9.88794857527391,9.71005189791425,9.77397272487535 "661",10.085828064966,10.2295879173604,9.74343061413704,8.63299001789452,9.14354489513694,9.24377780706036,10.2557373233781,9.88528240988294,9.76065910605987,9.67999074387503,9.79446140192259 "662",10.7643863875614,10.5584590944732,11.3787289588544,9.62579936902947,9.77282630877862,9.29647172850295,10.4954974746529,10.196100195515,10.4404912459294,10.77399544299,10.5280011226598 "663",9.14717840477006,9.45036449421808,8.90390479610711,7.91030878238794,8.09088168598226,8.03709544896096,8.88453089243721,8.70080758983713,8.98082366806132,8.64795196129915,8.70856499217527 "664",7.6141220077179,7.3645570520418,7.722477213493,8.5350427132569,7.89764356456307,8.08697597029313,7.50130547645627,7.4939159283396,7.58617793580115,7.30332025620943,7.40304374052886 "665",11.0608487855867,11.3635128528498,10.1221683938887,9.09951991373297,9.93891563959856,9.98611825045608,10.5494657176294,10.6232167407166,10.6277914294052,10.6390779048565,10.5718931087158 "666",5.91669169048245,6.1384379945953,6.6422828401053,5.00715176399614,5.26870826387192,5.65534952806707,5.05629560314322,5.81586767921463,6.8829993213614,5.63600666800275,5.70237141167859 "667",10.8581700891584,10.6871118521125,10.6658601865764,9.42927633104782,9.95819438632634,10.1616073714023,10.7903483716982,10.858098025655,10.8231845661272,10.7724969844574,10.7176973584207 "668",14.6861192270249,14.4621794079032,14.4347331582564,12.8167297135477,13.2950188577083,13.879173046135,14.6326041464272,14.5548513291789,14.3737472960984,14.7906166216954,14.6620503277743 "669",8.93785165006461,9.22880714902793,9.12714015643266,7.14928183960015,7.02422802117677,6.95118912698659,7.9188130165643,7.83868152353417,8.21249525749621,7.56218687853446,7.02856174187383 "670",3.54830022377166,3.54830022377166,3.54830022377166,4.33331678257734,4.3058722489524,4.48644669672571,3.95429096793669,3.54830022377166,4.28967224937531,3.94912244603611,4.23274464232371 "671",9.01855167070949,9.12845838291325,9.74152970764211,8.01984006723454,7.69748960192527,7.41072414123149,8.26831911865671,8.15281676709867,8.44843335716512,8.84629310173371,8.49967809828298 "672",6.94245436265354,7.02904872889847,7.55883943959597,5.12329148338679,5.71993474216382,5.25801624538125,5.7142170410774,5.81586767921463,6.31421497718848,6.1014953970159,5.44305738224905 "673",7.72851224971026,7.85924864261361,7.95732252448553,9.40429110566902,8.52980620208973,8.21210233615098,7.62960552780545,7.85770787706749,8.69208941239287,7.75113025875458,7.86399978207374 "674",3.97008655127665,3.92219398459048,3.99458687560867,5.57739919796435,5.01670287124879,4.9129913680454,4.90840757914297,4.78227634053133,4.49869474411581,4.58944936008883,4.82879049046518 "675",6.80484637364657,6.52730961170283,7.36415487461851,5.81955380472203,5.95174206023759,5.62396795076569,6.04639115237076,6.45134919921931,6.49672271584863,6.19644645152128,6.54654471787116 "676",7.34467278053384,7.79379412248784,7.81962824379556,6.24855060583191,6.43850350967657,5.85613856012376,6.57956677089401,6.79544173688354,7.43576107846532,6.60625503946114,6.4142723185568 "677",9.61022726679586,9.61063324416061,10.3108764127512,8.25072937537503,8.92898932025291,8.65182055824669,9.70169490839364,9.14654296804315,9.45349217438391,9.43106642948714,9.39136966548564 "678",9.87916395621881,9.85058597615099,10.0286215584728,11.0083687146693,10.6992606581347,10.4154434285617,9.67724831427285,9.82708643631372,9.54377298123616,9.83448636469111,10.0348333254102 "679",10.3940514521804,10.7233022635247,9.06463623817234,8.59813876051358,9.38353314396616,9.36535754324697,10.0515418580555,10.3503460782363,9.72520696241134,9.80253524691868,9.94735991006994 "680",5.83953755398429,5.59141601637692,6.55712549554688,4.45117694514122,4.89765324881629,5.25801624538125,5.14502080212905,4.90404046812327,5.47688516711479,5.84212104415619,5.27185771113154 "681",9.53190194105546,9.70654910381713,9.79199468766357,8.89226299594517,8.69608245430802,8.80852337038189,9.69359200278242,9.48447318546469,9.595739859372,9.54781093949459,9.81609528328932 "682",11.5215554994107,11.9207365813631,11.3111384028575,8.60693096286727,10.297872490504,10.1009696272118,11.1916562655922,10.8423049111858,9.99749918994824,10.305701920901,10.554839384942 "683",8.22344598109642,7.91239327986058,7.292883496079,8.98283112781734,8.64143651995688,8.46343824668872,8.04669723092504,7.94330819942467,7.80633729904285,7.96614416256154,7.98633400049947 "684",9.84954330938765,9.79519878158299,9.31273160254736,11.1510869848959,10.4360547504397,10.2565223164036,9.38488614072924,9.6442308475677,9.77112700539893,9.76986020175135,9.95257830868576 "685",8.40609122623257,8.23402099371464,8.26361165206592,9.66839227629136,9.08626685234726,9.11366463657668,8.35728086541336,8.33564284497309,8.31155915328567,8.71818371538311,8.74813993372178 "686",12.3208761301701,12.2190358178018,12.0747266831193,10.6886448409343,11.3528487733975,11.7896536672581,12.2806081888988,12.2575131031695,12.1914058772296,12.4739922616121,12.4599918459802 "687",7.67245805714751,7.82437528016681,7.55883943959597,9.04235612231719,8.34178890002384,8.33181019584414,7.33545046218468,7.87648532555971,8.03246495373817,7.92347700974267,8.03150425371029 "688",8.51745238210845,7.78345381968473,8.5897499961985,9.41683783751866,9.02356987097559,8.90734252143497,8.26831911865671,8.4692989141019,8.16028132058192,8.45948004832555,8.32942508187637 "689",11.9886290205397,11.4810359391765,11.3756686959127,12.1300275957765,12.1754188883374,12.5192890452913,13.312296130364,13.3830126970146,13.4212585554445,13.639132627504,13.3471329385493 "690",10.3277611003814,10.5972438688851,10.8133875021495,9.40176860425243,10.1755548155497,9.32672717275534,10.3297458901327,10.4713138864824,10.6694178273601,10.5854695926617,10.6070628325988 "691",9.77022146767524,9.87628920174086,9.32293901495519,8.53042826396482,9.15194362071147,8.89807016610478,9.62196096435403,9.85726404914586,9.61330075936856,9.74409430044561,9.59198286730107 "692",9.1776183589612,8.84569510541338,9.17018258294668,10.1582914256575,9.88453056763369,9.7088842306454,8.78427179649975,9.13621356925419,8.95656126357959,9.33482400189473,9.15146757110382 "693",9.04355985238426,8.33646065059874,8.90390479610711,11.430707360109,10.7736850427748,11.0705980627496,9.67230886902711,10.1646929787307,10.3607289748513,10.2323828040504,10.3166266703497 "694",7.41480526624665,7.56530360045263,7.53259773401686,8.19930091953913,8.20304084002467,8.15089987707381,7.34380053331067,7.41889512543373,7.62530056654001,7.46865826441027,7.58948975574126 "695",8.86176877111159,8.28980478532454,8.96058802310873,9.86431090946723,9.52601749968271,9.14535284669568,8.48307484510939,8.62523560841052,8.92876870555466,8.75812977025427,8.73000957788283 "696",11.2343128586998,11.0608671440132,11.2034164001879,12.3581911778227,11.6126246087929,11.6355495990901,10.7114980118355,10.8518015126759,10.8522288857406,10.9988905609559,10.9022758439891 "697",7.39759226141577,7.1308989742045,7.2288254796775,5.8812668252616,6.47529295316335,6.07645934003377,6.71556798592224,6.80864974103996,6.6882430597986,6.68588238296423,6.65445304833965 "698",8.16886822106531,7.86905878806446,7.60992258308702,9.13032454054366,9.08334232116854,8.65549463022981,8.18742674577586,8.15281676709867,8.16028132058192,8.35108828862567,8.16808848214259 "699",8.73783442447598,8.90400622147225,8.34106524726259,9.92528935471719,9.43260911698226,10.1276476447523,9.06878279256704,8.79248629950711,8.79831648860563,9.14166946209558,9.21365883959209 "700",8.07483354014599,7.84937098822034,8.12446508314429,9.35819675498724,8.78878838826986,8.42088589985503,8.26831911865671,7.87025342817232,7.92384765319444,8.25120476592275,8.25101756019936 "701",11.2234159511572,11.4577174510978,11.7359695720021,9.8697962786595,10.5526690648993,10.4612592907329,11.2053965181573,11.4896716573204,11.1219434570669,11.1708356448366,11.1958806016694 "702",9.49612396405081,8.86783922639323,9.3948574707518,8.33255725106166,7.91092643271975,8.20208110331023,8.89021674320262,8.63993930290509,8.73908584192786,9.1669920263841,9.03326441528336 "703",10.94549061119,11.030123833561,10.3475770543868,9.20167585180879,9.70596921259255,10.558580469595,10.9042509251785,10.6074188007316,10.4372087620691,10.8058414586554,10.8423986759028 "704",8.81733944412507,8.60323861460695,8.32081521630306,10.2067739863859,9.5043200296704,9.50623122384085,8.8702173252855,8.85682261188807,8.9778131121013,8.88288323847322,9.03326441528336 "705",10.7568486746334,10.8553138721432,11.3927231532787,9.83095321513546,10.253047420186,9.83242208775164,11.0541502795271,10.7462815007516,11.0041421066878,10.8218668972118,10.7799281512426 "706",8.32221761263854,7.85924864261361,8.19293719425165,9.15150265613441,8.83821105031725,8.69172890321855,7.99478839831307,8.11117639548181,8.37247580851378,8.09185442079411,8.18594905456206 "707",10.0574723044766,9.67202302458327,10.1467928457974,11.1184380331224,10.540996712817,10.5915321460381,9.70331004044122,9.86510168297408,9.76764614105861,9.98700197544162,9.94343368306235 "708",8.32675603445815,8.54943430095146,8.74211830039699,7.32023670711153,7.58585641340158,7.97368095160281,8.27268248344622,8.04636292844579,8.37705660860678,8.32675993392411,8.57949343689206 "709",11.7369308616944,11.5893322408741,11.7210971011573,12.6335438591836,12.9815638006018,12.4984895595292,11.4987853165833,11.6120703740495,11.8260652067902,11.6608647739495,11.6369379771392 "710",7.10023689289805,7.02904872889847,7.31361245108569,5.911083037832,6.56323269003586,6.30473681676143,6.99671767479317,6.76864888687765,6.92145522413605,6.69872559445653,6.75465710517924 "711",9.65597920960023,10.0292308145702,10.3711257174728,8.58929254824669,9.38353314396616,8.92874876990639,9.60305056404701,9.61478013476802,10.1761494538775,9.81277849859362,9.6858467111872 "712",5.91669169048245,5.97975507916984,6.81323095846476,5.68673393056132,5.07172184844156,5.25801624538125,5.9369990034741,5.6114347801117,5.98511354074592,5.8180555597147,5.75354754840492 "713",10.0777831421926,10.2670790286319,10.0223727452842,11.3726557448454,11.2652785225023,11.18423853252,10.0791705543477,10.5695501550541,10.6478084719097,10.1213937057061,10.2982990112506 "714",11.336735549634,11.4002498384397,11.3596498308115,12.9722604459677,12.4645687310975,12.4690657259354,11.4307184605046,11.6078731969144,11.597675497106,11.6330619926956,11.6921797612513 "715",7.90299095098025,8.32938056167932,8.52486779311338,7.35209951399502,7.28211410056228,7.01021906895851,8.01577750054488,7.79985493290829,7.97313855605667,7.76932680060945,7.760412854722 "716",5.51007576263887,6.0166588706562,4.97546638098356,4.33331678257734,4.68891224809943,4.27998953468607,4.90840757914297,4.78227634053133,4.93015836537268,4.51507976905241,5.02750813069502 "717",10.0574723044766,9.49054809276673,10.1323588369847,11.1689934046915,10.3339862288609,10.7907889308563,9.84758408688385,9.76309123923359,9.70714862404194,10.0315350135395,10.0360628549155 "718",10.3623912717203,10.5006163578792,10.7228449869862,9.44160843885529,9.82801408575274,9.36983498806351,10.2754129707451,10.3357556920826,11.1137428504549,10.2837792896873,9.99492453222422 "719",7.45695216378043,7.10611233977898,7.13867355834176,6.20176630746007,6.14932815941719,6.18495468671691,6.9644808674606,6.56528938654728,6.97115740445838,6.72406551931629,6.42960502818059 "720",9.27233038487327,9.49054809276673,9.40450158918026,10.8313452715823,10.1714310637641,9.68393306866307,9.37478529219148,9.4071228829046,9.46857968866219,9.25549663245181,9.45159130005792 "721",9.78347366218095,9.31369060113146,9.64517548942749,11.4757630960054,10.8024119583237,10.3958240506033,9.67395723131507,9.82708643631372,10.0385135409522,10.2410770715395,10.2193234672361 "722",7.83444730414691,7.24118402147075,9.13295394976483,12.9933505616971,13.6179811812473,12.9997575147476,10.4964292160672,12.0380004372844,12.4097489178096,13.039019986181,12.6409651213416 "723",9.02693603884394,8.7797423325774,8.5292854250413,10.1034738391806,9.73047109895622,9.97146504777469,8.98093217188697,9.11269817535774,9.08801137112128,9.27256371819514,9.16277176229631 "724",7.74898018933612,7.76780225913548,7.15025968470569,8.72065369639887,8.56798594813806,8.03144476745955,7.76607163952493,7.88886854435911,7.7150538741348,7.66301951594249,7.72415226914976 "725",9.80799800842089,9.8955696888141,9.99391314327221,11.1983522056675,10.6615375748259,10.7215541056806,9.96398421204372,9.91729706261419,9.94453466948589,10.0302815386719,10.0336027468897 "726",9.15739664516042,8.79008750957555,9.33307466702842,11.3013867171076,10.613712693615,10.4612592907329,9.6151131129534,9.63875445836353,10.2098829051758,10.0832208550272,10.0311384356303 "727",8.34923587617628,8.62073574071179,8.84135293897958,7.58426198873625,7.78670914495106,7.86981453055968,8.66328536134882,8.36692658125373,8.02079403326893,8.3185582079294,8.7866566812351 "728",9.6083666485789,10.0016929281087,10.8179041148125,8.87052879240715,9.37638391461942,8.991123312071,9.57156116258597,9.58471539479662,9.96595443435705,10.1654496599088,10.1173037075177 "729",5.78549346301469,6.44983209581372,6.57457614518915,7.82230351962445,8.48172385486396,8.16128289642863,6.98605328387957,7.78004040210351,7.23758185587131,7.70775166660295,7.760412854722 "730",8.17391631967326,8.09477265669579,8.40015972467653,7.36256437683614,6.58017568593367,6.46694048896454,7.46352604560399,7.17699871670462,7.6097795074534,7.51258608930794,7.24955265846385 "731",9.57636320736096,9.54498775406571,9.46566343403093,10.9141900675119,10.3116774517588,10.3295786310692,9.83437880219505,9.48039649884648,9.69437187984057,9.72407559970659,9.60198116215622 "732",8.48534504201373,8.39527513861423,8.05869864358451,9.28343041328234,8.8826334420095,8.79859049100989,8.53119602160728,8.23749087428768,8.27274833599991,8.07733709707279,8.18594905456206 "733",5.94145031362918,6.10474257283092,6.706873220412,5.41530931619833,5.17436496058539,5.4175148732471,5.8906209020639,5.73213596531648,5.85488481424146,5.79354444200787,5.75354754840492 "734",8.19889436741583,8.04374680571814,8.77224035423123,6.51923699993902,6.58017568593367,6.53337388382174,7.14775986430916,7.11482364221799,7.32590428280078,7.09711502715142,6.90367688540501 "735",5.89146640696981,6.21921231712512,5.83571964842533,5.00715176399614,5.39764908336153,5.45435632888149,6.00369290325292,5.7606426863395,5.79900900802131,5.57893710519621,5.59354957822205 "736",9.42390676402229,9.21544047298836,8.78706844188518,8.45451180306813,8.3070820659982,8.19704417881253,8.94040434927026,8.82501353464932,9.47286156863064,8.92127584951854,9.06252975036268 "737",11.3350492569239,10.8779048543582,11.7031430158318,13.1626532520114,12.0155479359539,12.1602963661994,11.2352837919058,11.4542639543718,11.5432492369849,11.6084970841138,11.4082563213589 "738",11.9921999029053,11.7884139979789,12.7956484222057,9.93752995410204,9.48893517104634,11.1416840853848,10.6977918416714,10.9986669752381,11.2377815125296,11.1128093011529,11.3322317083512 "739",8.74463002246685,8.76670551080719,8.886799904103,7.26549832774664,7.72785040241364,8.45080410064663,8.60222405328637,8.52185356921256,8.65486521264324,8.57067138358356,8.12244162839571 "740",9.34117392477523,9.30289819023961,9.11837526159905,7.99323023573628,8.21379020954388,7.50366343129384,8.81449083177691,8.28037849508139,8.74618188360663,8.51435522586691,8.59293373992718 "741",10.1175664131464,9.98153494997219,10.1836589495416,11.3880262928573,10.81303876113,10.65434278848,10.0977093742215,10.0247627581465,10.1130926422008,10.0856364852871,10.0700709147796 "742",5.2447303988107,5.37256333406501,5.57306370014904,4.00522961816383,4.41984085544861,4.27998953468607,4.52717022062621,4.384503533957,4.87007984850553,4.51507976905241,4.71305020543012 "743",10.5141695376192,10.341896467768,10.6262366967912,8.98283112781734,9.20940319848552,9.9097802150482,10.042638750676,10.1697643165953,10.0166867034404,10.3221840646791,10.3347243786537 "744",8.19393334524338,8.29708182497682,7.68328605018914,9.23039382617681,9.17685012125698,8.41656065075709,8.2813697089829,8.37574128442402,8.1813949362326,8.1623201230058,8.15000326967407 "745",10.3711947486098,10.5424955431946,9.97624061324769,8.58484897985037,9.2723837427437,9.40516262455498,9.95993660187684,10.129986990862,9.8020824016001,9.70848525745093,9.74719506373333 "746",8.54107156449348,7.62448269491476,8.23683855091016,9.17237412305056,8.96439368943329,9.24621523515451,8.35728086541336,8.56487194368827,8.36327023133019,8.58782785893473,8.15000326967407 "747",9.86208938720598,10.0303214687397,9.92020586015557,8.70845226262906,9.43948557548496,9.02559012857226,10.161368353739,9.9067042764432,9.51706994265289,9.76232966369471,9.82608109972104 "748",8.88655510159278,8.96690374962634,8.80902828503197,9.86431090946723,9.54739331924982,9.4691557066009,8.8673374699208,8.93638255480629,8.82871505856858,8.82619895105508,8.87729889770692 "749",14.7620222256611,15.0899919800413,14.3200994098857,11.3861139064234,12.6082570711264,12.1982283511623,13.530391604585,13.0628958151044,13.1196479632361,13.0680145595093,12.6997447464339 "750",11.678731424929,11.7751395934814,11.4089797587161,10.3152792326315,10.0418951612013,10.4347995378911,11.2425210328785,11.1621632544744,11.1442576784453,11.1234277722351,11.0336370077402 "751",4.78038542738455,5.45916336990591,4.97546638098356,4.33331678257734,3.54830022377166,4.14782244847307,4.736433099266,4.56562326784538,5.36185741525923,3.54830022377166,3.54830022377166 "752",7.7216241629332,7.27859059456544,7.7756053317637,6.80881348613757,6.76897938111069,6.90212845614626,6.53605336162418,6.17025054654574,6.67324497101316,6.19644645152128,5.87340967120574 "753",12.2828944898681,12.3703084299577,12.3952438258897,13.6341153657513,13.1358957552014,13.2239846411043,12.1106164692844,12.2619717386165,12.4717519413201,12.264513233205,12.3072279310347 "754",8.23315046609531,8.79779793181575,8.94744998685894,7.72044941560373,7.85016117313733,7.59093188805758,8.67321521953444,8.28037849508139,8.16558885965438,8.37105237012958,8.39996079454467 "755",12.4156674940426,12.1394055752713,12.3473102532141,13.5111183981912,12.9780269318864,13.032063466364,11.9927545980459,12.0759719440477,12.2059438510701,12.1912653844482,12.2343939160422 "756",10.5953034695117,10.5817060959359,10.6466923559626,9.71383574963396,10.0388802187171,9.90670264414016,10.8498823336246,10.9097794892623,10.3327378775596,10.8362825872222,10.7077025272065 "757",6.84372344371014,7.3645570520418,7.51483209832686,6.07729316885177,6.14932815941719,6.03051736948815,6.75392864179652,6.43428439781308,6.65808508296573,6.57867534584929,6.58799030207827 "758",10.1447758899605,10.4485384787561,10.1163127949183,8.62001943102553,9.35229383194192,8.72007401567654,9.65238014440666,9.8238728006323,9.8020824016001,9.40034117048288,9.58695760306276 "759",10.4460161043646,10.126270151358,10.229133216667,11.7179975003666,11.2020027795012,11.2621500550776,10.23355603024,10.3198761468089,10.4835585796754,10.7112453308319,10.7629506283518 "760",9.65417673223553,9.45849130164238,10.0806710294672,8.54879798787567,9.20940319848552,8.78858865410809,9.67065862045937,9.56752439028131,9.79355011619108,9.50151741114645,9.45527292963567 "761",8.72758053834499,8.61492695401276,9.01827056638992,10.259263082391,9.33272769378965,9.63641775367957,9.04604433512848,8.88177374459416,8.76726266389654,9.13468539854762,9.08409527418342 "762",10.5962423835045,10.3009116066401,10.135257217225,11.9922466807535,11.0320065466231,11.1721161392901,10.3921539018335,10.3834633943362,10.4251086751813,10.761963964562,10.5853923986348 "763",10.2535234133943,10.1293271385702,10.5695121580464,9.39417451251257,8.58049083175767,8.91042009479437,10.1590164508973,9.58471539479662,9.80717764785715,9.73488941731151,9.31034186832293 "764",9.76688930398026,9.16467858461348,10.0176683045914,8.0394789443579,8.39469127380017,8.48425182913367,9.04604433512848,9.05354738156802,9.26635591235049,9.11825643670436,8.55223053166907 "765",9.26052993431066,9.37336698873207,9.03389210966213,8.16396429768604,8.09670239672982,7.77147814172358,8.80549148828346,8.61038024326103,8.65486521264324,8.82330534351434,8.53492530946945 "766",7.52982122581727,7.75727219503807,7.6015342628995,6.27135914474364,6.70881868749609,6.36093948153758,7.2668306093309,7.20709679221965,7.1434230580559,6.77341710147014,6.56049675421581 "767",8.42314272660274,8.07373159444057,8.15339241024055,9.24172272222708,9.22540815807337,9.04811843380836,8.13565496756407,8.4897399118694,8.60888779655961,8.59123476117801,8.47084552401924 "768",11.1473066661789,10.9013400987043,11.0959502266607,12.3428266169486,11.149863706947,11.9559195380549,10.685589059233,10.8391254337298,10.8497621589621,10.9808372654305,11.1375146015201 "769",8.15871854385556,8.30070658830108,8.56414686218353,6.98244809672181,7.28211410056228,6.98690109334928,7.95730299948966,7.64776005763949,7.6097795074534,7.54818974211694,7.62927324152604 "770",11.5848875084264,11.9359460087184,12.0372587053804,10.2854924878837,10.7219938913869,10.2733453187405,11.4927284330422,11.0991033800263,11.4011145533788,11.2134256069612,11.2906034834748 "771",8.97009626031626,9.42238562480594,9.38026925122377,7.79943239971828,7.72785040241364,7.70196403035471,8.69287189315978,8.11117639548181,8.32584747663876,8.56721542241081,8.25101756019936 "772",9.77686278665839,9.39723929586054,9.64517548942749,11.4448624711926,10.6487407665251,10.8512612470374,9.81508847566448,10.1621506076942,10.0049092413147,10.3882496601783,10.3246981414821 "773",10.2606477847069,9.92753220600502,9.91684090835554,11.2370619854778,11.2996881922538,10.6959357218682,9.9188231979333,10.2581255111216,10.3491319557132,10.3989722939762,10.2279565221795 "774",10.1651677784279,10.3383784350557,10.0018750818009,12.5687017927506,10.3583757047893,10.4411942834266,10.1730706860164,10.1221598148832,10.3432982938591,10.4439100236192,10.2797354814928 "775",6.63763656010304,6.40941476523436,6.30781724882702,5.37127805426564,5.01670287124879,5.34037022736344,6.12795561899001,5.6114347801117,5.82724139574683,5.16791879000176,5.64910430920177 "776",10.4728473516849,10.6400227239945,10.3748090348983,9.54352419399801,9.58715457438194,10.1628976814255,10.4228639189357,10.4661704595233,10.3983507982954,10.8689019720646,10.7022918733724 "777",8.81087906011241,9.22118423120942,8.4288212608901,7.12485544624734,7.47377566559152,7.05573632290516,7.99478839831307,7.94923159757619,8.24293726666571,7.4156433013633,7.46304227382973 "778",10.3446214748764,10.0357624029366,10.6169361577198,11.7215407105877,10.7341597616411,11.0842813711787,10.006466366113,10.3899965856058,10.3209126853714,10.528016861657,10.4011148463817 "779",9.45736973881928,9.48100566510583,9.12714015643266,10.6845010434063,9.78727173415818,9.54435909258784,9.12531301732479,9.37673800063724,9.13740873448127,9.35899429697753,9.22232826490148 "780",6.22781582447258,6.3677860433118,6.42845492233721,8.46905443827572,7.41892755356834,7.6659008390104,7.24914719576377,7.30306692115969,6.99536990472171,7.31164305003266,7.41068273578848 "781",11.3634515609301,11.2298752952171,11.1951076417569,13.3215149041384,12.7060422501711,12.3489479679285,11.5048168768891,11.8158441462783,11.970428850291,11.9070867382755,11.8992243726141 "782",8.27132662852217,7.96364096065335,8.10089669387495,8.84846172635221,9.03269530055105,8.78523921828408,8.01055890115653,8.24231980078866,8.02079403326893,8.49265550722103,8.30103282855084 "783",7.9508626266445,7.61867361278385,8.33602939406381,6.72965577471788,6.89563617554318,6.67222943533371,7.13817459357482,7.40167537133735,7.56218085650794,7.43099209888362,7.07751845829569 "784",8.58717845543906,8.54943430095146,8.62732090455337,7.81472024622439,7.50043052798914,7.55192262367988,8.17815128410126,7.85770787706749,9.0768004277074,8.10145181452369,8.02655489405578 "785",11.1752210790052,11.1865111724935,11.1166277704029,11.7643758986926,12.5675223051176,11.8473649277239,11.0111189260041,11.11562144628,11.3273837534783,11.0719745610094,11.2002739872567 "786",4.47860358440826,4.52173032050244,4.97546638098356,3.54830022377166,3.9890115841535,3.54830022377166,4.12059456186923,3.97076798325069,4.40133275723348,3.94912244603611,3.54830022377166 "787",10.6278071966375,10.2171904506345,10.5759261653211,12.0461244903508,11.187102693139,11.6911542941279,10.5286667120147,10.7084493739106,10.9329058026271,10.8369996040605,10.7938039064307 "788",9.16754296113089,8.89684508016677,9.52212312869928,10.3259600640607,9.79086059534043,9.66402116960109,9.08622353842142,9.18713591618254,9.07398401368605,9.24039536708563,9.29192888767131 "789",9.74334606197436,10.2017842862589,9.87062851071493,11.1830133575538,10.7332275594665,10.0613883859812,9.91185556175033,9.94122092852876,9.84895221895998,9.68477909979723,9.87774447273901 "790",10.905145270141,10.6857282378386,10.5886692515474,12.0569833101609,11.4665894615518,11.7938236014089,10.6977918416714,10.7326388845812,10.8464666149087,11.0719745610094,11.0616748340647 "791",7.33565903147877,7.64176993636721,7.09136174566226,6.53803052029323,6.56323269003586,6.59679162433492,6.9644808674606,7.08268644591105,7.34481059615764,7.00752371135829,7.11550464688 "792",7.91510931344368,7.90764242244625,8.06480332080901,6.55657468638091,6.28074432712116,6.64253913084015,7.28429744000962,6.69934960596145,6.97115740445838,7.19045730909892,6.96749404277538 "793",9.70032414263305,9.49687480748366,9.81386895901612,10.847187488096,10.4094570280958,10.2864271096088,9.60995579949121,9.65873368620146,9.58391264833967,9.94105000039865,9.81609528328932 "794",11.9535249128107,12.3033228405444,12.3538563676638,10.7592984082981,11.8112012122361,11.4080165954786,12.3531202722922,12.3365790599627,12.1562378649428,12.0527711632559,12.3476428760289 "795",12.9542241725661,13.01153531013,12.8605679953457,11.4207777647047,11.9935287422456,12.4170307521603,12.8935084980439,12.765422308487,12.6702607157203,13.2028962748526,13.0495180014791 "796",9.96308679855879,10.0974214283327,9.94188874422735,8.88866331826625,9.37638391461942,8.95878783868997,9.74468084649145,9.71532909676968,9.91337241810707,9.8713562503176,9.82038338796806 "797",12.271478568823,11.9904743494887,12.5323711387449,10.8646900190133,11.2876744498893,11.4991954355774,12.0484487955473,12.003979587608,12.006309677862,12.3909835029505,12.1999817556482 "798",8.93488422798929,8.60909464253234,9.01512583585322,9.74401877470986,9.59127689575246,9.39421543674223,8.9015215765478,8.77261151654643,8.84533006878369,8.92127584951854,8.84116043161952 "799",8.79787073018477,8.69694414688564,9.44945032736336,7.79943239971828,8.34178890002384,8.00285314504708,8.21489949277023,8.47751017522932,9.24898288673534,9.02816294905766,8.54187237654607 "800",4.95788009688626,5.56604371111536,5.24167748837746,4.64558758720875,4.3058722489524,4.39026667116431,4.736433099266,4.64355114355199,4.73829774126364,4.94316935660089,4.98115357179952 "801",12.9738623834506,12.8319762912595,12.6776063045669,11.5089477820798,12.1706067067481,12.1824118582246,12.7926340310809,13.0101578654492,13.0302557061969,12.9818175898942,12.8076968590503 "802",10.3524227104951,10.5209322308574,10.4742991120414,8.95212053701228,9.54101377918957,9.36535754324697,10.3921539018335,10.1403575888142,9.48986305654025,10.0808011723378,10.0938806427635 "803",8.71379415237108,8.84321350730283,9.32039392901572,8.22809899650974,7.72785040241364,7.48720844411563,8.34904137646371,8.09524495818905,8.52058286310583,8.7336789488075,8.53492530946945 "804",8.08559079645539,7.74133070892069,7.57607042757072,9.28343041328234,8.59288805804577,8.51289438397283,8.04158992416231,8.09524495818905,8.03826505815161,8.19853581863184,8.3173255120462 "805",6.98935314955684,7.24118402147075,7.30328561378923,6.07729316885177,6.36186838199559,6.79858740798684,7.02823820460525,7.20709679221965,6.62726529325089,6.88973460730697,6.90367688540501 "806",8.66088714623735,8.53719976752436,9.00565026266177,6.95494779097975,7.44661460003819,7.30192771781724,8.05685771125266,7.57290325679707,7.49614943333921,8.06757677451835,7.90234729377505 "807",9.67743501926657,9.40902884652768,9.35064238868107,10.6208718166554,9.97721883509452,9.88340912376586,9.50644118020933,9.21193802878431,9.33382721422762,9.53549277682988,9.41991198649254 "808",10.625969439698,10.4113505735281,10.5500972253581,11.3571196666204,11.2813110124597,11.1285369960044,10.3871388628398,10.3503460782363,10.3101864870405,10.5226786155599,10.5192360038997 "809",8.91695021626861,9.11823356484051,9.17018258294668,8.26191243566259,8.14805465040806,7.75784226485202,8.60222405328637,8.66890387143113,8.79831648860563,8.68668404541811,8.76010129760704 "810",10.658696089481,10.9643184694897,10.8411652203895,9.97364051836223,10.3241137875744,9.79462877482363,10.8723069967527,10.8968405427393,11.042088780448,10.6521743814042,10.7169309790242 "811",9.33443563031389,9.07024203295857,9.22564342341327,10.7424551585485,9.78006710770127,9.90052773080896,9.28270704857763,9.37234455506053,9.33852788867461,9.52484994571404,9.42179486775045 "812",7.57641756494067,7.58331550688759,7.90381883488738,6.02413172001014,6.19454648924689,6.48384779798115,6.98605328387957,6.53367259212264,6.76092516512381,6.63330252167169,6.75465710517924 "813",7.17301035461378,7.55924892396812,7.50586588003968,6.02413172001014,6.47529295316335,6.09886016877318,6.8747483721195,6.87289813241104,6.40846469499631,6.72406551931629,6.57431102493756 "814",9.04355985238426,8.85803938608857,8.34106524726259,7.41376869620371,8.00681506461081,7.65121758975865,8.85576014189131,8.3624988996433,7.98520144493695,8.21188497465407,8.08008232142916 "815",10.9410631139192,10.7513502517929,10.7495695343884,12.2913050022157,11.5834388105948,11.4545896485423,10.921002802563,10.8674915629543,10.7849614657104,10.9684568677354,11.0231357243181 "816",10.4015905723604,10.6648131769969,10.4442313262199,13.1344517545313,11.7484594835538,10.8734974446576,11.0560473554337,10.7119299515983,11.7801691534642,10.6505438094181,11.0262322802644 "817",9.73654821913041,9.77191268332307,10.0548810677783,8.71659802456816,9.19592863955076,8.93480688599106,9.91743236095489,9.68730900779782,9.78151947176407,9.38669020191391,9.50762642070551 "818",6.28617087473548,7.11442263771868,5.37656757260563,4.55382476248647,5.17436496058539,5.49014363497923,5.6591344389259,5.54656694097749,5.67960036331149,5.20801686055131,5.27185771113154 "819",7.95673592491526,8.33646065059874,7.7530766872274,7.11248315845808,6.94848101549024,6.85130589276361,7.86775976109045,7.29375535725525,7.75790763707303,7.43099209888362,7.24955265846385 "820",11.3014785197539,11.2322466151836,11.1384582509221,12.227588358244,12.9095371446656,12.1414406281998,11.2825000413813,11.4312227399119,11.7632300722894,11.5405757304999,11.5862260359973 "821",9.80799800842089,9.73626300965745,9.44711921516415,10.7404606080834,10.5850646452263,10.6414422962412,9.7848978803735,10.0428418973179,9.96291387519631,9.77136160221335,9.83881924131123 "822",9.8400616051542,9.78101311861918,10.1089597077546,9.10883062294764,9.00204978037968,9.38539744524798,9.8373237766389,9.79790262233915,9.69070049312223,10.1354520277418,9.96166531939014 "823",6.53003463405643,6.42301817472768,7.20681678408743,6.0509730364866,5.78180236170589,5.45435632888149,6.02521051972577,6.12802624841955,6.6882430597986,6.47762432452458,5.75354754840492 "824",10.6296426152986,10.3045220993624,10.2045069583461,12.032740635683,10.9477214017815,10.9207855516354,10.4852084005412,10.3026660933942,10.3220995765496,10.6675735771075,10.6136656899594 "825",9.38530861865421,8.75882641077792,11.1427849830187,6.92690329526043,8.33195779092463,8.24663679622921,8.87595982579245,8.21801139525808,7.81312427424552,8.59463362227482,8.7360784192397 "826",6.96609768642662,7.24118402147075,7.44147763113522,6.24855060583191,5.95174206023759,6.03051736948815,6.90906792189885,6.50132385628596,6.35268776105888,6.47762432452458,6.51821581272864 "827",11.6286774227471,11.5692142708256,11.5723940307558,10.5644887396585,11.05307751652,11.1429922284912,11.7654574350601,11.7058177974765,11.6740227000728,11.8739330950668,11.8472958241404 "828",10.0683403324409,10.3860151021741,9.92356297950041,11.2070445885242,10.7952836818187,10.7450035344704,10.2346732334832,10.1050538003106,10.3137707561217,9.87275567110129,10.1079800766296 "829",6.37826028686932,6.84114530884511,6.6422828401053,5.37127805426564,5.51439142996744,5.07384942667343,6.25992873135254,5.67318746075466,5.79900900802131,5.74311119877536,5.19596301279726 "830",5.2447303988107,4.58626187939733,4.53109727184687,8.75664989255739,7.86388858832763,8.48425182913367,6.82765362378199,7.91936722856588,7.91125597625291,8.11098555512941,8.05113296353385 "831",7.13188235112925,6.57667169534873,6.6422828401053,7.67088334577139,7.57753959933627,7.55980996663979,6.8747483721195,7.23657215715425,6.78897959785779,7.28652760129712,7.0871105816258 "832",7.76916012660847,7.67573104061097,7.0045759021827,8.47386951804509,8.21379020954388,8.34552814661872,7.58106772226757,7.69086601263943,7.84658584706185,7.66301951594249,7.93442061415904 "833",9.21723017192855,9.11206367724561,9.20371446586163,7.99323023573628,8.48172385486396,8.05947856562951,8.82343431143956,8.90630016490089,8.77074632985548,8.85481982727054,8.70237886857615 "834",10.7966022025752,10.7178974012298,10.7933446700643,9.43668824543438,9.8659367355028,9.95368240397978,10.4982908953497,10.1442274199147,10.6638117377983,10.6158690122354,10.6120178068655 "835",6.32374568039042,6.17132176086361,4.97546638098356,4.72904957070584,4.3058722489524,4.79051865717914,5.26656920680189,5.11259910555834,4.80633145078724,4.65808106126267,4.98115357179952 "836",12.1040190925946,12.603409573897,11.6775264921005,10.6751337470644,11.3015759867327,11.4014730922913,12.2366790233757,11.8651299492033,11.9888545016413,12.0139856315003,11.8250652223241 "837",7.84715570908164,7.90764242244625,8.4288212608901,7.12485544624734,6.59691611192018,6.96319334894459,7.62960552780545,7.15657400758947,7.48767706945998,7.4907907828689,7.37207268229142 "838",9.96017214521214,10.5742479181925,9.86365453088015,7.17329607382823,8.21379020954388,8.14568011415638,8.47173775949188,8.32657827473498,8.71758554292853,8.19853581863184,8.53492530946945 "839",13.6109565292038,13.7230097322389,13.1830780229399,12.2620594304193,12.8933554353255,12.9385515776475,13.5589895987987,13.6816908778909,13.7406036759244,13.7343747771645,13.6745938758378 "840",11.4042293953775,11.6845327162024,11.3963515965192,10.409929179655,10.3241137875744,10.3837017289537,11.485707975432,10.9582086477665,10.962889418964,11.1793417442435,11.2766294911238 "841",9.09762731201092,8.85803938608857,8.77596170882661,9.86247780706254,9.73978515594151,9.27275842991469,9.05619462917821,8.9947265369684,8.8387070388668,8.91041051218163,8.88004159652851 "842",9.12652201704222,8.99400058454918,8.87990068659424,10.4261519834221,9.61171356792838,9.58920440884065,9.41477092578433,9.20701162662937,9.00172328607096,9.00281461302748,9.2201657914598 "843",11.1415297491163,10.8608416240792,10.9463927932975,9.74600869215952,9.96932245494601,10.4549530733973,10.6765742868675,10.8036807095102,10.8181462908481,11.0634219888757,10.7945305252289 "844",9.86365000083353,9.96109124199472,9.47713361605134,8.54879798787567,9.10369051317306,8.78523921828408,9.82995003432343,9.50468550360385,9.47286156863064,9.37290875078087,9.2753620049908 "845",6.79164575242426,6.90978341613101,6.57457614518915,7.88156902156748,7.6897978650333,7.55192262367988,7.10902511762892,6.99325413025103,7.03093108737801,7.28652760129712,7.36422385202595 "846",6.1874890917147,6.21921231712512,6.24330683421088,5.41530931619833,5.26870826387192,5.74518636420907,5.7142170410774,5.78854419980623,6.10385346314284,5.79354444200787,6.08502244599298 "847",8.36255712123935,8.24535215755827,8.55117253298884,7.11248315845808,7.11932032558298,7.30192771781724,7.65662047639296,7.50201375749303,8.03246495373817,7.81090871342222,7.64229261323216 "848",10.1639016966952,9.95994693910483,10.587611616733,9.36856804867503,9.65173803212642,9.9744076221246,10.3810977097915,10.2875827931467,10.2264583258393,10.5657068921529,10.558266296784 "849",11.5156126461255,11.26179599643,11.4802341913651,12.7580503535702,12.1173001147939,12.0938706226172,11.4174982756256,11.3598052024062,11.3971783402345,11.4940568365961,11.5744284488743 "850",6.59252977461817,6.51469182046056,6.93916689557714,6.0509730364866,5.62125976688193,5.55881082326398,5.91401088991375,6.23124139577787,6.3901204572901,6.02045962596488,6.35118973846552 "851",5.94145031362918,5.4021071818575,5.418413249836,4.55382476248647,4.68891224809943,4.65095609464182,5.14502080212905,4.56562326784538,5.18940370702617,5.03853376538012,4.98115357179952 "852",7.34467278053384,7.40567426841054,7.69121046438222,6.46128859958821,6.51113614459311,6.53337388382174,7.44036987875026,6.56528938654728,7.08828955603528,7.07768838806583,6.81384766158053 "853",9.07893353171304,8.86049560185941,9.14451165938165,7.24300092293367,7.48271592044446,7.70906906148302,8.29858835270601,8.14767719888998,8.24794887955917,7.78133083731575,7.760412854722 "854",11.7137590380514,11.2659683579441,11.7875389849365,13.2102667547478,12.2256637298675,12.4427518181246,11.7377537462712,11.6470345559587,11.5804219661241,11.8378520172271,11.8722897164641 "855",9.58016539209422,9.83942851551744,9.4702624618449,8.31118749724248,8.53409873520516,9.01132899283527,9.36665335211099,9.24595936073872,9.29807496776327,9.19635624404988,9.25860252902264 "856",11.3003267249037,10.7300299879787,10.0113717522371,12.7306821223973,12.7417053857062,12.9630131702616,11.6378522010419,11.7983521922096,11.5809177985076,12.1689443554771,12.3560348161865 "857",11.4053011814366,11.4658009562896,11.4113726403053,9.84029689786886,10.4632957389836,11.1311760164884,11.1608414715141,11.0749800926367,11.2577661744093,11.5809408173215,11.2828568712516 "858",9.69857628124134,9.56469596501563,9.53535074476964,10.7284350430172,9.95659763011375,10.2733453187405,9.54478430345243,9.56944465385482,9.62489033351192,9.59775112970703,9.63319270237497 "859",8.22344598109642,8.77193440502366,8.22598820116811,7.4632017364414,7.68206463267475,7.81820817825538,8.54207616570528,8.04636292844579,8.13344570604696,8.16689728017213,8.26788326634701 "860",9.56681365227544,9.6817739397006,9.05241716979599,8.88505462553233,8.91918068684976,8.62208560702736,9.55197355714006,9.26267360632071,9.45997759253185,9.72252412797334,9.36421054365612 "861",9.05999410975567,8.9323001258564,9.28689234506057,10.5813019862622,9.70216246753855,9.55225913980104,9.00733107592358,9.27449481328904,9.20332363239004,9.36298357674282,9.3952081121762 "862",9.65417673223553,9.66501749659039,9.87236674920621,10.6699032894731,10.1195777022067,10.2480366613889,9.6673524471745,9.58661291685083,9.61910718934904,9.69904950558679,9.53571761209627 "863",10.6213647781726,10.5217079253741,10.6262366967912,12.0745058882589,11.5194538493501,11.4150720572,10.7948996470182,10.8367362184048,10.7815143288352,10.8807727156014,10.970094448021 "864",6.77832045411394,7.10611233977898,7.37405217620522,6.07729316885177,6.19454648924689,6.37917785202581,7.16673889189749,6.78210893022942,6.33358512450331,6.55054143952896,6.58799030207827 "865",9.40473684721579,9.17062778027327,9.67735134467817,10.224007644512,10.7979609149535,10.1473372532521,9.54117619060914,9.38983857817926,9.87344822380019,9.80400303037394,9.71684708184083 "866",10.7374047629833,10.9343385428672,10.6827970940472,9.17237412305056,9.12943734959456,8.71656123030154,10.1001633106513,9.63509194409759,9.65346320363239,9.47227227099732,9.54438505309453 "867",11.8990230651755,11.9607534167712,12.0368713190704,10.6824246723501,10.0994609420327,10.6284253943775,11.4672932710658,10.8806952312753,11.3807557834933,11.4789769296243,11.0658940889465 "868",10.5782976694326,10.4411771999021,10.1410365636559,8.99961396027658,9.84882267978208,9.35410271789337,10.128087528896,10.2934027427963,9.66847369820001,10.119037272593,10.3156145533622 "869",8.99879634851066,8.37134779801586,8.82707588341202,9.68092864323664,9.30035525603987,9.19666600526307,8.74715182359151,8.88486247465067,8.47858114330095,8.73983067135623,8.84116043161952 "870",12.5011081263433,12.4620641429028,12.7136804813349,11.2588238064,11.2425294223385,11.6471199190015,12.2488934959767,12.0082320964638,12.2187446427166,12.4337959497611,12.2603982071971 "871",9.94698282093711,10.3783268675515,10.0866728219571,9.01620360197303,9.48229107595616,9.52240810930341,10.1507544590629,10.1442274199147,9.97050328821669,10.0539132565253,9.87224763371553 "872",9.39613438242484,9.33680064020938,9.35313467967631,10.5058118894681,9.83672084840397,9.99193810052117,9.44211537945549,9.37234455506053,9.20332363239004,9.50332568693621,9.52699775765348 "873",11.3656557225839,11.1825927492529,11.473379568541,10.190793518973,10.8200800534583,10.6414422962412,11.4563220984652,11.275287752266,10.9606049829468,11.4669837638351,11.5288712294869 "874",7.76916012660847,7.96821042478736,8.1127291879404,8.87781001326193,8.9580208912884,8.28036153357884,7.92437514859412,8.12693320707114,8.14960710381963,8.17600811565887,8.13168767471038 "875",10.1676966128034,10.4271692268957,9.81567692699979,9.37629785150655,9.59538746626714,9.55422740743955,10.2612297568744,10.3856444141717,9.95681345931692,10.1970720093041,10.2828460411337 "876",9.9232331239746,10.1119179136303,10.497009081533,8.56242310002069,9.23598025823581,8.88873775799829,9.89781848645246,9.22418087913334,9.5659879347563,9.56868601985169,9.52524744120458 "877",7.88461944536395,7.64176993636721,7.74548781114225,6.57487622139197,6.73922021409517,6.71562100072587,7.40092272496691,7.0934797589686,7.13256598721052,7.12576620834847,7.10610281638263 "878",9.33443563031389,9.21352079004626,9.47713361605134,7.57530462869955,7.93712914351463,7.59860782047329,8.19204213747173,8.00715966731889,8.27274833599991,8.61820365114571,8.2845535256563 "879",10.3875578383124,9.93803088694602,10.7589952882866,11.417660697707,10.666429354133,11.1682667548968,10.102613079226,10.2687995650707,10.2289915687945,10.5526707545995,10.4434272984381 "880",9.76020179022974,9.58116430551374,9.78462890974964,10.7304462784597,10.3450125535782,10.3580210027604,9.48781787903948,9.83508933587443,9.84895221895998,9.86855332854532,9.73513239781039 "881",9.98045210053659,9.91104749111897,10.0348434158324,8.75269444659348,8.78878838826986,8.90734252143497,9.64399453494611,9.39850663041939,9.24898288673534,9.56695792576193,9.4843923717794 "882",7.29902383642301,7.02904872889847,7.4225356099074,9.29435165142967,8.14243859038401,7.91349660939433,7.66329537746326,7.98426798615941,8.07822326015754,7.78729539643327,7.83029488336248 "883",9.00729609524612,9.28289979667133,9.55496740216531,8.13991470128491,8.39940552920771,8.97944873058034,9.20501720795271,9.07803954608352,8.94118717406452,9.28733345332428,9.15599989088867 "884",9.5896272234978,9.69145936595319,9.37291941414527,10.7163083861625,10.2399801712064,10.1130358344079,9.79098677141248,9.71185621439532,9.55996317249662,9.52484994571404,9.65736492210605 "885",8.48534504201373,8.18386075338297,8.28989555448605,9.60840360376612,8.68840168362584,9.21171041223855,8.54568468669484,8.50186663160025,8.62052048977526,8.53926500073151,8.5103431613003 "886",9.46972081138185,9.40567022875635,9.83184744975314,8.53042826396482,8.97390035619535,8.81181917028021,9.56801951310826,9.23632063088325,9.18255697586384,9.57041204548545,9.51646384732681 "887",8.81733944412507,8.78750817137408,8.74211830039699,9.53664286052651,9.19321854755509,9.44389825650047,8.91831425339976,8.57255723718748,8.62052048977526,8.83196879006879,8.8127314248955 "888",8.57959576796726,8.9346330650038,8.4844870178595,7.56629088144444,8.08503730843251,7.94390401379986,8.95675250144515,8.52185356921256,7.82660267366782,8.32675993392411,8.5693302404221 "889",9.01855167070949,8.80546730861257,8.90730154365236,9.94274428978234,9.62584884037771,9.60448151693673,8.89588024617448,9.05628937670789,9.08801137112128,9.08240801259003,9.18733328198418 "890",10.735701536823,10.6767022517839,10.4800102110266,9.61712771726711,10.1769267837193,10.1641868382193,10.6699825228265,10.6036763591699,10.6383111804627,10.9185222294883,10.7412553983697 "891",8.65006847359859,8.65510488621471,8.97684390628987,8.09683489198394,7.95647212895258,8.34097001189902,8.84115642730541,8.52977129672558,8.58928869389866,8.82330534351434,8.83834264114361 "892",9.17510610384297,9.44873362170782,8.97684390628987,8.66280803012047,8.70752735826761,8.10322540131312,9.1563107349151,9.33670654091702,9.05125235744822,8.9717961107169,9.03572601817223 "893",7.50594156703678,7.41912121017553,7.4225356099074,6.40082385541707,5.8974681997572,5.74518636420907,6.3637745907004,6.56528938654728,6.77502214750378,6.41641371191531,6.14255176514714 "894",9.22938891751842,9.1863733026363,9.07976582629326,10.2675976945215,9.91280311568488,9.67672414853739,9.13252572985366,9.34120976599466,9.62296519457003,9.05800395022448,9.23951225785954 "895",11.5792004050269,11.4082415032156,12.2827777754935,10.9141900675119,10.8582045543139,10.5248584428486,11.4389805537193,11.1842566374025,11.9363478126885,11.6172885483859,11.5565491770469 "896",8.01418474594075,7.69241450619318,7.76813503017998,8.79561827366295,8.76707697554502,8.45502781542909,7.82080274053401,8.21310002224855,8.16028132058192,8.09666112757126,8.15454594309857 "897",8.0198052722941,7.87393883350761,7.61826206548417,8.88505462553233,8.96121081304728,8.81181917028021,8.05685771125266,8.19328506971323,8.81190620806466,8.22071606917967,8.16358845962604 "898",13.4574456797821,13.2674062381004,13.0496597064963,12.1158654770111,12.2490039519567,12.7304569041022,13.1051238433321,13.3311977185771,13.3726888216048,13.2891257638866,13.1725594822788 "899",13.3909661587412,13.2617300121566,13.2898343092864,14.4116357854075,13.861798078821,14.1126545914931,13.0478075163143,13.0634067673378,13.2627990725492,13.2649530671925,13.272820398629 "900",7.21298364338213,7.49090017416654,7.7530766872274,6.62838823156807,6.67774574857742,6.68684256874318,7.44813034354882,6.76864888687765,7.13256598721052,6.87852433571936,7.48490815233371 "901",10.9947416128012,11.0463861604699,11.1129570221547,10.1627668912003,10.3401223675802,9.7829270818707,11.1154729436314,10.6479573178566,10.6879489902202,10.6423631876981,11.0019010081191 "902",10.4501766124991,9.98266225942609,10.2209710906766,11.4114062858439,10.9982603797577,11.3559467385207,10.3076208032781,10.4317559703081,10.4782449582745,10.6357851229324,10.6614502341892 "903",10.2038750537552,9.6692248958923,10.1163127949183,11.014158824785,10.645771465688,10.7101262285837,10.0012240238799,9.99792495516026,10.0557402675007,10.2015334217769,10.0891500364742 "904",11.3350492569239,11.1855325640267,12.0110710572073,9.55945407320963,8.85888400214986,10.6469852112576,10.2623257383629,10.1923672390677,10.4437662772333,10.3862914978515,10.6169558194852 "905",8.37136993266211,8.89445010257218,8.61905611122698,7.79943239971828,7.72785040241364,7.63638232466681,8.19664276389932,8.28037849508139,8.60498925706414,7.97138952689756,8.30920223246031 "906",4.90198673375679,4.64642175332692,4.70273040173548,3.54830022377166,3.54830022377166,3.9737401164974,4.44463567927867,3.54830022377166,3.54830022377166,4.1133546816754,4.10886942232174 "907",8.08559079645539,8.11138652020037,8.06480332080901,7.39350664654034,7.47377566559152,7.39315721180163,7.98417772511438,7.83228293935799,8.11710056757884,7.78729539643327,8.01660473495846 "908",11.1771048084222,11.1673075277614,11.1114861035843,9.51579960554126,10.2161565987503,10.5615184389896,10.8751752748724,10.8983688090326,10.5750061667612,10.8835516927605,10.838880757697 "909",7.6580951815487,7.07237672841144,7.84114335871757,6.69670383284886,6.89563617554318,6.83830958701759,7.0991743398703,7.1253766513517,7.95485212886411,7.29494863419076,6.98814341367768 "910",10.5061990824855,10.2531338060378,10.6956159852855,12.1027279162835,10.7480709851296,11.1005318420716,10.4529337363202,10.4610086273112,10.6440170553325,10.6578669124684,10.6316692389896 "911",8.15871854385556,8.22641698670031,8.5897499961985,6.27135914474364,6.40071463600213,6.7714709429183,7.24914719576377,6.89780162083434,6.93404518186094,6.84435025290232,6.76669562633258 "912",7.07874176605886,6.83106206268892,7.21786362165879,5.53878302118535,5.39764908336153,5.65534952806707,6.25992873135254,5.78854419980623,5.51298978105205,6.1014953970159,5.94046067728516 "913",9.50615166422847,9.40902884652768,9.35313467967631,10.8481139872983,10.4599186161224,10.1641868382193,9.59611210364315,9.92930859975049,9.97654619550548,9.69113894228515,9.80748063398893 "914",8.25712903402587,8.09894415891948,7.83400743326457,7.39350664654034,7.27182102480764,7.03316008565936,7.95730299948966,7.75994834656574,7.57022465258961,7.67594321107183,7.74842757298843 "915",8.90789881133461,8.85803938608857,8.90050002263377,9.98716255859393,9.72860104721336,9.71065004578094,9.02552674393489,9.03142157511803,9.18516922738923,9.36099031660653,9.21365883959209 "916",9.52402764382709,9.68316156096511,9.84252794195237,8.95900189347472,8.64937117040887,8.69886764484335,9.32108884787234,9.22661702159954,9.76938762341336,9.31024158317196,9.30423030030837 "917",12.1851939914969,12.392316643359,11.9076612090987,10.6958679672063,11.5860227252738,11.3451897314405,11.9871313601041,12.0877406164492,11.7853414163164,12.0635326061149,12.0652751664899 "918",10.4460161043646,10.9864014967783,10.0731334977027,9.20167585180879,9.44632939503257,9.6928938362963,10.5121774283889,10.3357556920826,9.69620407411954,9.92089909828758,10.0867789023554 "919",15.8360885120863,15.6360105583448,15.8454393787869,14.6621901618041,15.0810491469015,15.2390695531504,16.0617715993351,16.0559806840986,15.8458015515651,16.1744392235797,16.0911418476845 "920",8.3974891178613,8.17598611502826,8.4097771266292,8.99961396027658,9.01131205125623,8.97944873058034,8.39778519429801,8.30827599759587,8.46573789668545,8.5844128773361,8.2845535256563 "921",7.86600979372371,7.85431831235001,8.12446508314429,7.40367358381682,7.21921073366603,7.14261721935289,7.76607163952493,7.48577200057024,7.7150538741348,8.05774971496173,7.78994511188364 "922",11.2258446093261,11.3373168630131,11.315616562814,13.0588389210689,12.4623203261652,12.311046474432,11.7298528834634,11.7593589614671,11.7658490654488,11.7300454263668,11.9460823533656 "923",10.1790218203434,9.9530619905207,10.1525262470473,11.1314342127521,11.2736376501138,10.949478870928,10.0915562053543,10.2268380946062,10.658183776548,10.55876894893,10.4228962389094 "924",8.80763797222686,9.07870400315051,8.62319443664458,7.06188847868238,7.07256943990856,7.09984026877219,7.62960552780545,7.33064252719431,7.62530056654001,7.97661580669704,7.29982984583008 "925",9.88532311150399,10.0105623863543,10.3772593650548,9.56622765913253,9.05972996017426,9.43537982187616,10.123269813816,9.9589069516899,9.9960126003135,9.89634039364597,10.0519520851791 "926",6.51396439906776,6.42301817472768,6.28664740687677,7.50155353167975,7.29233343640058,6.88959297378132,6.64921354738883,6.76864888687765,7.03093108737801,6.71145259511112,6.62824463854747 "927",10.715104404536,10.8367335399741,10.6718606513826,9.62795915860101,10.1252741888811,9.3809681429618,10.2980337394221,10.5512082495003,10.480372756211,10.193716870766,10.4115730771965 "928",9.97179558412176,9.7939149262346,9.95178733443658,8.90657245076633,9.17959113199586,8.80522001376409,9.80308797068838,9.44527125477777,9.30048623241045,9.6394571097366,9.74719506373333 "929",7.31745897614819,7.63603066783031,6.32866748787329,5.911083037832,6.0785626727083,5.85613856012376,6.56521215361864,6.08445307616774,6.64275977322472,6.28524461564841,6.23335959665524 "930",12.02499250764,11.7793617899984,12.2788517924054,13.5841114300696,12.5196693186998,12.4612218258786,11.8578901829197,12.0018486233142,11.796057770443,12.216280563866,12.2255308046248 "931",8.74463002246685,8.79008750957555,8.0089045279457,9.80827825679785,9.75823472721977,9.16609781109147,8.99682947040505,8.98324517579057,9.04838552577783,8.80288571581398,8.94696541993456 "932",8.9229530537558,8.70516811153347,7.98977766513664,10.4725524806148,11.3504191458813,11.0216577977342,9.74937892108223,10.1455150598241,10.2676983594253,10.6407214815269,10.3838361150001 "933",12.4344257304427,12.5368671033929,11.9739147129922,11.2740709208746,11.8755581690671,11.9375685136158,12.4285212730607,12.4526825074447,12.6129891251028,12.5777977689112,12.4647927492276 "934",6.95432532809127,7.96821042478736,7.65114285598963,5.61488371433785,6.0785626727083,5.45435632888149,6.75392864179652,5.73213596531648,6.3901204572901,6.06158243388933,5.62162634442846 "935",8.06942456863193,8.03506354207531,7.65924649376092,8.81471419617238,8.55114202950305,8.74787211075106,8.34904137646371,8.05737018455627,7.95485212886411,8.11098555512941,8.23395175603893 "936",9.3434130426965,9.5959740506441,10.6221105250363,8.18761826100972,7.72785040241364,7.14261721935289,8.23292737440489,7.95513066659,9.15083504668146,8.01267688248038,7.73634128687924 "937",9.08697485766923,9.0117861763896,9.08876793089424,10.0815802904703,9.45766406599487,9.74896080288785,9.09363402070667,9.10742002183234,9.03686083280058,9.3040299237089,9.11933592449026 "938",9.93812245094222,9.99946701505248,9.85664666430577,9.02278635626887,9.23861121330083,9.55619299213309,9.77571606977513,9.84938358993893,9.92435595832607,9.96879649048175,10.0446403385942 "939",10.2319367043978,10.0193776357435,9.97462323001715,10.8646900190133,10.7934960953958,10.6825041353153,10.0853766743671,10.0092860077804,10.0413989881104,10.1424301375855,10.147195885017 "940",10.6287251978809,10.572751644202,10.2719012720266,11.9116743095283,11.1727348685804,11.1099274294634,10.6040831870038,10.5714673844242,10.6344946867232,10.7475450152949,10.7718333907813 "941",10.3072650149522,10.6001845632283,10.7942617746176,9.61277225789441,10.3041638561546,9.86925026587658,10.6314839644521,10.5829175557374,10.5579807272954,10.5083459512919,10.7577436448535 "942",4.84297810234872,5.10587436566836,4.70273040173548,6.17776213550542,5.62125976688193,5.45435632888149,5.41158127901156,5.32915405009094,5.47688516711479,5.390508541124,5.30807251233407 "943",11.3842563607982,11.388816562243,11.3092149278754,13.1141849466352,11.9919708425011,12.0351991487036,11.5467959259745,11.5473063440512,11.5754542468499,11.6156181090477,11.661839875322 "944",11.3095154375093,11.282080456413,11.1319437234738,10.2854924878837,10.4210815635409,10.8156110535216,11.1766218088326,11.3374465200564,11.2059904601107,11.2304431300216,11.1703556426013 "945",9.97901295098865,9.91459582601733,9.78647388407245,10.819112147973,10.3091772660013,10.3501135059681,9.79553662852666,9.91880398678363,9.74481339974284,9.87694580465071,9.78132356886948 "946",8.294682281884,8.97372587192083,9.09175618158335,8.01323366988297,7.47377566559152,7.55192262367988,7.65662047639296,7.36660049554979,6.74668576793685,6.83277277346818,7.34839558870425 "947",8.82055880528902,8.91586293517528,9.10364761472539,7.70411707223598,7.70514028907391,7.65121758975865,8.47930572808162,8.18828837683879,8.1866252546496,8.06757677451835,8.12707208461638 "948",6.62276159563949,6.28057493588452,6.6256602057308,7.49206154969264,8.07327677468168,7.86346430145686,8.14043928360493,8.51787831724872,7.82660267366782,8.41402218035133,8.80120087122839 "949",10.6809938464023,10.5217079253741,10.691683829866,12.0879017788645,11.4733044232235,11.4608971247466,10.8787526212658,10.8061252570753,10.8571497213705,11.0621960431891,11.0580484820059 "950",9.76020179022974,9.55411733343694,9.53535074476964,10.6667558875144,10.1892161248021,10.1009696272118,9.6490317497569,9.60732250892647,9.51499523377263,9.7653465991814,9.78425344757618 "951",5.7000257986004,5.66465997975799,5.92211619827359,4.64558758720875,5.01670287124879,4.9129913680454,5.60160582989158,5.01322721136904,4.93015836537268,5.32077713645568,5.07200980811868 "952",9.0572680471116,9.19807059674796,9.187046021462,8.08428546657848,7.65861139439769,7.85708585459775,8.49058360355368,8.30827599759587,8.68472113669597,8.22511136525768,8.28869108156212 "953",12.7268555155175,12.7471353585763,12.6159215441634,10.8674342674154,11.176168781043,11.2795016780931,11.9433897457157,11.6397437665395,12.0242855227955,12.0310044206531,11.6586507773214 "954",8.79787073018477,8.88241513822192,8.48903011050334,8.09057387490146,8.15364885930661,8.26118717505858,8.65996013694666,8.68671532790733,8.54520805031822,8.92937142458081,8.78079764257823 "955",12.3131880856649,11.8810899477676,12.4602452035349,10.8134309112171,11.7077541380989,11.704505456077,12.2136360021176,12.0142351070824,11.8950764065347,12.3900066774936,12.383821500858 "956",10.7305797590264,10.5463124432375,10.7170533125609,9.86431090946723,9.24123737559858,9.4523666608158,10.4805071769423,9.78308622838525,10.2466007810635,10.2890292648551,10.0112708865351 "957",9.06814149751196,9.11412324227118,9.05853965275389,9.87162010864822,9.68104383162637,9.50623122384085,9.20044875589,9.03142157511803,8.9778131121013,9.06291793083635,9.09593814997069 "958",8.61711613237333,8.57359585295323,8.4980735107469,9.07122139205733,9.11232399251591,9.22906605581933,8.27703265362688,8.4692989141019,8.58928869389866,8.74289670911332,8.72391506033599 "959",11.8997837472559,11.8224923782246,11.6854570558497,13.322348518767,12.597028279516,12.6595648836689,11.8315522805876,12.0376537683427,12.0695061563378,12.1459832612116,12.1540108466104 "960",5.28634990203998,5.59141601637692,5.37656757260563,4.33331678257734,4.83273793005469,4.39026667116431,4.79704755731515,4.78227634053133,5.04112969494906,4.78196079501175,4.71305020543012 "961",11.0615287871017,11.1168665790503,10.7785911443443,12.0339624934747,11.7419862436516,11.4920273609534,10.8865916955088,11.0790287578388,11.0507057493754,10.9658368743417,11.0944983854779 "962",8.90486899759346,8.39866108595749,9.40450158918026,7.53890404750006,7.96922423053262,8.26118717505858,8.27268248344622,8.48159830870355,8.43970244756147,8.62486769292213,8.45620975321545 "963",8.98164497191558,8.7693223302685,8.43824966422195,9.55492060782545,9.4955487919854,9.41819047100705,8.61258242268164,8.9511914865903,8.87152188693131,9.00792007217077,9.02337574383751 "964",9.83529727408804,9.87386091651602,10.1794529427816,9.305190779717,9.44632939503257,9.66766202449985,10.1364800025139,10.1182302410102,10.086797954744,10.14126946116,10.0458615399425 "965",13.1150029264431,12.8346317323475,12.869732563984,14.2280131603343,13.3618297866585,13.7380721323912,12.856615556946,12.8775601452315,12.7990073111988,13.1649959577758,12.8700334371744 "966",12.3011468723843,12.2418099218388,11.9341128357549,11.079521043675,11.3172122732967,11.4884299232589,12.0826618769244,12.0739447825053,12.2078712255866,12.0009285313461,11.8805257060274 "967",9.51014329950609,9.29565810312958,9.26852529918445,10.3058681849335,10.1138586287252,9.73167288182597,9.55555478737949,9.47835382518187,9.26141351714627,9.3807999884593,9.43304081087427 "968",9.32992587419766,9.24581274962594,8.96711239683296,8.32724449347408,8.79595341846954,8.38148260145542,9.16805766448614,9.02583663999242,9.05411349810805,9.11589408122241,8.97801737293295 "969",6.43071256109461,6.52730961170283,6.89842135709573,5.41530931619833,5.39764908336153,5.59180320170385,6.20491650857206,5.73213596531648,5.82724139574683,5.5494201062907,5.85028907707368 "970",9.6933199504917,9.89915626048346,10.0363946955327,8.91721205486033,8.88934771387627,8.73056126440669,9.41477092578433,9.19710802628427,10.2762966964716,9.20527235569872,9.08171497731816 "971",9.79986947543239,10.0171788692434,10.5812494717202,9.38142812611496,8.66901863215749,8.92571013439452,9.6423115457172,9.25791784862947,9.85716386942044,9.65580753175133,9.53745527315596 "972",8.28071443929551,8.28980478532454,7.76062562001257,9.25296328432148,9.10945190796355,8.96767880151746,8.2813697089829,8.56101386027806,8.58137374949431,8.63810397514564,8.64869565657126 "973",11.7936919404452,11.7826012456525,10.9554399345442,10.399854466028,10.7827238080154,10.9108369175279,11.5910811228922,11.4511435564193,11.3196802789548,11.3889461281893,11.2921478266891 "974",7.89689319839686,7.27859059456544,7.58460878049789,6.83927355652247,6.41973750499147,6.58120453943995,7.47875776629049,6.91009091397774,6.64275977322472,7.13518977438961,7.09663841152436 "975",10.8313076776867,10.9892083624216,10.8796953279491,9.00959064307579,9.8086721495239,9.71944683417108,10.4031259953321,10.2616923127899,10.1748361251632,10.0315350135395,9.84864948271169 "976",10.6158197120419,10.7962771043898,10.6272663982499,9.45869809056146,9.67717063017289,9.35861519639051,10.4945651310204,10.0092860077804,9.98706074137923,9.99087343229875,10.1585299151779 "977",8.41464222744575,8.65227191007754,8.3807299458979,7.11248315845808,7.56075963191614,7.23440933245103,8.18279649342478,7.718899590335,7.68575618862043,7.63681713218184,7.70567223139389 "978",5.8127914775599,6.1384379945953,5.89393465653991,4.64558758720875,5.43778714177974,4.48644669672571,5.30447425058107,5.20403385694408,5.14207053784841,5.16791879000176,5.07200980811868 "979",10.5953034695117,10.6584790659316,10.2426349548821,11.407012007773,11.9416120178296,11.2150394006436,10.5901851157763,10.9226034139365,11.0004402303452,10.7252554709334,10.791621851475 "980",11.9295143097948,12.1467147985614,12.0960799175893,10.4677379120527,11.6397400747248,10.7782158434998,11.7549848200116,11.8945256868467,11.5248129041433,11.5440927384044,11.7096198746196 "981",9.38313367747968,8.98727398971167,9.28166845148273,10.2225793446639,9.96138260524379,9.59686319373274,9.29132507821413,9.31168419351693,9.22886820556431,9.3429258727378,9.38944660327715 "982",9.12652201704222,9.331500338693,8.70746062249964,8.0394789443579,8.14805465040806,8.16644642449687,9.03838442629959,8.97457372676721,8.6243772668336,8.30201315104198,8.32137001784084 "983",9.22210598305963,9.44710090248003,9.98751179492625,8.52115476020547,8.79595341846954,8.45923917335987,9.45367752535055,8.98612410267152,9.05411349810805,9.06536865278473,9.22664350451674 "984",9.45736973881928,9.18048886794505,8.92416620596901,10.1951694161706,9.62785690165601,9.74551975811692,9.14684377661158,9.19462145852352,9.20846888718832,9.36298357674282,9.3385248877328 "985",7.24224442514873,7.32936470367063,7.51483209832686,6.69670383284886,6.52871833911561,6.78509433379566,7.44036987875026,7.26545035107639,6.84346871555432,7.07768838806583,6.90367688540501 "986",6.70973609194007,7.16329009363354,6.8564678268525,6.17776213550542,5.39764908336153,5.68598866291392,6.42891596161512,5.84263840078618,6.37153045758554,5.99941972064136,6.00431920355596 "987",11.0011359183487,10.6198789768149,11.1930229533517,11.8744177848462,11.620207946945,11.4551163261391,10.736949825916,10.8845557748348,10.8831143931235,11.1397915926484,11.0360968281105 "988",8.02540389838557,8.26032284797954,8.08296329851879,7.27661531753778,7.33249425050712,7.92573694177426,8.16412493691205,7.87648532555971,8.1060996420964,8.02281595836473,7.83596762084554 "989",8.06942456863193,8.39527513861423,8.4569231985075,9.32396535040109,8.99272759743937,9.04532157803117,8.42938741921792,8.61782708032254,8.62052048977526,8.45948004832555,8.68679631873008 "990",8.55660514613917,8.9229304161299,8.5115329832205,9.60840360376612,9.35714415690729,9.30116793975037,8.82640317680438,8.78919281788379,9.13200299648332,8.77918901924796,8.71164811978162 "991",9.24863209458266,9.44382990710017,9.48851327457303,8.39989535773393,8.16477240153267,7.77147814172358,8.55645630441312,8.52977129672558,8.90677549196692,8.59123476117801,8.60955961539881 "992",9.1624787303068,9.56620088281565,9.1758256769784,8.02641622832246,8.28176866984423,7.70196403035471,8.811497292161,8.41475267311222,8.47858114330095,8.30616728615832,8.60293228105033 "993",8.59472142415232,8.50300867513983,8.61074361341653,9.66629224542391,9.36438918633231,9.16609781109147,9.00471283980107,8.64359188993273,8.84863020211787,8.94276379601486,8.69304958228157 "994",12.8242292107495,12.5115154480853,12.5160652453708,11.3195367607821,11.806777388402,12.0295522664115,12.5066646039113,12.3888843606159,12.3142778862985,12.6679995204775,12.5061882813091 "995",8.47720506147292,8.12372211241184,9.17300689134496,10.1477943510363,10.3656128518495,9.72644583362215,9.03068358970908,9.231476990754,10.0004677804366,9.51949892739923,9.56497679107382 "996",8.94081297417151,8.78492420692115,8.7459181822011,9.89153147815798,9.85740509263056,9.6603710993719,9.26093385697583,9.19710802628427,9.01939913961722,9.32258518506948,9.24802804734043 "997",7.7216241629332,7.61867361278385,7.85530964459838,6.59294157316564,7.11932032558298,6.88959297378132,7.33545046218468,7.30306692115969,7.18604166357848,7.31991758798775,7.40304374052886 "998",9.0572680471116,9.22880714902793,8.97684390628987,10.7494144475872,10.1946446242638,9.84373054768421,9.24549456835628,9.41568795142642,10.0965413299756,9.68637169179772,9.7651019674301 "999",7.4062246804254,7.27118736405129,7.55014554719028,6.57487622139197,6.36186838199559,6.2854828908731,7.2131083928765,6.50132385628596,6.99536990472171,6.85583364825118,6.53245205516269 "1000",10.8960243159774,10.8941697188749,10.7832178505055,9.51346498043639,10.4082894055706,10.0942223041685,10.9189194253512,10.7496720901198,10.5294932421586,10.5939783364718,10.4508212759405 "1001",10.4176143551016,10.621327181687,10.6075752654139,9.42927633104782,9.85054325298004,9.76434470127426,10.7258698713933,10.3492289654657,10.0600149918336,10.3088067026996,10.0748644073483 "1002",7.57641756494067,7.75727219503807,7.06710206958041,8.39989535773393,8.26119229282476,8.20208110331023,7.81482359302033,7.79985493290829,7.94870454884627,7.64341278430679,7.73025972915777 "1003",9.93069700104697,9.87992398088922,10.6190081324294,9.47558756262761,9.54101377918957,9.42250705862826,9.99859569010549,10.0373031829165,10.3630372320964,9.94238343620172,10.091517279025 "1004",10.6185949094909,11.2843675650789,10.8124824801841,8.82605142978317,8.62543485778274,9.16093949175458,8.34075443718631,8.05737018455627,7.39100943196294,8.74900927669588,9.15146757110382 "1005",8.14335841506088,8.65510488621471,7.80510350800155,7.11248315845808,7.48271592044446,6.75771463598581,7.79065468949202,7.87025342817232,7.76492707029667,7.07768838806583,7.34839558870425 "1006",9.71076705659779,9.44546633234536,9.4725564866295,10.4544143865778,10.3595844203218,9.97293708537586,9.51382367082903,9.67843989305118,9.74304197024093,9.67197464876051,9.63967834804419 "1007",8.00854214661264,8.56458271440011,9.61226530671593,5.81955380472203,5.75123300751287,6.36093948153758,6.16697714683118,6.41700761662776,7.35417069068958,6.04117709694692,5.80280358265392 "1008",10.054742453781,9.87628920174086,10.0579392247236,9.19002653547413,9.41410993143163,9.5082632872984,9.75872940389728,9.90822230315143,10.0152197692541,10.1459065734411,9.99365941330871 "1009",8.67518678147112,8.75354963430661,8.65587979860013,7.95925948272018,8.19763587511132,7.81162492100412,8.34075443718631,8.67961715439261,8.43970244756147,8.47062369958845,8.54533338091267 "1010",7.44862159904616,7.33647290912513,7.35418850759407,8.29494927890826,8.3270169324991,8.22205422548611,7.72201063257577,7.51006601123826,8.06691954382903,7.77534137537663,7.86954111288269 "1011",11.9524254831955,11.9074439004169,12.6444261310559,10.0269842891258,10.1081167885676,10.5673764872955,11.0143749183998,10.5647459037467,11.1123715390299,10.9749861087973,10.7299043777983 "1012",9.3434130426965,9.02717053364259,9.44945032736336,10.0657360459429,9.79622719722959,9.77451021517271,9.30840811207167,9.16189959232325,9.16678326938302,9.47042460451725,9.3622508886613 "1013",8.00287729953735,8.1994818362835,8.09494372094293,9.10883062294764,8.99272759743937,8.5449458429654,8.39778519429801,8.47341039924429,8.22271435187535,8.27683325360183,8.41138781637634 "1014",10.1739993695171,10.3144046076248,10.4558701476089,11.4393400435054,11.0021351676023,10.667128934961,10.3699561198487,10.4846015946639,10.3514588304847,10.3334072697699,10.3760897378327 "1015",9.28403502880497,9.08921207945,9.53535074476964,10.1189110950212,10.0037476889453,9.84855001793593,9.10590078326603,9.49865150161773,9.31248243122282,9.63121185055323,9.44974695409501 "1016",8.93785165006461,8.51865080696111,8.5770053316725,9.49937728997696,9.64183557788659,9.38760700419698,8.69936495459898,8.85682261188807,9.01353124291589,9.08240801259003,9.08409527418342 "1017",9.12912031180598,9.02059733590542,9.67933869708977,7.91030878238794,8.22976510944951,8.14044133216831,8.62286681903706,8.21801139525808,8.6243772668336,8.93205987433951,8.60624976059955 "1018",6.96609768642662,7.22594219396083,6.73808903630757,6.12845239811469,6.32190141837547,6.09886016877318,6.47584372686925,6.50132385628596,6.92145522413605,6.49251568930576,6.45977249775491 "1019",10.9476992745288,10.7407295072821,11.2982665269765,9.86064237179879,10.2040956140826,10.5546538458043,10.5893120242774,10.8061252570753,10.8307091385325,11.049878942885,10.9500163006214 "1020",8.50949242578248,8.57359585295323,8.35606792036895,7.37295311711776,7.73534120637942,7.88243133137374,8.17815128410126,8.37134068175844,8.14424013099273,8.20299931902598,7.81888169009264 "1021",10.8329017422342,10.7572902360556,10.3711257174728,12.2311437892806,11.6550791484448,11.5548015143461,10.8858808100336,11.0870921593124,11.0225103237594,11.3234289555852,11.2755889759218 "1022",9.41966875416745,9.51880222944563,9.49077846886586,8.93127708600914,9.32779438623419,8.81510744800008,9.53755902694178,9.62404825680619,9.71620605869828,9.47780110718558,9.58695760306276 "1023",12.8559328624732,12.7319666072563,12.9521620623959,11.5764694757678,12.2362300330622,12.1009554522088,12.7693119791519,12.7313160472424,12.466394911869,12.8661067536953,12.7606917521444 "1024",10.9933167987777,10.9494063849684,11.2415701487023,9.03911289198549,8.80308299104538,8.55284845392239,9.71296302941225,9.35017423809081,9.51083683911358,9.3983989272687,8.75712025471419 "1025",9.41328829113675,9.25703938444218,9.3996875934051,10.2963953327579,9.70596921259255,9.77451021517271,9.12048441318275,9.30016523045006,9.53969687027732,9.44053533266686,9.322487826815 "1026",9.54168472678075,9.53426300537865,10.0050475913401,8.40998101223177,8.78878838826986,8.99402723996932,9.27620954924017,9.18713591618254,9.65346320363239,9.07025763088848,9.18067608205543 "1027",6.51396439906776,6.93821031269665,6.15229533335878,5.81955380472203,5.65499240986345,5.12270292620239,6.06724579431514,5.67318746075466,5.85488481424146,5.84212104415619,5.94046067728516 "1028",10.7801711595267,11.0762605683261,10.8544164244623,9.71586772375311,10.4187641386615,10.0928690436321,10.8513396529838,10.9850668379502,10.8265336669774,10.4551626080104,10.3857662267573 "1029",8.25236519168516,8.35400994653828,8.14765331852147,9.31862608864839,8.7301479243018,8.93480688599106,8.46412979481465,8.33564284497309,8.5734150603124,8.53573273816276,8.44142364658327 "1030",11.7517532580527,11.4019359771188,11.149250846477,13.2403936361438,12.3828203875749,12.8128973762886,11.8564395126401,12.0742828406332,11.9715637396587,12.2269872094759,12.1988844609907 "1031",9.43654656252863,9.70791310097033,10.1265445453949,9.16941092317805,8.59699686255962,8.34552814661872,8.20580009791753,8.24231980078866,8.44843335716512,8.20744900921334,7.88056001282118 "1032",7.07874176605886,7.24874425335053,7.48776309257842,6.79333341252553,6.05413185693349,6.3971794717333,6.06724579431514,6.14930149609275,6.37153045758554,5.86575800256349,5.75354754840492 "1033",6.69560900497096,6.74769301624946,6.65871092362578,7.93149228509602,7.25100929258247,7.70906906148302,7.02823820460525,7.18710224326981,7.05415311319903,7.30332025620943,7.36422385202595 "1034",10.6809938464023,11.0778436567213,11.1026289569641,9.91294397957302,10.3364438175693,9.64383048070523,10.9355028002078,10.6785204081957,10.6344946867232,10.1608750516461,10.4745932611508 "1035",11.6738479262511,11.5529913107052,12.5582451596033,9.8897326701187,9.23861121330083,11.076086970429,10.622976998588,10.3447518427692,10.6934622345476,10.7437264786175,11.0262322802644 "1036",10.8822338361615,10.8273528537268,10.4383765093836,9.76379546123071,10.3595844203218,10.2781160720051,10.5901851157763,10.7905726962187,10.6851844462745,10.8576395638482,10.8522034504791 "1037",9.39613438242484,9.52190767470958,9.75854833344212,8.45451180306813,8.98647913930877,8.83791762334003,9.38488614072924,9.30478386563481,9.27619015969564,9.44242167414175,9.07215428484022 "1038",8.89268563242113,9.03153606936948,8.4288212608901,9.74998030878585,9.28006631707785,9.57570287017414,9.02294138520114,8.96293002873385,9.04838552577783,8.89119677690189,9.00339249682082 "1039",7.89689319839686,7.67012645121872,7.4225356099074,8.58484897985037,8.51250693747927,8.27080630059016,7.92991581991062,8.00147085187088,8.11710056757884,7.87391054022133,7.92380890578699 "1040",9.05180040476276,9.47940910278003,8.87296827612038,8.34837883389408,8.59288805804577,8.28985371957146,8.92386860471468,8.90630016490089,8.80852077670813,8.9717961107169,9.00841434471593 "1041",13.0415987066736,13.0100159667095,13.5932185015076,11.9711401695429,12.4125300013792,12.2866942840685,13.1892049054154,13.0163287953634,12.3600612867679,13.0868245880557,13.1877113085969 "1042",9.23663524358812,9.23070659685459,8.29509519727085,9.73603153343138,9.73978515594151,9.60258070603605,9.19126818707572,9.12319685129246,9.07398401368605,9.13234983729603,9.16277176229631 "1043",9.45736973881928,9.68316156096511,10.051816412948,9.02933918090383,9.22540815807337,8.89185528130567,9.76028194053222,9.44317817320501,9.49828921371844,9.43864652014548,9.85563028653616 "1044",6.96609768642662,6.86109848575082,6.82779078716263,7.69588059509463,7.79389953239992,7.59093188805758,7.11880812988853,7.24626335900654,7.17550601717443,7.35254427892487,7.37207268229142 "1045",7.74218994995742,7.84440655206632,7.35418850759407,9.05525655212931,8.49058638996859,8.30865224959344,8.0918641681627,8.34015380589149,8.39523538004153,7.78133083731575,8.0215884275208 "1046",9.11608174668641,8.8029153832728,8.89366624537812,10.1523024547739,9.53888097839119,9.36086615048102,8.98359392938086,9.08879277526323,9.2638868327425,9.1851329898991,9.1377844751529 "1047",9.18762382394278,8.9346330650038,9.27904938924421,7.80709668383475,7.59412520476386,7.94990899221953,8.30712100765054,8.09524495818905,8.38162287407451,8.23821723466124,8.24677005367588 "1048",9.38313367747968,9.17655252407485,9.26588222870096,10.2339663375307,10.1181500583391,10.2185580582805,9.40289123840016,9.57327752659448,9.50038808177752,9.87973247920295,9.69365950185114 "1049",9.44073532499191,9.25890201976245,9.5065359672369,10.2225793446639,9.83498369585237,9.82265804372679,9.28702250294436,9.44108204882765,9.3687142921226,9.49970686483272,9.37591286682496 "1050",9.25578257505662,9.24393311445957,9.32801574787512,8.50242661365952,8.67680318171684,8.86672416809913,9.11806403180184,9.12580961555402,9.23896062811224,9.34090466928542,9.19836074801692 "1051",9.80312638837258,9.69283770343564,9.70102070426738,10.9465593725467,10.3859230889828,10.2247493126452,9.68053190362794,10.1390653344437,10.1722058748581,9.82728665298935,9.79446140192259 "1052",10.5465899316105,10.2390524456317,10.2600003697729,11.3208721681813,10.879425616054,11.0145288004371,10.3961534170129,10.3536922350361,10.271389638853,10.6374324534191,10.5684984547681 "1053",9.87916395621881,9.7939149262346,10.1395938965377,9.13336910256102,9.25948776751697,9.4116912619431,9.56446914373799,9.76978708503747,9.88473885028186,10.0600683091945,9.83740943544893 "1054",10.2415707026317,9.90154236284114,10.1148451732577,8.94866749721308,9.33272769378965,9.12165223698038,10.0400848790085,9.75298881703293,8.95656126357959,9.94637636273417,9.69832693995368 "1055",10.7702219438441,10.6753086122337,10.4099377759606,11.8296216020615,11.3296004138846,10.9695248884942,10.5250186813751,10.6305916210935,10.8282053061651,10.8583460462227,10.8402889546161 "1056",9.29101247194292,8.87514561311151,9.17300689134496,8.0394789443579,8.1758105530426,8.40787096294198,8.46793880312616,8.86935218574953,8.80852077670813,8.7671928843009,8.5693302404221 "1057",7.67245805714751,7.70890603582658,7.69121046438222,6.88376684868542,6.78362663914756,6.71562100072587,7.19474134121686,7.17699871670462,7.37270881899656,7.00752371135829,7.24099805435479 "1058",9.01293487089078,9.13861118180648,9.05241716979599,8.03296242975768,8.46383340541105,8.57241728838446,8.64993815159882,8.83782155846211,8.85848549096175,8.97961355002216,8.94172441538804 "1059",9.40687946770383,9.26076225162126,9.69710269070915,8.4447344449981,8.5211825515643,8.48425182913367,9.25433725528124,9.08342618871743,8.6243772668336,9.08240801259003,8.89367732498072 "1060",9.74842349831436,9.6692248958923,9.74722492685364,8.89943548573761,9.30035525603987,9.36535754324697,9.75406174062268,9.61291934088811,9.41840182699493,10.0037037478743,9.8791154152687 "1061",9.16754296113089,9.25143699535895,9.13295394976483,9.99220081786086,9.81749610867192,9.81938861709137,9.2432753956353,9.30478386563481,9.09080053488277,9.49061987472556,9.48799129901826 "1062",9.19508261043595,8.99400058454918,8.99291846848737,9.82531781007942,9.76372388572495,9.98611825045608,9.42459643967593,9.25075466607232,9.15617075017529,9.35098246993433,9.35043669256133 "1063",9.67565917741383,9.2495646837176,9.60182491992695,10.4286316847604,10.1959985629127,10.0020666706214,9.54478430345243,9.6405822331825,9.60747085520721,9.77585644799489,9.62340921195465 "1064",10.2887985170902,10.4460888907511,10.8277911642823,9.62147006138431,9.83672084840397,9.76604393736077,10.4100650320552,10.1823651977534,10.5025271633048,10.2732216650735,10.2204054290334 "1065",9.76522033055154,9.92166641344763,9.90330203984434,8.7645283512679,8.73760985817425,8.67734439299239,9.26750041175505,9.29553175144062,9.27128142150891,9.17154871505966,9.20712238355599 "1066",11.8690392022197,11.944069765846,11.9135814038573,13.2336741603757,12.6186421816182,12.6729837245584,12.112136848982,12.2673039756428,12.0680921537785,12.0256682753224,12.1503258693887 "1067",10.5121810487845,10.1783620425922,10.4087405742361,11.4787572454081,10.780018120108,10.9123719494397,10.4558107269963,10.392167757017,10.4339187916528,10.5306785948073,10.3857662267573 "1068",10.398364344537,10.1160331461959,10.681806291062,11.3400979357904,10.8077351450852,11.0301663500558,10.2391334134127,10.3899965856058,10.3927132134293,10.6233698134266,10.5650957934218 "1069",11.9918432121435,11.6044217940543,12.0994227761672,13.0668198342395,12.5456537896545,12.5094339925072,11.6542251832939,11.8709793770221,12.0257430979191,12.2093752996594,12.2333224950453 "1070",11.3220551086501,11.4107560169491,11.342197472079,10.6348983062597,10.9517341501716,10.7337606409254,11.4544055222956,11.5047993342514,11.2902686561129,11.4035403900231,11.3934644588988 "1071",10.3918901606411,10.2171904506345,10.9397772328691,9.76182995208663,9.62986217061527,9.49602772798355,10.1719047159624,10.0661469966527,10.1840044128725,10.2214407527415,10.3426954916598 "1072",9.01574600705652,8.74559805039708,8.82707588341202,9.69747605586327,9.4867238725596,9.43751415323226,8.96485755259403,9.08342618871743,8.75324314210048,9.18963278256191,9.05769327455824 "1073",9.18262977228122,9.28289979667133,8.84490020686768,7.74460433271526,7.94360579430254,7.64381915699718,8.35316701815626,8.26147500951268,8.27765733364126,8.1251686531973,8.15907430970499 "1074",12.5970940127114,12.2720877523663,12.5775503988306,13.6758060331092,12.8168847308036,13.120877456375,12.2601828312875,12.4472114400563,12.5314562071212,12.6144325083754,12.5004104806367 "1075",11.2069146867304,11.1553615696502,11.1362900088097,12.6730305698081,11.743375813735,11.6007473209506,11.2601826140795,11.3009358307067,11.5045706942623,11.2955312113621,11.3342319480831 "1076",10.9753868606839,10.9138031379392,11.0172293711269,9.87889245201439,10.3547434692174,10.7748444298586,11.0547829153938,10.7623162935536,10.8114011007835,11.0913349686046,10.9962273381243 "1077",7.48979747185056,7.83942488448672,8.37091579395097,6.61077692935938,5.17436496058539,5.77381127177675,6.55070875443918,6.17025054654574,7.19649994303249,5.79354444200787,5.27185771113154 "1078",9.58395757794566,9.97021312777052,9.75478373457394,8.58484897985037,9.38353314396616,8.24663679622921,9.45367752535055,9.3941791181895,9.31963252852319,8.89671260759441,9.18733328198418 "1079",11.0458070796678,11.114811790448,11.3340222603512,10.3483975903953,9.53888097839119,9.51838087018148,10.4345783222315,10.2473718794916,10.5427895704781,10.3784321576861,10.2755776067162 "1080",8.62818423221203,8.48719472503624,8.13610594939793,9.13943900244261,8.94840853978628,8.94984168180569,8.40177362818446,8.42328012288839,8.54927161140678,8.50354624948555,8.69304958228157 "1081",8.52536857224079,9.04886717111617,7.98977766513664,8.04596604121682,7.49160064414333,7.52799643435851,7.65662047639296,7.33064252719431,7.35417069068958,6.79745975501333,7.17963333217221 "1082",9.83370565979141,9.51569008177749,9.77722531891192,8.83356032530281,8.81723715692029,9.19666600526307,9.88221825240085,9.36351729556457,9.18777675371574,9.58585400629418,9.34051703548451 "1083",7.81517116508222,7.95445818948913,8.50257399714653,9.39924168195611,8.96756955153314,9.17891342606214,8.13085467743051,8.82822623059321,8.56139393720079,8.9347433177825,8.92056767990242 "1084",9.07624308922366,9.08711658390705,9.48397218245398,7.77619078298829,8.45480410640922,8.48425182913367,8.79036652453112,8.33111769783576,8.8353840722212,9.07756014416941,8.56251470535001 "1085",11.7068212225145,11.5300453473555,11.7750507056439,10.4298699387392,10.5798885107645,10.7561594814271,11.2841195482955,11.1364922827586,11.2200649087183,11.2692099191058,11.111509253252 "1086",9.47993316540204,9.67760304672165,9.46104969044259,10.7304462784597,10.5558361098122,10.1302885071711,9.98803419541122,10.2735183523646,9.73593441289265,9.68955160917478,9.79881421781235 "1087",12.1214064219376,12.0135422799708,12.5536490305932,9.6105895851717,10.4326131688845,10.1090249704867,10.7487275213689,10.5048081669179,11.0413683709605,10.6108467222188,10.2672257278555 "1088",8.97299212607406,8.53719976752436,8.86250671939524,9.67676195141852,9.33764417829762,9.43110165767428,9.03068358970908,8.74227557932138,8.98382794808631,9.10402387665622,8.94696541993456 "1089",11.5787254662118,11.4913679408573,12.3416755595032,9.99052335285059,10.5621494159827,10.5934472370591,11.240298054044,10.9471761205727,10.9795323195628,10.9658368743417,10.7799281512426 "1090",10.0938283650855,10.0942959920703,9.91515548384367,11.163049259731,11.0021351676023,10.903908988624,10.321357252515,10.3198761468089,10.2909184970122,10.5674361766143,10.6020907797467 "1091",9.34788087311671,9.75221620154644,9.38026925122377,10.2564741419397,10.2491396602393,9.9462077687254,9.71296302941225,9.69963483944867,9.44043316502887,9.44618696976957,9.6858467111872 "1092",11.0117305110115,10.7433920331274,10.6926678740278,11.5316157436288,11.5221548365064,11.327464783959,10.7377380042702,10.7814913449302,10.9109881747182,10.87450037426,10.8757412336833 "1093",15.1159589850406,14.8807908855856,15.3421084649212,16.8148305693265,16.3679277334395,15.5709040062567,15.2174063334563,15.1673451693112,15.4513424234941,15.5052264043111,15.4912539002115 "1094",9.66495795660164,9.06811875511238,9.96976016948034,12.1698470393877,11.7925292977063,11.5743257600347,10.6357187082476,11.1621632544744,11.4728634266051,11.4459877934816,11.2869935737354 "1095",9.35455676581492,9.33856308609798,9.4702624618449,10.1731559556145,10.0297973927051,9.9159157255235,9.26312603357272,9.71185621439532,9.24147273241603,9.55828625403578,9.69365950185114 "1096",14.2822677676899,14.0114262785278,14.0084958260391,15.8139679670362,14.9003410943467,14.4645339140552,14.0436655397953,14.1824041005572,14.1757701972335,14.482486974297,14.3333774081303 "1097",9.95871260679007,10.3843101433607,9.29209737834499,9.31862608864839,8.56798594813806,8.34552814661872,9.45175692804452,9.20206833124556,9.62296519457003,9.18963278256191,8.75113959857946 "1098",9.74334606197436,9.65656569191356,9.39727455469257,10.3756411792624,10.2347199443245,10.1250019382903,9.58037741651424,9.78308622838525,9.75539652513705,9.67358143641418,9.67009299179798 "1099",11.0354607043434,10.9528613422182,10.9806353312393,10.0878695737875,10.3859230889828,10.2321439092316,11.1519994515798,10.8190933400436,10.5478710854871,10.7421962292399,10.8318190794582 "1100",9.73825068621285,9.6622057285822,9.36058580699488,8.61130701600783,8.49939470047741,8.27080630059016,9.5891400968579,8.68671532790733,9.04551298038993,8.78812101875162,8.60293228105033 "1101",8.97009626031626,8.9346330650038,8.96058802310873,9.73803249475946,9.64183557788659,9.38539744524798,9.04094225523846,8.96293002873385,8.93809257546283,9.22074407381969,9.19616199308344 "1102",7.77582417085792,8.03506354207531,7.89012551096893,6.500187110462,6.85466595400314,6.46694048896454,7.24022255896221,7.17699871670462,7.06562328853505,6.71145259511112,6.71791173993668 "1103",7.4062246804254,7.74666425032377,7.59309652537082,7.0358991602313,6.88211086947595,6.67222943533371,7.62277144374926,6.95820855958201,6.97115740445838,7.43860513348082,7.27491277202479 "1104",10.111011603038,9.80287800498316,10.0441261655474,10.8756358283887,10.1769267837193,10.5566184937608,9.89074838227967,9.98503588060924,9.74126836218201,10.1858577301682,10.04951895242 "1105",7.44024221302913,7.49725036994418,6.96569370017792,6.15332962573924,6.4570197312126,6.22605241805508,7.07926563097037,6.62645817772809,6.37153045758554,6.41641371191531,6.68018127508015 "1106",11.6396480283256,11.3947562374409,11.4819427701949,12.9196887077682,11.8873380824745,12.0754911013451,11.4885202595013,11.6305781580839,11.6127867583853,11.7894075130577,11.6558545218442 "1107",11.110979714701,11.3491639583644,11.1727141152728,9.78910626375925,10.5043095752933,10.4294488422818,11.0305455513855,10.8093782233005,10.607492711752,10.8276504714258,10.8282752348083 "1108",10.7237223111831,10.8905711193712,11.1748283372502,10.0318855804948,9.89123296532922,9.89432626644721,10.4898943522629,10.2473718794916,10.7875414234322,10.6619192965688,10.3196587672792 "1109",9.42390676402229,9.43232263115512,9.167352730082,10.0862998220757,9.745344852182,9.74551975811692,9.21411090658819,9.26741372713333,9.26635591235049,9.48879558455587,9.41991198649254 "1110",10.0656309929891,9.93104026452846,9.69710269070915,10.6948383037265,10.3644091794051,10.3658853874371,9.85922146604785,10.0036166677146,9.89115117291299,9.90867201805145,9.91029269065698 "1111",11.2829385323311,11.4937417771601,11.6554899374099,10.2211496290945,10.8624738139044,10.7748444298586,11.2363995795167,11.2846671700074,11.2085596852217,11.1962049427588,11.1714748652468 "1112",9.47585689914803,9.40061758717923,9.14451165938165,10.3820526069253,9.8761085308721,9.82265804372679,9.37478529219148,9.43477533002526,9.43166098431044,9.47963935157952,9.73815753648463 "1113",10.047895137049,9.85674746985859,9.67137280189471,10.8360228341418,10.3388972262824,10.3168840943542,9.62196096435403,10.0163414883161,9.835715546093,10.1225704801802,10.091517279025 "1114",5.2447303988107,5.82106309200949,4.43062166511718,4.55382476248647,4.3058722489524,4.39026667116431,4.52717022062621,4.78227634053133,5.09271807264536,4.34246051744749,4.58142223425457 "1115",4.38318186180789,4.70290661503082,5.33324863235043,7.41376869620371,7.71275036501565,7.61383736342438,6.22349968702288,7.01614586013828,7.5377746833745,7.64997821458373,7.45567871962375 "1116",8.68934584434608,8.82572160192677,8.68783983126489,8.04596604121682,7.94360579430254,7.44522321742214,8.18279649342478,8.37134068175844,8.67731497422733,8.02281595836473,7.99649527722762 "1117",10.4048096005497,10.6808751102622,10.1794529427816,9.35819675498724,9.79265168242774,9.60448151693673,10.0578677412391,10.2158477587037,10.0979278833495,9.96748726292982,10.2745362626307 "1118",10.430306442802,10.2200608766431,10.5630695042497,9.42679720179309,9.74349400056111,9.74724130680861,10.2402463067988,10.1403575888142,9.93370430270273,10.4211380433142,10.1630387072952 "1119",9.88532311150399,9.90034980511296,9.74152970764211,10.6099886315549,10.150633584307,10.4893009929659,9.7383928444037,9.96329477753912,9.73949257019897,9.90594075453642,9.97711108089912 "1120",12.2623394921647,12.1817343793256,12.2886467903345,11.3242052885146,11.6905687172999,11.8783255691338,12.331877240938,12.2473555552885,12.0677384364854,12.4235694075191,12.3337135490555 "1121",9.72457434153067,9.81685125449942,9.93525173970331,11.0083687146693,10.5537255193062,10.1616073714023,9.87507106808472,9.99077858281801,10.1722058748581,9.99216161207555,10.0483008451107 "1122",10.3232315167465,10.5045455418236,10.6436424377832,9.51346498043639,9.68104383162637,10.2098454126657,10.4964292160672,10.3038198405666,10.4106764696597,10.2540209962136,10.2703633521532 "1123",7.14227631031255,6.86109848575082,8.97360736585661,10.7720471384747,10.1408245076845,9.7386129387965,9.99859569010549,10.3943356653582,11.8151488649056,11.2293512623872,10.4908242644187 "1124",10.6018630700211,10.4469058823734,10.5193670530422,10.9697300995172,11.0052275218236,11.0130987636322,10.3941550455906,10.4147699039175,10.4962319761516,10.3960558351763,10.3867303150248 "1125",10.28530957413,9.98716270679684,9.54191932670745,11.0008899754892,10.9668816017564,10.463355251546,10.1220628665054,10.1773380473921,10.2811871172608,10.3615875078263,10.2703633521532 "1126",9.58016539209422,9.89197417591852,10.0160967416213,8.85585502991423,9.33026315009008,8.84436903328506,9.61339605703764,9.58091284352403,9.11292164986098,9.55131117309948,9.67009299179798 "1127",8.84289513737265,8.98951967825297,9.10955674340865,9.88432274565735,9.40477056518955,9.50419629265952,9.13252572985366,9.2411480514298,8.94118717406452,9.11352784767982,9.06252975036268 "1128",7.24224442514873,6.98435666679814,7.09136174566226,8.37950950752199,7.59412520476386,7.94390401379986,7.44813034354882,7.20709679221965,7.45327666964275,7.89615159693463,7.7840870982867 "1129",10.271268795116,9.9553606270986,10.20312642673,11.1443143575316,10.6096547837921,10.974676851215,10.0515418580555,10.2509653385894,10.4632618365058,10.528016861657,10.4172457685466 "1130",7.88461944536395,7.41241355458718,8.15339241024055,9.03260445449268,8.34667938075994,8.71656123030154,8.437180737558,8.08452505120833,8.12256962149903,8.30616728615832,8.28869108156212 "1131",10.1396325516419,10.2568657343066,9.97785618479691,10.8029568412284,10.5345899405607,10.6534251409565,10.107500169286,10.116918000416,9.92279199295772,10.1745555795927,10.2343975732753 "1132",13.330472190444,13.309112194858,13.3401536640602,11.2156849098685,12.1197987766083,12.3808984184615,12.6598453851875,12.6617101853511,12.3632354214573,12.4418310435666,12.6490225104036 "1133",9.621340841989,9.39045887341252,9.93358770542498,8.98956773179542,9.03269530055105,9.27275842991469,9.81956304541581,9.48650721472031,9.4749977497596,9.64274205837092,9.54611230702337 "1134",7.57641756494067,7.85431831235001,7.92411703521858,7.00942527233673,7.18668637514882,7.03316008565936,7.98949285798826,7.39298705098007,7.47058029594217,7.15385172140834,7.29982984583008 "1135",9.25578257505662,9.39385307039768,9.71271127952081,8.78015717760028,8.60109397713546,8.90425836109118,9.46705054973068,8.9947265369684,9.33382721422762,9.30610345196792,9.08884410760406 "1136",6.88155947257217,7.27118736405129,7.11521436851998,6.64578118848052,6.12614548408454,6.03051736948815,6.72847132947242,6.68507068847066,6.76092516512381,6.50724974565549,6.35118973846552 "1137",10.7727156881506,10.5772358181313,10.7362691464628,11.9090130924903,10.9493278408184,11.3193880241545,10.7123002159482,10.7266294275696,10.5987050535914,11.0387029142942,10.9694511088204 "1138",13.5279013778769,13.9189959187351,13.1005922570038,12.4307972543196,12.8171046963456,12.7263176696874,13.5538522934758,13.4375052934821,13.6140558152463,13.1125164352252,12.9884358535995 "1139",9.52993739431458,9.7745186727122,9.66737329252454,10.6772206314706,10.5345899405607,10.2173166120591,9.99068182833113,9.99934999038093,9.95681345931692,9.78182786646696,9.97198085071186 "1140",6.03616389920384,6.31026098422839,5.60895207119721,4.80590313991191,4.51917288855208,4.48644669672571,5.34122790279734,4.78227634053133,5.51298978105205,4.1133546816754,4.50758419823284 "1141",11.1279596261426,11.3097384807724,11.676532099267,9.92177287435255,10.1932894135247,9.82428998187715,10.7290442661384,10.5108153526677,10.1866132554067,10.4774078152085,10.677295693054 "1142",8.29004138613078,8.34350607302778,8.73448833373387,7.26549832774664,8.14805465040806,7.58321459177539,8.14996041764452,8.09524495818905,8.09501387902365,8.0177553637922,8.02655489405578 "1143",11.227057406889,11.031758340642,10.4958820344868,12.3149522475155,11.2990583780677,11.4879152705028,11.0478086149955,11.0261876840352,11.0521369200091,11.188921745793,11.2111992692842 "1144",9.21478606815555,9.1325280878282,9.19540433545246,7.75256639760947,7.857041291275,8.6333082801492,8.3613829856492,8.75245870326797,8.7914732544496,8.53219178875999,8.13168767471038 "1145",6.86905962463961,6.89051001351939,7.70692907350163,6.48087352776947,6.05413185693349,6.41495063025135,6.85139714343043,6.30856916803684,6.62726529325089,6.96581519237041,6.51821581272864 "1146",8.65006847359859,9.21544047298836,8.40497645878454,7.85224213972544,7.33249425050712,7.01021906895851,7.24022255896221,6.79544173688354,7.86629461016776,6.78548965119309,6.42960502818059 "1147",10.3129876465892,10.4046378387236,10.2560114820477,12.2926667657137,11.3822843081175,11.4456065849104,10.7979258727724,11.0093140856977,11.0428088303566,11.3952884433914,11.3236996125836 "1148",9.49612396405081,9.63090894298677,9.74532901834701,8.63728771700357,9.05376592897569,8.95581195289391,9.51566340282526,9.25553407362448,8.90360602226272,9.39645406418774,9.70915923935793 "1149",10.5839885740484,10.4088369573044,10.2980013584393,11.9427981926788,11.669282441377,11.5796489260021,11.1661207867312,11.1735678189282,10.7685137022477,11.2681470124454,11.3110600268135 "1150",9.89603874494576,9.82189905609251,9.66937443373577,10.6466612688169,10.4644196919081,10.4644020910139,10.0142943252449,10.0149331505938,9.94144856874384,9.92899327509673,10.0700709147796 "1151",6.96609768642662,7.47167867409579,4.3153118826282,5.27816114646231,5.12418767680969,5.55881082326398,6.59377571461705,5.86887992335646,6.05759821691539,4.78196079501175,4.71305020543012 "1152",9.2000337801429,9.17852203962688,9.36799862478335,10.2494781073581,10.1124253101349,10.0655337343162,9.59263031381916,9.59040048666646,9.93215044706958,9.5841463762101,9.45711022525845 "1153",10.1149480625862,10.5240325093349,10.2318436938359,9.50878435977633,9.53888097839119,9.38981318221221,10.2980337394221,10.0007736190318,9.84069354584351,9.81569182873865,9.95127547804329 "1154",8.88039837659199,9.00069592926311,9.35064238868107,8.34837883389408,8.58049083175767,8.38591439894745,8.92386860471468,8.97747001104893,8.74971683939472,8.90768132842499,8.86627559627345 "1155",9.83051715203664,9.74559047154265,9.76604817781682,10.4713503441409,10.4210815635409,10.5905736462603,9.97338469450374,9.95009104917995,9.87506659207636,10.0340386999674,10.0012335347789 "1156",6.1874890917147,5.59141601637692,6.99173323708118,5.65130733031753,5.58662010220739,5.29989450830165,5.91401088991375,5.99287240418047,5.64795953546789,5.8180555597147,5.64910430920177 "1157",11.0924673434424,11.1938296522516,11.3365426480116,10.4845190643513,10.7908105555362,10.5799878990572,11.1702136053738,11.2521666435312,11.1806977647252,11.1246027922174,11.1737107089354 "1158",8.55273743281747,8.77193440502366,8.65991380184437,7.71230649981861,7.70514028907391,7.86981453055968,8.62968250701899,7.90724538230873,8.10056744725694,8.09185442079411,8.12707208461638 "1159",12.2294351768636,12.56667491888,12.7949613373319,11.3943826671153,11.7772349125281,11.28365891776,12.4167581801344,11.9364105411981,12.0452775731571,11.9845200920697,12.0664788940241 "1160",13.146429777933,13.2494909426975,13.3758169691417,12.0553797443771,12.3863824381388,12.5335725581151,12.8726706225749,12.9545007708368,12.9012085808887,13.0825985480433,13.0580150643377 "1161",9.61764582539648,9.44710090248003,9.28428276435293,10.3219640146132,10.0849180875525,10.0996226853339,9.50829034933697,9.60170387002132,9.57994858946864,9.8215008930618,9.79300753891875 "1162",11.573967458632,11.2957490337405,10.9757930231276,10.2168519599173,10.9102707824237,10.686995240901,11.0459006666909,10.9677023946488,11.3244257447644,11.1810369621219,11.2921478266891 "1163",11.3662062372006,11.4373082783641,11.5300808954686,10.2096605996202,10.5881614341567,10.9184957950556,11.2656578074836,10.9353143438947,11.2639550289916,10.9710721114142,11.2030130743638 "1164",9.94992422282255,9.54955976891976,9.80479496463724,10.4701472050061,10.3401223675802,10.1250019382903,9.57861847254289,9.72052278945953,9.88313130509796,9.96223843593382,9.84444472388881 "1165",10.5971806867745,10.4776135907399,10.7599344851596,9.59300824071181,9.61778851576657,10.1846581719602,10.5945426642321,10.2072414471708,10.3825097020492,10.2015334217769,10.1764811311296 "1166",5.51007576263887,5.73398691359929,5.28833257709998,4.19185126479166,4.89765324881629,4.65095609464182,4.6718025391129,4.84495354750819,5.04112969494906,4.89214603725089,4.64957162869111 "1167",11.6676085597792,11.7435717529864,12.2840840659217,10.4928369957869,10.7360223607272,11.0344018809678,11.3050093468242,11.1992131680729,11.1341576177196,11.554592608673,11.3876976104783 "1168",10.439752755365,10.3179815260993,10.1738257872197,9.64512200417151,9.80512739343221,9.56011614188668,10.4070952455997,10.155775005481,10.0413989881104,10.0988506168497,10.1708953378603 "1169",11.2050695073126,11.0878297410825,11.0922264168121,11.7997639070047,11.3964854947877,11.6294961587322,10.9464534132478,11.0036454073282,10.98478777422,11.1605616761249,11.070701032289 "1170",8.26187715194123,8.6437393926102,8.04022746166304,7.36256437683614,7.52659786136667,7.88243133137374,8.14520773187748,8.1373426154091,7.75790763707303,7.86265944663408,8.02655489405578 "1171",9.43654656252863,8.97599275483631,9.26323430361466,9.99889123618083,9.71166055520175,9.76604393736077,9.19586577983689,9.15168004205355,9.31248243122282,9.54781093949459,9.48799129901826 "1172",9.75011201235896,9.60038747689321,9.79015676702304,10.4677379120527,10.022184432532,10.1641868382193,9.61682812679795,9.6295806723283,9.67592075871103,9.86011173027214,9.77985639441054 "1173",9.73484373990286,10.0880247284978,9.95343051476647,8.98956773179542,9.19863364616447,8.72707399134059,9.57332873073622,9.50669123949417,9.56197422473979,9.15553688566986,9.39136966548564 "1174",6.05883989330874,5.96091715432509,5.92211619827359,4.87732981549012,4.95881094319955,4.85356377363824,5.44531198202201,5.36813953141026,5.14207053784841,5.08331287740239,4.71305020543012 "1175",6.6077271848552,6.74769301624946,6.67494907374409,5.61488371433785,5.35616394241025,5.68598866291392,6.12795561899001,5.99287240418047,5.61552538792453,5.97804653447498,5.47462492252508 "1176",9.87762004879581,9.60332227471692,9.23378153874019,10.6284414849526,10.5043095752933,10.662575453039,9.97338469450374,10.0036166677146,10.0656949878851,10.2048704486405,10.1619128298968 "1177",9.9861943815991,10.0562527664604,10.0223727452842,9.26411688032526,9.33764417829762,9.61771749756082,9.84904390491589,9.97493080169509,9.87991082937686,9.80400303037394,9.93423070704808 "1178",9.15739664516042,9.07870400315051,9.03078131729621,9.86431090946723,9.70596921259255,9.73514708500664,9.29775496040097,9.37014280166038,9.22379537423171,9.30610345196792,9.26491018637581 "1179",11.3327977960971,11.154361593521,11.1881469329876,12.3362385470426,12.2806120324376,11.7155378086985,11.4174982756256,11.5331120946747,11.4366133749302,11.5210774149316,11.6976282013851 "1180",10.448097858424,10.3978937193852,10.8006652329892,9.43915044082528,9.78006710770127,10.3249753518252,10.377056172558,10.1748178865505,10.1982950044598,10.5854695926617,10.4172457685466 "1181",13.3698472708112,13.4985163244892,13.7984267654928,12.3470927857196,12.7010450574616,13.0434907426027,13.3948092810775,13.3831491397269,13.3045256494991,13.322915548817,13.3159691243655 "1182",9.0408024981148,9.28106792958514,9.06159116894216,8.48821887321316,8.12545757370607,8.12990615109811,8.58829596557315,8.74227557932138,8.6661338330524,8.70566638684017,8.63576811638524 "1183",9.84638966246143,9.99052885066387,9.66536937055102,9.25016134975435,9.2568946714634,9.03125530386184,9.71296302941225,9.60732250892647,9.65157585822036,9.51771083279383,9.74268337950114 "1184",8.65728994392668,8.98951967825297,8.94083577772078,8.23379005859717,7.89095576317022,8.0143581580013,8.82045931577502,8.21801139525808,8.45711162944983,8.39464934008847,8.38844231975786 "1185",9.84796734791309,9.68869873254589,9.90160071003152,10.6845010434063,10.3091772660013,10.6607500280965,10.1172249523826,9.95744137163877,9.97654619550548,10.0440102103508,10.1091488317724 "1186",9.63967522847076,9.64094087978708,9.97785618479691,8.9347719979477,8.87588773712104,8.5449458429654,9.22539794998889,9.1695169873959,9.33147111720516,9.25978238344177,9.17175171967649 "1187",12.8559328624732,12.9761790828749,12.7218972723734,11.7944866971422,12.2822062706415,12.4097133046208,12.7250867566715,12.8877898480668,12.8912481953947,12.7118520072311,12.6829692992438 "1188",11.3248898966401,10.9626056904458,11.8140056165197,12.3581911778227,12.3335440426149,11.8177743820823,11.5282385945925,11.4779653838325,11.7291906966465,11.640884509945,11.5397462159437 "1189",10.905145270141,11.2011111924106,11.1384582509221,12.3176302742757,11.5952866847689,11.7115758738717,11.1772029637325,11.0682069644295,11.2302153083042,11.4967817825905,11.5401795148805 "1190",8.91695021626861,8.65793230088287,8.40015972467653,9.90049201893844,9.4666680837363,9.41386092165446,9.1563107349151,8.8536731198127,9.11017500544359,9.25549663245181,9.28159691700924 "1191",9.48399794065217,9.07024203295857,9.15597743541676,10.0383948343816,9.54526994034445,9.79462877482363,9.18896388021192,9.30478386563481,9.21870462899577,9.43864652014548,9.45527292963567 "1192",9.07084709104818,9.10172147692517,9.16451731092107,9.68092864323664,9.7248536531977,9.55815590118948,9.22539794998889,9.14396754941021,9.21359584278956,9.1873846420103,9.18067608205543 "1193",10.0061142181453,10.348906896857,9.86015485401146,9.16048459977519,9.41643535123116,8.92571013439452,9.85195911558606,9.68730900779782,10.0122814173939,9.17154871505966,9.42179486775045 "1194",8.13302640037837,8.1994818362835,8.12446508314429,7.26549832774664,7.3024800928342,7.53601635244709,8.0719650006624,7.78667569975054,7.5377746833745,7.701446188685,7.59619754824477 "1195",3.54830022377166,4.19235554008301,3.99458687560867,3.54830022377166,7.17567776690464,4.39026667116431,4.60239513168466,5.67318746075466,6.35268776105888,5.24679677984632,4.58142223425457 "1196",9.38095545049236,9.52809857312526,9.35064238868107,8.84475079942027,8.78519246584893,9.14796235305688,9.40884331702423,9.38548493166471,9.27619015969564,9.45555741469024,9.34250643438144 "1197",10.2594628304364,10.0869768618226,10.1133760567645,10.8508899199709,10.6546610950088,10.5477564294825,9.87363737115395,10.2047730397324,10.1931147924613,10.3495776116464,10.2651301802051 "1198",8.48534504201373,8.45503594148765,7.94413231320583,9.26411688032526,9.08918546163785,8.91655559281778,8.72504841042737,8.75920768081494,8.71758554292853,8.44824945755276,8.64547463381815 "1199",10.3918901606411,10.2790567853123,10.4891011972721,11.2398884774823,10.6566291506593,10.8883934246023,10.4090757824377,10.2687995650707,10.356101349592,10.51284022559,10.5059876480203 "1200",10.1149480625862,10.3593590684624,10.156811391495,9.47558756262761,9.82101063092539,9.6603710993719,10.4080858539301,10.0850606581397,9.88634460567979,10.0808011723378,10.1953126368289 "1201",11.1606968506398,11.3222585570268,11.296973000071,10.5924029252478,10.8777393718312,10.5308669612027,11.1996873086561,11.3658935725148,11.1185322010725,11.0937368523173,11.1953304865173 "1202",9.08697485766923,8.73492719904976,8.74970806707209,9.93054805167903,9.64183557788659,9.76264346070585,9.18665588399745,9.11006151454861,9.27863827531405,9.6162505301205,9.39903636722169 "1203",11.0451196251118,10.7333821205214,10.5544342931234,11.9736893156264,11.5355844355685,11.5718996307459,10.9512182908754,11.0682069644295,11.1123715390299,11.3079968590019,11.2787082727775 "1204",3.97008655127665,3.92219398459048,3.54830022377166,4.64558758720875,5.43778714177974,5.12270292620239,5.41158127901156,5.11259910555834,5.61552538792453,5.42394699629378,5.02750813069502 "1205",9.78676777064552,8.65793230088287,9.85840182585167,10.651976524845,12.5058173163394,12.3438378430134,11.632776746588,13.0032504498349,12.3960080053116,12.4834108764721,12.5477225782149 "1206",9.71250021386941,9.41739132161035,9.54845812282448,10.4677379120527,9.94697979079882,10.1103631647515,9.72414378909703,9.6677244488771,9.52121042648742,9.92630026024975,9.66374299930395 "1207",7.26142316809844,7.27859059456544,7.5674808549099,5.57739919796435,5.86948201497142,6.36093948153758,6.20491650857206,5.96897347115688,6.0809226256391,6.71145259511112,6.16120146958576 "1208",10.9499045614928,10.9285010524524,10.8124824801841,11.2857433905926,11.3846609017903,11.3135910990153,10.5901851157763,10.8822406886781,10.7884003849976,10.8696029616542,10.8757412336833 "1209",4.78038542738455,4.3753233849767,4.77805840635708,5.65130733031753,6.10256195383644,5.77381127177675,4.52717022062621,6.54957034296888,7.63299848733783,4.43350024566452,4.71305020543012 "1210",10.4584618011037,10.3480324542157,10.3845854797972,11.372011737702,11.0877691015276,11.2470224010938,10.85715425279,10.6678072208303,10.6759308476296,10.7421962292399,10.6332948380191 "1211",10.8281142544558,10.7360582293955,10.6728583066878,11.6441756643343,11.3351405587238,11.4085605500534,10.6650188571229,10.9059859489097,10.9352344900906,11.1386288840981,11.0194110620427 "1212",10.3940514521804,10.4974652866589,10.9281264948405,9.00959064307579,9.73978515594151,9.60827563862662,10.1147998965607,9.79626385321318,9.73236745498598,9.95168312721222,9.95387996353659 "1213",11.7167838722901,11.593765056039,11.7685324905589,12.2994563688878,12.3021441690316,12.047475181906,11.6370075310053,11.6538363689371,11.5024784199876,11.7838403491404,11.6937385592517 "1214",10.9586921510524,10.9072883096605,10.7841414137069,10.1834707262377,10.4966391140057,10.2419447695418,10.9471350743827,10.9180903286298,10.674072983364,10.6349607517033,10.8438034445991 "1215",9.58016539209422,9.09548034894743,9.45873727072849,10.6593851335569,10.1295318382984,10.0530617756655,9.67065862045937,9.6478702538566,9.67406259580859,10.0625229945716,9.98731711960916 "1216",10.7693897368426,10.747376630369,10.7720887242812,9.97364051836223,10.3607921238584,10.3005641322886,10.921696593548,10.7765136781285,10.480372756211,10.6570550677839,10.678083415466 "1217",8.69987454294599,8.79779793181575,8.45227747610215,8.12773734675432,7.76491918019003,7.79169195634195,8.2463015313543,8.08452505120833,8.35400538722234,8.28106062717419,8.40377989123346 "1218",10.7501152595749,10.8223247665398,10.6718606513826,9.98379391490821,10.0160649996296,9.87870493208032,10.4238437609475,10.3997412244506,10.513997468177,10.4105795183639,10.4331982959022 "1219",9.78017201239217,9.61063324416061,9.36799862478335,10.6772206314706,10.1810348757136,10.2887929227838,9.95858487031001,9.78804195859083,9.81731445243123,10.013886452588,9.9885878114324 "1220",15.0283279322412,14.7682567157446,14.987714944544,13.9518543403052,14.0572358704664,14.6403336304285,14.8206995300825,14.8281836013018,14.8060958146543,15.0467819124761,14.9363282920712 "1221",7.68667842516418,8.15610876108225,6.73808903630757,6.53803052029323,6.21660807334217,6.14258578248584,6.88628096459316,6.95820855958201,7.06562328853505,5.88898252005338,6.17960026676426 "1222",8.25712903402587,9.05745519234753,7.76813503017998,6.95494779097975,7.28211410056228,6.99860798635178,7.66993933350877,7.58056746775892,7.40007257512372,7.19946355001097,7.20625676960173 "1223",10.3799448231269,10.0995012963648,9.89135036887473,11.0532484518123,10.6605572252021,10.7406897080925,10.0207853266002,10.4527110823041,10.4195749019442,10.4230494993134,10.3476551610673 "1224",9.64513039569538,9.72013136653055,9.61849344809905,10.3510144997968,10.4199233164838,10.0192661505328,9.69033804953287,9.95303567479728,9.82235626123,9.75930640372907,9.79155220880873 "1225",10.3832124651012,10.1783620425922,10.5844340516862,9.87889245201439,9.77645125249346,9.83242208775164,10.4973603560408,10.135181610272,10.3526208618046,10.3784321576861,10.0879649566605 "1226",10.2957511877289,10.362826362721,10.1367042262224,11.2939262863982,11.205367807105,11.2948828356746,10.5377466294182,10.7905726962187,10.8156205391292,10.77399544299,10.8825916476118 "1227",12.2342681521315,12.3579832562218,12.7827685686145,11.1420497309778,11.7228600789135,11.6893647670261,12.0639294536278,11.7673260133269,12.1897814663116,12.167519943788,12.0956607782613 "1228",11.8581219298148,11.8415659314066,12.0542015353804,12.7820031933228,12.634205853922,12.3540400561174,11.9536023181283,12.003269615857,11.9757173791751,12.0878328665968,12.1176018007157 "1229",11.5528437668125,11.4269943871072,11.4179326726433,12.2820793235474,11.8649584870967,11.9117087370933,11.2846589801702,11.4296382655883,11.4877469148885,11.6101757844104,11.6008386299506 "1230",11.7076902762597,12.0035821765096,11.5723940307558,10.819112147973,11.1519579517654,10.9517200116881,11.7766217604596,11.6351682412677,11.4572847817933,11.3141895212414,11.2493291557905 "1231",8.27602819164793,8.28980478532454,8.44294080738284,7.32023670711153,7.57753959933627,7.39315721180163,7.81482359302033,8.03527071004817,7.7150538741348,7.58292930028579,7.73634128687924 "1232",9.25340302008664,9.331500338693,9.26852529918445,10.295036975445,9.85911546353578,9.76264346070585,9.39890949147807,9.53251505562235,9.52533905528631,9.59436195550459,9.5936540712783 "1233",10.3423847789868,10.0711668176614,10.2439782036188,10.9782182773736,10.8270871436864,10.707476119859,10.2905328303535,10.3107230111134,10.3870535088931,10.3585943951859,10.4322647796796 "1234",11.9502241072085,12.0687197237903,12.0353207327828,11.0975533405301,11.3929482823739,11.4545896485423,11.9409963737027,11.9957937414065,11.8460039759187,11.6628881034982,11.7573595425238 "1235",10.0159719102836,9.82692925178751,9.95014227992265,10.5267949782337,10.3315244458874,10.2781160720051,9.90344972132088,9.96183365162647,9.83405238725295,9.93570389487805,9.96295880276647 "1236",8.86176877111159,8.97599275483631,8.94744998685894,7.88880807582996,8.10827358187905,8.34097001189902,8.60568512811682,8.44856347776363,8.40872034047714,8.47062369958845,8.5067969113425 "1237",9.43024051373411,9.331500338693,9.20094974180395,9.93927016145086,9.71166055520175,9.87556025834046,9.47841524627442,9.36572918225892,9.57994858946864,9.39450657415835,9.22879629003822 "1238",6.41344763352842,6.56449352089582,6.52155702075574,7.61954148426211,7.24048839399441,7.37537160534035,6.88628096459316,7.1253766513517,7.26763444943542,7.05799252038243,7.09663841152436 "1239",12.1704554437106,12.2546974063176,12.6049874390868,11.4251303746809,11.741522756035,11.9570355228494,12.0888523537309,12.2431521593269,12.440946940606,12.2242494814853,12.2236437301319 "1240",11.6432864358658,12.0572634230467,11.7516348700237,10.6688549183154,10.7097245464061,10.6561763341471,11.0648675393043,11.1672430836628,11.8062711172482,10.7836976662965,11.0138059749736 "1241",12.5583548441884,12.8495361180787,12.0157964634402,11.1608138757761,12.0719367065064,12.1190154109318,12.4233867175235,12.3953926393745,12.1943252156491,12.3423237913135,12.2611869098089 "1242",11.4428427241325,11.4524387790428,11.5611235658226,10.5746001851024,10.9629108250891,11.0964863535385,11.414050952267,11.453224571466,11.2302153083042,11.3427422420949,11.4383228352219 "1243",8.25236519168516,8.26032284797954,8.22053217616702,6.99600080825042,7.93712914351463,7.33912187219212,7.87926285401679,7.81939954224253,7.68575618862043,7.6887514157165,7.74239716239797 "1244",7.93309723216525,7.99084222026797,7.97039270667412,6.57487622139197,7.0961370359168,6.82519262173196,7.25801631444024,6.88540467353742,7.38188843017873,7.22614562648883,6.96749404277538 "1245",10.0327156295122,9.88113354113512,10.1695909669438,11.0264884972222,10.565295737712,10.3737071276229,10.0741863598663,10.1037295116088,9.95222115449697,10.4316198445197,10.389618719715 "1246",10.938844259133,11.1473422848682,10.6313778696474,10.2282840777009,10.2608313226478,10.6734797585706,10.7448122974224,10.691800968289,10.8587862768283,11.0798710889009,10.9303160845819 "1247",10.9797104134793,10.621327181687,11.9332805130371,9.7598617605293,9.43030965707937,9.87398534648784,9.95587760066796,10.12607871221,10.7189157183707,10.0551463701323,9.79009540862755 "1248",12.5909840643641,12.4679115115455,12.4634196472956,13.7696184715395,13.8671192284605,13.6896616977272,12.7414867054307,13.4101815430408,13.1811110776528,13.2948778759321,13.2754252161453 "1249",11.5284580278923,11.4245080422927,11.4847859125187,12.117018950237,12.0825888060059,12.222251587791,11.5867132787928,11.5042976257335,11.7456475499761,11.6649085992977,11.5912527596897 "1250",10.1279925416601,9.93919270359032,10.6808148070839,9.46596067335758,9.57054642341024,9.5698775726463,10.2144299738053,9.76644304813458,9.94453466948589,9.97532486089428,9.91564669070588 "1251",8.59847814381826,8.81309607524378,9.19262361209499,7.93848457611293,7.76491918019003,8.48425182913367,8.48683411980761,8.33564284497309,8.25792002520464,8.50354624948555,8.52794456069842 "1252",11.7210940918756,11.5153218381499,11.7060697106735,12.5605290332162,12.0488959554502,12.2748098619195,11.599343769324,11.6886979228127,11.7084655261626,11.9344794341731,11.919350255005 "1253",9.61394131663761,9.61354728506111,9.56575132749214,10.3378822169304,10.2801092676933,10.0613883859812,9.58213421758047,9.6677244488771,10.0442786743605,9.8142358992996,9.84304040901633 "1254",11.1090075711318,10.9992680980995,10.8771007161194,12.0171735275774,11.6575379898303,11.4482544738883,11.0742582744487,11.1985930653893,11.2981303651923,11.2996984069762,11.1731520727936 "1255",10.4769312957397,10.0346758568488,10.7505148860811,9.49465064054292,9.19050335100519,9.74379615190457,10.1256806828222,9.81418870386133,9.7035096618401,9.95828924213362,9.88731381630164 "1256",11.0703397615562,11.3355534340245,11.4853538692157,10.4892780395284,10.2608313226478,10.0751601322783,10.964072753139,10.7597963035378,10.5650155548486,10.6521743814042,10.7107852421515 "1257",12.1876877529267,11.9154341972883,12.0557319714672,13.4671709139354,12.3543060355331,12.5056255895249,12.2059674026924,12.1929781161686,12.1188259342387,12.3618854222867,12.2959829800989 "1258",10.497179361647,10.5772358181313,12.1784660408885,9.17237412305056,10.3894777502856,10.2173166120591,10.0890875690555,10.0552267826601,10.9375594245548,10.2984313350164,10.4443536209568 "1259",11.5348380810002,11.2543485376204,11.2435858986783,12.0026852576632,11.8265786343268,11.8255346489378,11.3831524644014,11.391079247953,11.3790461791441,11.4146301850036,11.3545760747897 "1260",8.42314272660274,8.55854245951878,8.73448833373387,8.23379005859717,7.6347679267,7.57545548007908,8.29430297314551,8.01282604655342,8.24293726666571,8.23821723466124,8.00154909071929 "1261",8.70685116156997,9.12845838291325,9.10364761472539,8.0394789443579,7.35215873173572,7.57545548007908,8.3613829856492,7.91936722856588,8.14424013099273,7.83413971816388,7.69945890348026 "1262",9.90818848237026,9.92166641344763,9.62881427877167,10.8972813957797,10.4233952713313,10.5026105757073,10.3033677506421,10.12607871221,10.082601989524,10.1858577301682,10.1173037075177 "1263",10.1550078703292,10.1635276167627,9.75666726238488,9.27518484655264,9.00204978037968,8.89185528130567,9.74311141440345,9.49056668562129,9.41618006452381,9.29570585889079,9.31237331395615 "1264",8.35813039393505,8.38847925203875,8.15339241024055,9.22183834379455,9.04477335227232,8.82492748996296,8.57423184763495,8.62523560841052,8.70307163158556,8.67388873149542,8.69616606302557 "1265",11.1279596261426,11.1762025239237,11.7473793579857,10.2038815847598,10.6497291768104,10.8057333983949,11.0516169580669,11.0149605762581,10.8661278873239,11.0640345712567,11.0531991221861 "1266",10.0243680665542,10.0193776357435,10.229133216667,10.6604404070044,10.6887203126748,10.5972698085577,10.1111546508333,10.1050538003106,10.3029911186138,10.2732216650735,10.2588252088045 "1267",10.6801085223534,10.6450150141897,10.9480419539114,9.91824779932998,9.9275495384566,9.76604393736077,10.5761518396319,10.2449712569747,10.1185678075539,10.27216164005,10.2598779530818 "1268",8.74463002246685,8.63228349486675,8.53368954417129,9.15749683279265,9.23070389955192,9.1269528188181,8.83821783785095,8.80232180975964,8.69942018758417,8.9347433177825,8.70237886857615 "1269",9.48399794065217,9.40398798146943,9.80661433656907,10.5957166167829,10.0191279614784,10.1157035608539,9.74781459613028,9.93527706262413,9.70896466756787,9.94371564034381,9.79446140192259 "1270",10.7185577477071,10.8323634764038,11.4244630099573,10.28959071822,10.3619988170923,10.1499423432056,10.9532555732543,10.520772069299,10.7044259103142,10.6812138317335,10.6542625952102 "1271",10.3311489781317,9.97134931770987,10.1934255307891,11.2356466600647,10.7313613459614,10.959907867682,10.2424695209428,10.4370233563097,10.4578727802757,10.761963964562,10.7465221291098 "1272",10.919469866666,11.4327792480068,11.4676423980379,9.83843299781763,9.21208306202513,9.51838087018148,10.2721522777335,9.73428188217982,10.4173554347892,9.78033732820763,9.42930190067775 "1273",9.49411002848884,9.29020407679835,9.51990668070702,10.1612766117641,9.80335174280761,9.96703989913406,9.31264742877095,9.60732250892647,9.53969687027732,9.78480432939591,9.6168498143901 "1274",7.25186604368027,8.24910946245689,7.43203799463155,6.72965577471788,6.32190141837547,6.20565743408888,6.94257508980405,6.87289813241104,6.44444218690037,6.26793748710628,6.92527032226438 "1275",10.6130391652805,10.6690205188292,10.7180202078518,9.40429110566902,9.60968288486104,9.35636072253856,9.81807306415571,9.88065031937561,10.0210785754231,9.882513779804,9.67641514593705 "1276",7.01223347758065,7.08934460638317,7.33404463366619,6.17776213550542,5.62125976688193,6.24614906756788,6.49114145155366,6.0621316163943,6.03386567505439,6.36866909887184,6.38308961259456 "1277",9.92771608373529,9.80160097059244,10.2168726421385,9.43422183831476,9.37877093208495,9.75067825124529,9.90204397252815,10.0414592114259,9.86206851076312,9.92630026024975,9.86811121210944 "1278",9.20742879504468,8.86783922639323,8.76850936194554,9.9599905041736,10.4117894415556,10.5107404654921,10.2144299738053,10.9263535629105,10.7763281293437,10.8512656044963,10.8515053151547 "1279",12.8565207021798,12.7742388570724,13.4041767561984,11.65321513622,10.8547800262578,12.4546525063007,12.0658136793444,11.7492320170808,12.209154712907,12.2838370430546,12.3922462234385 "1280",9.31858937912827,9.50474436298484,8.87990068659424,9.93054805167903,10.2294404642186,9.62522672492632,9.49156183129003,9.63142010423188,9.46643397093259,9.49426154551938,9.57854304933011 "1281",11.0676344197206,11.1678031356892,11.2734889634572,10.3418344705293,10.4856100712145,10.2073463884529,10.9512182908754,10.8069391865803,10.6468615515694,10.7702463741414,10.6953053648716 "1282",9.79497027358094,9.92284148202326,9.7049281020706,9.06485666059359,8.84167720621894,9.28466383432026,9.46514769454361,9.35017423809081,9.39377208808905,9.55828625403578,9.43117256769855 "1283",11.2433311584526,11.5000529769845,10.7391295711126,8.70436204206947,10.4360547504397,9.45447601338872,10.370972555245,9.86510168297408,10.5171099683038,9.88806034180597,8.99329599817664 "1284",11.1556104721619,11.4216018803558,11.0085626975327,11.9054571496063,11.7466129483651,11.589757112748,11.1973972833937,11.2455777420908,11.3824633642684,11.2467227463624,11.3307297064242 "1285",6.53003463405643,6.72605700916447,6.96569370017792,5.65130733031753,5.9248799958122,6.05368293120384,6.00369290325292,5.99287240418047,6.81648699521578,5.91180974276632,5.87340967120574 "1286",10.8055601337143,11.1402886554941,9.95671126992665,9.80637248581683,9.55374475971284,9.88027470144498,10.444268175037,10.3548058979122,9.76590255325414,9.96486523712645,10.217157105844 "1287",9.06543081559841,9.01839959104677,8.9703635403395,9.69129300532675,9.69834564731097,9.4523666608158,9.21637539619965,9.23873636180725,9.16678326938302,9.28102208593764,9.26910001109921 "1288",10.2063369857851,10.0237651384544,9.79932303707462,10.9177246735338,10.3894777502856,10.4273029943091,10.24911867716,10.2097056376272,9.96595443435705,10.2486418032412,10.1323272312465 "1289",7.95673592491526,8.16409270639909,7.64299312979523,8.77626583760822,8.7301479243018,8.45502781542909,8.05178645057224,8.26147500951268,8.60498925706414,8.23386186678073,8.41138781637634 "1290",9.77022146767524,10.2008159154327,10.1948153739499,8.92777367734625,8.85545904258861,8.85399230704855,9.72095812175693,9.31168419351693,8.93809257546283,8.96918084562731,9.27119036602632 "1291",8.88962362732356,8.87271426506648,8.02778010508308,6.94099493341601,7.25100929258247,7.1531134753391,7.78454830776984,7.36660049554979,7.91125597625291,7.16309172878793,6.80220655170267 "1292",8.81087906011241,8.47762229641309,8.44294080738284,9.22183834379455,9.20940319848552,9.2413362508916,8.82045931577502,8.83463021082853,8.7742215920687,8.95338879710339,8.93118487410447 "1293",10.5658898116651,10.9084750143593,11.1018884008958,10.0154827527071,10.2201546195229,10.5157984767902,10.7393130702313,10.5217639715129,10.8522288857406,10.6116849857639,10.6144889261195 "1294",11.227057406889,11.092535972423,11.303429067383,10.3897088923124,10.7535981281017,10.3980172056197,11.1008444597202,10.9993792325619,10.7909742051963,10.9632121139478,10.854992618053 "1295",8.11213690925085,8.05237791583463,8.15339241024055,8.84475079942027,8.7264024121503,8.76157255565059,8.46031068110464,8.3624988996433,8.39974441998761,8.48168174993653,8.46720050786154 "1296",9.59902737589538,9.81685125449942,9.72238155023838,10.6999792873015,10.6248134430009,10.0106920480513,9.9062571150998,10.0850606581397,10.0428395499105,10.0088040863647,10.1414952962453 "1297",10.2606477847069,10.0880247284978,9.91346808745647,11.0100254045831,10.4867167778836,10.4612592907329,10.1554813905079,10.2133940479213,10.2175567746873,10.3088067026996,10.2880154472875 "1298",11.7780557423255,11.9724317058355,12.0357085356238,11.4564519667953,11.582403947486,10.9162023982711,11.8170825719037,11.8048856276057,11.8439398315118,11.7931070561574,11.6316616506351 "1299",8.88039837659199,8.27144949870958,8.30543844396847,9.14548344938263,9.39064709862759,9.84855001793593,8.96485755259403,8.94528616311578,9.04838552577783,9.32871758023438,9.18289856644801 "1300",11.3203515582154,11.1407936315133,11.21647484214,12.2364605604275,11.7498428355686,11.8218639360329,11.0767521806462,11.503293684958,11.7020983098059,11.6143640090064,11.4754988300762 "1301",8.5293104051702,8.64658918543041,8.1186091113731,9.45383596635333,8.84858460251429,9.14796235305688,8.89305127716452,8.74567795838452,8.82536894002529,8.82040591283238,8.6992758154453 "1302",10.6880569462122,10.4903501079796,11.4356735219617,9.50173481716764,10.1309482664934,9.83566213434043,10.205340963998,9.94861647886041,10.1616366463112,10.5829071518251,10.1787094056932 "1303",8.96137358383928,8.65793230088287,8.81265593589474,9.58413652749742,9.1741038886182,9.44177336124793,8.8702173252855,8.87867837937259,9.05125235744822,9.20527235569872,9.19395987932296 "1304",6.86905962463961,7.1552611617466,7.38388137229294,6.24855060583191,5.8408949819472,6.32372596223563,6.8156305051907,6.25098415102327,6.170418516415,6.35238182822043,6.31853756118564 "1305",10.3277611003814,10.2753819039316,10.3906622801321,9.88793161577168,9.64183557788659,9.85335343669308,10.3224085039934,10.2182973025369,10.0471526226659,10.2432424747344,10.0808339571677 "1306",5.57656653888652,5.4021071818575,7.01730337161271,4.94419410387592,5.22247567483854,5.21461805136393,4.52717022062621,4.90404046812327,5.51298978105205,4.78196079501175,4.93274810645829 "1307",7.81517116508222,7.74133070892069,7.30328561378923,6.51923699993902,6.32190141837547,6.56544198967405,7.41683246889601,6.93435403872264,7.05415311319903,6.26793748710628,5.94046067728516 "1308",9.93069700104697,10.3593590684624,10.4289590913207,9.64725306850123,9.69834564731097,9.89432626644721,10.4110536037132,10.2268380946062,10.0078626350706,9.95565042599788,10.043418102403 "1309",9.37001467854785,9.08291643111487,8.43824966422195,9.64725306850123,9.89956739791667,9.79462877482363,9.18202877609017,9.41355144952952,9.45565722320617,9.52662921485585,9.48078443943427 "1310",9.34788087311671,9.40230376914334,8.71135291149387,10.3679096592123,9.72860104721336,9.89277172494237,9.50087940174002,9.54232543631025,9.64968603948534,9.7037750986995,9.70297932059043 "1311",11.0285216648796,10.8632916200766,11.0203680242549,11.7988058490109,11.5366534221887,11.5767478161165,11.1093957587995,11.11562144628,11.2768658405042,11.2353463335056,11.2588378497062 "1312",9.51213498113546,9.40567022875635,9.27904938924421,9.97533772255507,10.0761214675943,9.89897986278745,9.35847528620145,9.68730900779782,9.73058066217688,9.65905548745887,9.60529858120061 "1313",12.1789406634652,12.2012320800865,12.3016041897172,11.0548544234563,11.0993911918817,11.6064482778207,11.6802874895389,11.5414497901354,11.2546617622795,11.9115182869418,12.0745778901211 "1314",10.8929711375291,10.9897690807866,11.1860521542528,9.96341513786381,10.7172872540546,10.2010798198642,10.6169921312796,10.7014629230717,10.8571497213705,10.6619192965688,10.637350839092 "1315",6.56163112081637,6.50195896005358,6.1044136676551,5.32561057076274,5.35616394241025,5.80182700427773,5.60160582989158,5.57941184941936,6.0809226256391,5.74311119877536,5.53547894831993 "1316",11.1511451321878,11.0125728784007,11.4291938477272,11.9094569697067,11.7599470874895,11.8218639360329,11.3781062693287,11.1855089545995,11.3071486491151,11.5680428109863,11.5006518625286 "1317",9.51213498113546,9.66079778602737,9.97946994872,9.19586296104993,9.16583365922006,9.22165349366537,9.76338200873373,9.65512162731618,9.34788350791345,9.44242167414175,9.54783749447464 "1318",8.208765364251,8.19169250510753,7.83400743326457,8.76059450770294,8.97705535991072,9.10563252592888,8.59875464011165,8.54156684299729,8.50811050710429,8.70251998450527,8.71779464807795 "1319",8.92893098899866,8.7693223302685,8.21505537499727,9.51813045684416,9.59333364567633,9.18654846013466,9.01255332160039,9.15424173008054,8.95656126357959,9.17835685398835,9.10534288577699 "1320",9.23663524358812,8.85311435750612,8.79442564373893,9.95827513316159,10.2121474656439,9.75581835863199,9.42263668607332,9.48650721472031,9.72700042140811,9.73026484944168,9.65576598539054 "1321",9.52993739431458,9.76930197643434,9.39243632798891,8.43982074822052,8.80308299104538,8.77514393258782,9.31898312218551,9.08879277526323,8.90677549196692,8.69303932862712,9.02832856055029 "1322",9.31402970351884,9.55563332619388,9.40450158918026,8.97945098020027,8.68454588445981,8.62957709773568,9.19126818707572,9.1720472001699,9.23896062811224,8.9158534215697,8.9907607826124 "1323",10.7142397754794,10.5742479181925,10.819706807753,11.3739428973014,11.1802787155515,11.2292732533917,10.6238299562649,10.7856263203507,10.843990006794,10.9918251146602,10.9790712012658 "1324",11.6120634877231,11.6106324432367,11.5067721921183,12.3219714929589,12.1361117653936,12.1269700573148,11.7262833292927,11.7300502375739,11.6975330311841,11.7927375284727,11.7755065375385 "1325",12.7019946102407,12.5619694844659,13.3553019111792,12.0465281297691,11.656554956116,12.1502489673179,12.6823314014234,12.2512477729214,12.16651523599,12.5810112834839,12.3663343854166 "1326",8.764826565826,8.6437393926102,8.67991606182067,9.60621430362675,9.34254395417913,9.22165349366537,9.00208983845326,9.07533865673362,9.06550160007034,9.00281461302748,9.07215428484022 "1327",11.6509877180704,11.7150325811668,11.5106832224934,11.0354637496844,10.5547812005669,10.5076971237749,11.2738318313022,10.8651489068211,11.0173907536747,11.1950868414312,11.1731520727936 "1328",10.113637102731,9.85428603024051,10.0332904658835,10.645595863383,10.7827238080154,10.6905780852651,10.123269813816,10.3559187016419,10.1918168273526,10.4570295341676,10.4517428639447 "1329",9.01574600705652,9.07447922798641,8.53368954417129,9.73202126256383,9.56217006221788,9.67852975980469,9.15394981783222,9.19213059418979,9.14815977020412,9.5069354496846,9.53223599540591 "1330",10.2899596252677,10.2095079371664,10.2600003697729,11.0944334361893,10.5984363115544,10.7171694755424,10.2178236410965,10.4733661331423,10.3280194273895,10.5786262759457,10.4627562375366 "1331",11.5190822849815,11.632700168845,11.803112733348,11.0881733122177,11.2510210211988,11.208806693382,11.5910811228922,11.6864883010651,11.4680466531909,11.641705470786,11.621460307856 "1332",9.23180840892944,8.97599275483631,9.04318440287859,9.76967596707777,9.55796356436469,9.35861519639051,9.11563957935575,9.14911379346811,9.27373787982762,9.2576411005459,9.28986840865424 "1333",8.13302640037837,7.41241355458718,8.34608353800229,7.0358991602313,6.10256195383644,7.52799643435851,6.46037622252273,7.51807320385568,7.63299848733783,7.4156433013633,6.70544702797725 "1334",12.4753142564524,12.6293702519034,12.4665871214207,11.5770284007126,12.1262041055827,11.3688619665106,12.1454831265829,12.3664235689139,12.1136950317233,11.9317970136005,12.0823341852634 "1335",11.3254561864051,11.2501423844014,10.8779661053478,11.8794110540579,11.8521352047411,11.5916744774662,11.1887771663575,11.3932486683856,11.3971783402345,11.3512993897342,11.4205465141754 "1336",9.47993316540204,9.1587047342605,9.45873727072849,8.60693096286727,8.73388372286726,8.66646094446664,8.9675491380424,8.81533223897403,8.8812223607632,9.14861984997997,9.15146757110382 "1337",8.81087906011241,9.11412324227118,9.167352730082,7.84481583067844,8.04946300802492,7.96184415016055,8.61601872166596,8.08989499820588,8.68102281568301,7.87950319054243,7.97610033763664 "1338",11.1363752187287,11.0878297410825,10.8544164244623,11.6851924507863,11.5451769185009,11.5825442135929,10.931374794257,11.142308209178,11.27073224333,11.2803234113513,11.3161291577957 "1339",10.638784841655,10.7513502517929,10.332503666338,11.3924786938052,11.137938548429,11.3001691027888,10.8107169747148,10.8783739363541,10.8871294881673,10.8786849639208,10.9103431106983 "1340",10.2689153198349,10.2872911960656,10.6385448672495,9.6105895851717,9.7078688235306,10.1757376921247,10.3638424205364,9.98071379874538,10.052883396613,10.3565955307924,10.2268802117833 "1341",9.64694420859078,9.62514491755734,9.22836123630698,10.3794914545068,9.99132428263008,10.1342407569314,9.67065862045937,9.73085439611595,9.93835585042408,9.85020034149874,9.83317173024776 "1342",7.14227631031255,7.30782520211643,6.69100174166885,5.94024907367982,6.02925276001858,5.82926094386062,6.3967273647607,6.39951332746705,6.10385346314284,6.1014953970159,5.75354754840492 "1343",9.44907651975999,9.62514491755734,10.2758465192063,8.64584483154642,8.3120917361111,8.59555417354319,8.66991286750252,8.50989473323671,9.61523883492226,8.87172337689169,8.48172552210957 "1344",7.20309499160792,7.11442263771868,6.75344123428011,6.44142432501257,5.43778714177974,6.03051736948815,6.31282720400235,6.03943679752718,6.47951288681902,6.14027133670331,5.9620853787682 "1345",10.3209613798289,9.91459582601733,10.2127625151718,11.1874125528734,10.5021221737317,11.0372186752911,10.5404594969889,10.3943356653582,10.2490989252854,10.7421962292399,10.7084738237607 "1346",11.84356764189,11.8127017541637,11.9900133579398,11.2795756141729,11.2601102651462,11.3727698478562,11.7183192229026,11.6438493683702,11.5784369306803,11.8517544837015,11.7681271502751 "1347",5.57656653888652,5.24667094069968,4.84809592326134,4.45117694514122,3.9890115841535,4.27998953468607,5.18694714265321,4.27494782787477,4.15581191957622,4.1133546816754,4.23274464232371 "1348",10.9343962847624,10.9476757984475,11.5328308223599,10.6078021067592,10.4856100712145,10.4465016677386,10.9714627907613,10.7979606038241,10.8365345688513,10.9205531563611,10.9309771112679 "1349",12.3406193702596,11.99606671141,12.3910065568048,13.1047192285825,12.7594406504979,12.6990080708424,12.2433542795856,12.3937683201515,12.3999473531734,12.5247161441954,12.4995195308321 "1350",6.12468103354359,6.70408330709451,6.93916689557714,4.94419410387592,5.26870826387192,5.80182700427773,5.51016217934202,6.21121089851315,5.47688516711479,5.24679677984632,5.19596301279726 "1351",11.7568003659039,11.7422413167089,11.8501734742878,11.1458221359655,11.3522417500239,11.1370962205083,11.6724768959065,11.7610398957633,11.5794297898188,11.516161379088,11.5192329555049 "1352",6.22781582447258,6.31026098422839,6.55712549554688,5.81955380472203,5.51439142996744,5.49014363497923,5.6591344389259,5.96897347115688,5.908506347799,5.76856946880134,5.72820962527079 "1353",10.8937350381614,11.0836334962228,11.7311887323383,10.4592735554169,10.6288289931597,10.8992718162022,11.1305548368717,11.0226885897307,10.9014919987618,11.0719745610094,11.0676985702476 "1354",8.28538547120202,8.34701589034485,8.96385390220771,6.94099493341601,7.21921073366603,7.82476137101342,7.96811330155918,7.44434191837213,7.61756105824218,7.60337555236943,7.29982984583008 "1355",7.47346910156585,8.04374680571814,6.89842135709573,5.99674685124919,5.75123300751287,5.82926094386062,6.29541878532773,6.28964009345038,6.05759821691539,5.95632863375223,5.72820962527079 "1356",8.22344598109642,8.1877819607643,7.87630032457598,7.64544235881593,7.47377566559152,7.12138953885052,7.50130547645627,7.86399435840566,7.78578159383681,7.81675181774028,7.39536368925421 "1357",10.4080214611714,10.5772358181313,10.3698958519676,9.79296110579021,9.90950555611316,9.87240871297469,10.1566607068817,10.3834633943362,10.111720597281,10.1516820780224,10.2073680128886 "1358",11.0924673434424,11.1122391821172,11.0375096050564,10.4568460170624,10.8366666537502,10.7198018525437,11.0169744314651,11.0897699752615,11.0713200317864,11.0591266132352,10.9758716265446 "1359",10.0061142181453,9.6452190091379,9.65732571970315,10.5935083350876,10.4599186161224,10.4143604355641,9.93403453243394,10.0331351443888,10.1536585881668,10.2921701025122,10.2745362626307 "1360",10.4334620920181,10.5690041549926,10.4301396363938,10.190793518973,9.68875916575047,9.69646261119022,10.24911867716,10.1338847082409,9.99898424893941,10.313966534276,10.3064734002407 "1361",9.90667535069381,9.90392452411437,9.83897655899325,9.22754763660212,8.82776226864489,8.49249372898822,9.16571592427558,8.97747001104893,9.08241679933231,9.36099031660653,9.19175439644965 "1362",12.6122566243376,12.9052843688343,12.7702388511214,11.1808087189828,11.174796196763,11.4424226895023,10.6508616709875,10.6342649704531,10.4206833562219,11.247801549936,11.4975316124224 "1363",8.89268563242113,8.97372587192083,8.27943954893763,10.409929179655,10.9865731766089,10.7731557636853,10.0116897232243,10.8651489068211,10.5417711158794,10.2059810775237,10.2040901627596 "1364",6.5459221304447,6.87097044509682,6.40906331257205,5.12329148338679,5.43778714177974,4.85356377363824,5.6591344389259,5.28887854364493,4.66516704800045,5.51920250319321,5.44305738224905 "1365",11.858904480723,12.0066328435244,11.4350856618253,10.856425811479,11.3209398980373,10.9761454674188,11.5575490116034,11.6060038580716,11.2111243428347,11.4074073865975,11.3687945373172 "1366",8.94081297417151,8.59735867621691,8.97360736585661,8.17583991559236,8.21913491534781,7.90115103777339,8.46793880312616,8.18828837683879,8.37247580851378,8.44448637149287,8.40758888068319 "1367",11.1727056074425,11.0480023556692,11.0258442890412,11.7052716625268,11.9707728591095,11.7925738862353,11.3556908894006,11.4200946995375,11.4988096224919,11.4739150606093,11.409679775782 "1368",10.2295181171176,9.51724699522072,9.99391314327221,10.8710851634477,10.7341597616411,10.5318659522118,9.98405361074516,10.3954183989401,10.3994756761019,10.5552874238056,10.4554233393332 "1369",11.8856457888427,11.7545012871411,11.4847859125187,12.9994094668906,12.0946152539087,12.1737982995366,11.8943978360646,11.9864838990216,12.1009602313618,12.0475150699813,12.0299228682258 "1370",10.3755764206352,10.1108872683113,10.1724155614826,9.4635438746179,8.33195779092463,8.97651524789673,9.53029736461335,9.11533002192056,9.43166098431044,9.22294082626596,8.84397272213366 "1371",10.0818112125075,9.84439804636833,9.61434434405118,10.7112253703054,10.3091772660013,10.5368505560032,10.1765629517185,10.0289550262118,10.0951534424183,10.3833492611789,10.1931098839248 "1372",7.35362998324763,7.55924892396812,7.89698849758373,6.12845239811469,6.43850350967657,6.14258578248584,6.44473499605013,6.50132385628596,6.84346871555432,6.15925383687877,6.28509519859856 "1373",9.52205233238737,9.1863733026363,9.4259678546388,9.90406070542631,9.97721883509452,9.87083035403155,9.52299894795511,9.40066552552424,9.4749977497596,9.7577923937664,9.8175260686236 "1374",10.2724440943496,10.5240325093349,11.2688778923371,9.59300824071181,10.0145310760284,10.2745394871439,10.5176948259233,10.3141622470259,10.1642862229254,10.148219551114,10.3317238182077 "1375",11.6036842162979,11.690408570175,11.8876066886462,10.8462603934651,10.5206102066988,10.4165256090758,11.0189209968543,10.8126238706655,11.3077478682988,10.8904758044394,10.7161641922607 "1376",5.86575520992503,5.79982726714239,6.30781724882702,5.27816114646231,5.01670287124879,5.29989450830165,5.30447425058107,5.32915405009094,5.67960036331149,5.51920250319321,5.02750813069502 "1377",8.82055880528902,8.54333002884344,8.66393653803967,9.46837342804354,9.28770816844426,9.23644069819077,8.97559386277376,8.96000434510202,9.0397506569512,9.11825643670436,9.05526893699586 "1378",10.7391059805204,11.3552688070767,11.5062126069494,9.21035147339609,9.16029369461545,9.11099223642791,9.73681655068137,9.10212246954715,9.91494662566351,9.44430555103086,9.13089390906279 "1379",9.94550986742442,9.54193167081694,9.38758181127747,10.380772599141,10.1380096181679,10.0376703443999,9.6490317497569,9.9879100898508,9.9038909186603,9.87415373533381,9.87087014425345 "1380",11.5200720796077,11.7822776272256,11.8668336184916,11.1107381705494,10.7040263823969,10.7057066721155,11.4649153208399,10.8991323354696,11.3784758605151,11.259615448124,11.0025300406785 "1381",10.3322765047839,10.3233303276239,11.5443236143477,9.74202610773959,9.57263293312188,10.1434207750694,10.0616499966107,9.86040421562033,10.4317213019485,10.3077725177945,10.0676681812511 "1382",12.3205921171773,12.3363228789583,12.4489337373893,11.4430240098303,11.7867005743711,11.6731583405583,12.1693394850039,11.887232714611,12.0631322022385,12.0601590802541,11.9093224091814 "1383",9.54946344894761,9.35954608150021,9.167352730082,10.0577481736643,10.1520294512942,9.88184276410406,9.53211621142354,9.78308622838525,9.75890704528083,9.77884524784107,9.71223929604806 "1384",11.6915274203031,11.6972908388017,11.3842211260379,12.4556284181899,12.1065422749955,12.0017026838999,11.5967396214594,11.7893201314114,11.7641035983925,11.9378254613299,11.9276538749995 "1385",9.49209327615112,9.70381723310428,9.17863896142134,8.65435140440962,8.45480410640922,8.58403219830958,9.19356881637435,8.83782155846211,8.74618188360663,8.60478233672683,8.83269047384802 "1386",6.96609768642662,6.97524678447138,6.65871092362578,5.8812668252616,5.51439142996744,5.16956541079112,6.14760569582541,5.67318746075466,6.05759821691539,5.35613896259166,5.27185771113154 "1387",9.70729448077562,9.40567022875635,9.87583695385241,11.2462279091647,10.3003923305643,10.7424167869573,10.1184359530435,10.034525829297,10.3197248167817,10.8597579738503,10.791621851475 "1388",11.6884491073914,11.7399100968058,11.9920131158682,11.0540516611137,11.1651513653716,10.970998756276,11.6794673102973,11.3553611020759,11.4578247863245,11.207338551082,11.407781524264 "1389",9.0572680471116,8.88483018599364,8.67194846022544,8.03296242975768,8.06736022331051,8.12990615109811,8.38977501380715,8.12170010225803,8.21249525749621,8.38682659409914,8.57949343689206 "1390",10.0354874489457,9.96793805922204,9.78278157214817,10.5599719124896,10.6358294207407,10.5770873439806,10.2926799303643,10.1785964785253,10.0557402675007,10.320134066775,10.4498990987708 "1391",9.85426088753482,10.3953565232526,10.5359110163404,9.36339172738048,9.11232399251591,9.84050859689227,10.049003715892,9.57710023856616,9.67962991713684,9.82584238756815,9.58527861580549 "1392",9.08697485766923,8.85803938608857,9.03389210966213,8.79561827366295,8.15364885930661,8.00285314504708,8.69287189315978,8.23264568134189,8.45277903318627,8.79699798207396,8.75113959857946 "1393",12.5515942975617,12.2497903073894,12.431651152789,12.9935599136068,13.2347113067065,12.973160953393,12.5336914239984,12.7355969698334,12.6192783537731,12.7563071254789,12.6616223447234 "1394",7.38890737314115,7.98183224346147,7.7756053317637,6.51923699993902,6.17212405558635,6.36093948153758,7.08925483758914,6.59620756668132,6.25441840396481,6.28524461564841,6.54654471787116 "1395",10.4991886236512,10.4816058459837,10.7646213192475,10.2053285105727,9.79265168242774,9.9817378997919,10.4384620777687,10.2449712569747,10.3209126853714,10.2059810775237,10.3545701733714 "1396",9.58773981739128,9.18441449216568,9.76042695414852,8.76059450770294,8.98334472148877,9.17123773748359,9.47274409458584,9.05354738156802,9.20332363239004,9.17382166926883,9.3855927669023 "1397",7.591618665772,7.83442586481981,8.01522397915615,7.19691200194374,6.6134588887344,6.51705963771854,7.28429744000962,6.68507068847066,6.78897959785779,7.18139375675433,7.01856456429921 "1398",9.54363334478528,9.5525997452163,9.55713064863933,9.01290091543137,9.1379184346086,8.96175759191779,9.46895089706757,9.1720472001699,9.42283510764383,9.2915257337914,9.27119036602632 "1399",7.98574749251265,8.24158501242507,8.25829674835298,7.32023670711153,7.57753959933627,7.30192771781724,7.50130547645627,7.77337427107105,7.67833724212741,7.56913446046745,7.65519474955602 "1400",3.54830022377166,3.54830022377166,3.54830022377166,5.00715176399614,3.54830022377166,3.54830022377166,3.54830022377166,3.97076798325069,3.97945053140578,4.1133546816754,3.94592105499445 "1401",9.73995114589705,9.75221620154644,9.64314046086671,9.06485666059359,9.0417633150653,9.01132899283527,9.38890674936167,9.45569132815197,9.54377298123616,9.01300750909371,9.21583108861075 "1402",8.25712903402587,8.03070215418876,8.28467705094599,7.60201035882759,7.35215873173572,7.42807775485705,8.03132052976576,7.5260358409018,7.47058029594217,7.82257122540105,7.62271891815793 "1403",13.4764368727658,13.6780558831142,13.6578773028364,11.5925910243722,12.0304223656252,11.9166884880045,12.1951050326481,12.3331931822218,12.5981251079218,12.1497393952395,11.811847678459 "1404",7.82805065086991,7.9773059746272,7.91061683351649,8.92074120369275,8.60925340170373,8.64444417657472,8.34075443718631,8.16304111541793,8.82871505856858,8.49992514826281,8.46720050786154 "1405",9.93367177007917,9.74559047154265,9.91008736055666,10.7304462784597,10.3437915604399,10.3215132261354,10.123269813816,10.1948569498244,10.082601989524,10.148219551114,10.1886942606399 "1406",10.2689153198349,10.310818797234,9.96325047680512,11.0451916660863,10.7135108562357,10.5005709237225,10.3076208032781,10.4610086273112,10.3881872277102,10.4598254007585,10.5165960489291 "1407",9.12652201704222,9.16864744189129,9.39727455469257,9.78136553038215,10.1266948022368,9.96111850183319,9.7383928444037,9.63142010423188,9.45997759253185,9.66391374603607,9.78425344757618 "1408",9.98905697165515,10.2276875365816,9.94188874422735,9.48276578336169,9.6615729520411,9.62709793783437,10.0129926121699,9.76309123923359,9.81899701452369,9.95300677304448,9.8859506483848 "1409",8.34923587617628,8.86783922639323,8.4844870178595,7.63686065552915,7.857041291275,8.0143581580013,8.23739925810976,8.15281676709867,8.01492283068152,7.93426322229915,8.05113296353385 "1410",5.28634990203998,5.68818125959145,5.49810773191112,4.64558758720875,4.41984085544861,4.39026667116431,4.736433099266,4.56562326784538,4.66516704800045,4.43350024566452,4.71305020543012 "1411",10.1865228576616,10.1344077634276,9.97624061324769,10.8582663978142,10.565295737712,10.6077299481446,10.273239994603,10.2945639201536,10.2251900340329,10.5578993550815,10.4489763316817 "1412",8.38883528626299,8.4419685356813,8.09494372094293,8.86321059063953,8.90268312222043,8.86037230025685,8.65662721773289,8.4692989141019,8.60888779655961,8.74595623501224,8.57949343689206 "1413",6.68133857209962,6.58874484760681,6.75344123428011,5.94024907367982,5.4766730864177,5.62396795076569,5.81788128542292,5.57941184941936,5.85488481424146,6.12102121355555,5.89613582798994 "1414",9.86520892758349,9.6900797098321,9.940232354183,9.24172272222708,8.50377872850389,8.80852337038189,9.22988813865572,8.82501353464932,9.28108224081162,9.11115772331176,9.15599989088867 "1415",9.76522033055154,9.88113354113512,9.8084314162128,8.81091520633996,8.60109397713546,9.31516548072923,9.35642350105127,9.29785035238845,9.324379635642,8.98738881262701,8.93382699486344 "1416",7.00083943504019,7.53477084058202,7.09136174566226,6.6629612881525,6.14932815941719,6.26595636830419,6.93149388136214,6.21121089851315,6.33358512450331,6.60625503946114,6.68018127508015 "1417",8.93785165006461,8.83574296433717,8.5770053316725,9.77942383780593,9.3882796783162,9.7711296658426,9.04604433512848,9.41568795142642,9.40053112274857,9.50513169789254,9.44790024597232 "1418",5.89146640696981,6.26548881224496,5.67786163365234,4.87732981549012,4.95881094319955,5.21461805136393,5.14502080212905,4.84495354750819,4.87007984850553,4.78196079501175,4.71305020543012 "1419",9.01011824080007,8.97372587192083,8.86600235134494,9.98884393461333,9.84191978687244,9.36983498806351,9.36869064105412,9.37014280166038,9.382436138125,9.62624197080985,9.50939824435812 "1420",8.40609122623257,9.05101897857222,8.68388339535045,6.77768161474541,7.24048839399441,7.03316008565936,7.43256705877387,6.88540467353742,7.7150538741348,7.26096204990197,6.83684585355949 "1421",13.5949584823415,13.7706075358285,14.123329138312,12.9620266230164,12.237216667786,12.7332821846737,13.0443077791232,12.7157986850191,13.3132056092506,13.1016681706394,12.9279677366903 "1422",7.62154523715292,8.15210010208921,8.04022746166304,6.53803052029323,6.36186838199559,6.30473681676143,6.74125749547841,6.50132385628596,6.56351593648969,6.72406551931629,6.42960502818059 "1423",7.41480526624665,7.14718668390845,8.13610594939793,6.07729316885177,6.52871833911561,6.3424578003934,6.47584372686925,6.32724232099688,6.65808508296573,6.73656644191199,6.31853756118564 "1424",10.1915019652742,9.89437218018595,9.56575132749214,10.5935083350876,10.4094570280958,10.6077299481446,10.0578677412391,10.1672308764587,10.0685266199111,10.528016861657,10.3525978358856 "1425",10.8542509684683,10.8596150639624,11.3447036298217,9.52045754653191,10.1548171392602,9.21669052554932,10.0791705543477,9.91729706261419,10.3514588304847,9.65580753175133,9.56667956953291 "1426",10.3711947486098,10.1910962815159,10.4834260484686,9.90939723291607,9.95179672743833,9.82265804372679,10.1927493177056,10.2569346145631,10.1020795639663,10.1154953888918,10.260929929585 "1427",9.46355849968362,9.36474445982833,9.63497150654834,10.722384457189,10.150633584307,10.1329245432563,10.3224085039934,10.3244310258157,10.1774615878723,9.66875569261577,9.70761674063984 "1428",10.7055648617925,10.8248410008034,10.6086183693494,11.5095334833181,11.0029088778257,11.293116433284,10.6567079367765,10.9515992614033,11.1219434570669,10.9788895156084,11.0360968281105 "1429",8.15871854385556,8.54638539974194,7.66730456488802,6.33760537438245,6.51113614459311,6.70130537857918,6.98605328387957,6.53367259212264,7.06562328853505,6.71145259511112,6.23335959665524 "1430",9.71768722317394,9.50631313331535,9.58071460694246,8.35361427173029,8.87588773712104,8.87619977464917,9.13252572985366,9.00611715263434,9.01058831104345,8.98480171660266,8.63901089632971 "1431",9.90667535069381,9.90630275730438,9.80297329462446,10.6999792873015,10.1052372741874,10.4251539494096,9.98139377123449,9.95303567479728,10.1589821936525,10.231292326608,10.2630315837436 "1432",10.4543251552001,10.1242285544962,9.78647388407245,10.6316735082062,10.8650293181352,10.7604273622734,10.3286999744477,10.4937295960745,10.3339150823818,10.525350207984,10.5727405254592 "1433",10.938844259133,10.9208768282364,10.7589952882866,12.0573839232613,11.4766502194795,11.0842813711787,11.0959351479617,11.1202128127714,11.2415497854474,11.2617530740022,11.3707447529416 "1434",11.2019889539842,11.2655053576881,11.605164076177,10.776920651578,10.7238722549361,10.9146714390226,11.1684609618801,11.1627992121994,10.9682057434034,11.0937368523173,11.1647464673719 "1435",9.73484373990286,9.51100922975936,9.51768682055562,10.2882259347867,9.89790435994145,10.174458822354,9.83879401184647,9.73256915738992,9.68148092493404,10.0402789678875,9.91564669070588 "1436",10.6640790684246,10.4509839140124,10.493625295223,11.175651422063,11.2774794331131,11.0842813711787,10.6937357062122,10.7445832129177,10.8365345688513,11.0621960431891,11.0231357243181 "1437",12.729639115463,12.3713845789152,12.5414116519151,13.2551370848385,13.3240981084257,13.214528179565,12.7967998158888,12.7255165777334,12.7981546786003,13.1470396288789,13.0362171306845 "1438",9.05999410975567,8.79008750957555,8.71135291149387,9.36598221103588,9.48006955688139,9.36311359579024,9.03838442629959,9.27919628842643,9.03686083280058,9.22294082626596,9.15146757110382 "1439",6.43071256109461,6.69296641160022,6.81323095846476,4.55382476248647,4.89765324881629,5.12270292620239,5.05629560314322,5.11259910555834,5.04112969494906,4.78196079501175,4.98115357179952 "1440",8.26660964919445,8.39866108595749,8.8519686499773,7.88156902156748,7.57753959933627,7.96184415016055,7.3603555956831,7.53395441940694,8.04979550409517,7.701446188685,7.3243192572221 "1441",7.58403828566429,7.35058402269405,7.91738279967502,8.61566981198598,8.90268312222043,8.62208560702736,8.13085467743051,8.39321035543747,8.81865329878255,8.62486769292213,8.41517675137098 "1442",9.68980505605214,9.73492557672481,9.13874438839886,10.5656157400474,10.1686753315193,10.1196959219102,9.97338469450374,9.93973725693104,9.97201639028913,10.0011467992096,10.1494698271029 "1443",10.2014089124722,10.1364350130814,10.0223727452842,10.5633608580891,10.5547812005669,10.6134036701783,10.2568374844611,10.3503460782363,10.2315203705558,10.2911239163308,10.329719971355 "1444",10.2641968180722,10.223879247266,10.2573423373141,10.8601046387402,11.1519579517654,10.8188886322459,10.4964292160672,10.4349187094697,10.7180143568687,10.8505556452,10.7435149236199 "1445",12.1066570610431,12.0494853921796,13.0283826457568,11.4214003707259,11.6653782378728,11.6452748923566,11.8196904086991,11.740738252806,11.7102795811728,12.1649524533001,12.0543961823322 "1446",12.0780429100956,12.0588674485049,12.0291016679795,12.6719845201725,12.6304558174654,12.5692828976682,12.2034021176791,12.2416479735012,12.2774321917268,12.358643514487,12.3424351262356 "1447",10.0215747749588,9.50944556300511,9.32039392901572,7.85963022288562,7.69748960192527,8.21210233615098,7.94641071723562,8.11117639548181,8.21249525749621,8.50354624948555,7.93442061415904 "1448",9.72971818162743,9.71877888221534,9.91177871457315,9.11808157552205,8.90268312222043,9.57182195437568,9.3461205470152,9.30938775186329,9.3847104694454,9.59096479704898,9.61849246305758 "1449",9.19260063392306,9.26262008621774,9.04318440287859,8.62867945555666,8.50377872850389,8.09241288324656,8.80549148828346,8.63993930290509,8.75676083404544,8.58098977789978,8.41138781637634 "1450",8.52141591778728,8.31152640495699,8.87990068659424,9.39671032324764,9.30789059546723,9.45447601338872,9.06376071259923,9.09946637416647,9.04551298038993,9.33482400189473,9.1491960560028 "1451",10.7391059805204,11.1578584816372,10.5939458252273,10.2675976945215,10.3315244458874,10.4465016677386,10.7114980118355,10.6633198037505,10.6610005017964,10.5297918960275,10.5769701579497 "1452",8.7103268401435,8.61492695401276,8.886799904103,8.18761826100972,8.13114022707624,8.20710044820141,8.45264192153166,8.34465066948968,8.34468050613154,8.41786565259284,8.41895573830532 "1453",9.72285564294835,10.0530367356686,9.81024620933937,8.64584483154642,8.59699686255962,9.0340795627192,9.1349219693383,8.79248629950711,8.69575946364143,9.23387465495782,9.11235638545577 "1454",10.0382539518331,9.88234208781952,9.75854833344212,10.6625486408068,10.5260030725495,10.5168079542809,10.3023025251983,10.1811100517973,10.3041928419951,10.4391954156623,10.2397432316302 "1455",11.5402146364395,11.4157719341541,11.6041185148063,10.7414582280356,11.103725449484,10.768925429667,11.2313717251209,11.1103562144517,11.0888575644365,11.1122170881609,11.2530344321954 "1456",10.442887829323,10.6450150141897,10.5237973620208,9.89691448030488,9.81573563061689,9.84533882789174,10.4070952455997,10.1596037475487,10.0078626350706,9.98182381475529,10.0087680895796 "1457",7.81517116508222,7.79893645999441,7.95074256071963,6.85426078798228,7.07256943990856,7.17387660588074,7.5308267704392,6.92227444071329,7.68575618862043,7.10672969928564,6.84820604888636 "1458",9.0241466655017,9.06599234475905,8.74970806707209,9.97533772255507,10.1851313007098,9.56011614188668,9.97605933136158,10.7445832129177,10.3526208618046,9.65580753175133,10.1091488317724 "1459",13.6704483370108,13.4545117853223,13.7160164735262,12.5548655502562,12.8518741341573,13.2104786397777,13.281953606469,13.1425907085847,13.1809475568355,13.2475317758581,13.1922673525117 "1460",10.6424255705335,10.7097519472849,10.5812494717202,10.0432575688849,10.0731772984876,9.9159157255235,10.3044321900138,10.267617452257,10.1774615878723,10.287980797352,10.3216766301254 "1461",11.361244026453,11.3807162584606,10.9998436425943,10.6110806523701,10.8513473493957,10.7629820430889,10.8766072781463,11.0456272990328,11.0839685075097,11.0677046129703,11.0287047482321 "1462",10.1639016966952,9.90867707534819,9.98269206984058,9.52278088673235,9.42107496965634,9.53641552576228,9.60823258806614,9.88065031937561,9.65157585822036,9.93570389487805,9.6217721575969 "1463",10.5387970932317,10.4163647036133,10.621077135342,9.13336910256102,9.97406546890233,9.34047991899248,9.78642251487484,10.0400751987625,9.66660590862796,9.51412797785123,9.62830925399279 "1464",9.34564868855763,9.12641921347621,8.98651014282923,9.82907719239939,9.71166055520175,10.014985470521,9.47841524627442,9.44944832477595,9.44043316502887,9.93302339256534,9.72296798381587 "1465",9.14973976361886,9.3768016133613,10.019238157047,8.71253090162759,8.3270169324991,8.80190906564702,8.98093217188697,8.50588627819347,9.07116208553049,8.92397943106534,8.69304958228157 "1466",8.87111368185725,8.95316184763821,8.25296213437993,9.03260445449268,9.45992034710353,9.35184117137115,9.01255332160039,9.07533865673362,9.18255697586384,9.02816294905766,8.94957879166079 "1467",10.5240710717289,10.1191118837608,10.470861567669,11.1450684437338,10.7908105555362,10.9591654345179,10.5440687355791,10.5914459316353,10.544824325045,10.898741106405,10.8784853041641 "1468",10.5171471407071,10.8639034694822,10.7683598536148,9.74600869215952,10.2953482407759,10.0502755224778,10.4833297492985,10.2605043586172,10.4513792240392,10.0928591966941,10.1460575682233 "1469",12.2212426375835,12.3185788118587,12.5274159668764,11.6079875563749,10.4856100712145,10.9695248884942,11.4927284330422,11.1615270162731,11.781463958687,11.2161839827291,10.8584715110467 "1470",8.75139371361436,8.84321350730283,8.28989555448605,7.61954148426211,7.73534120637942,7.3482709372649,7.92991581991062,7.9253899931632,7.75790763707303,7.57604849276531,7.60951961480999 "1471",5.32657933118044,5.24667094069968,5.28833257709998,4.80590313991191,3.9890115841535,4.14782244847307,4.44463567927867,3.97076798325069,4.15581191957622,4.23818768541642,4.23274464232371 "1472",10.3300205694354,10.2882032356328,10.3147166257277,11.0755709738171,10.575734188749,10.9329365816265,10.5752702104164,10.5058111033966,10.4793092495755,10.7252554709334,10.6968608491041 "1473",7.78906009917272,7.7519780301127,7.46017196541071,8.20510685113877,8.41345634845132,8.27080630059016,7.88498001914227,7.98426798615941,8.20735835183071,8.15772834909706,8.24250996755826 "1474",9.20250300256374,9.15670793656637,9.13585207667576,9.76575829526586,9.81925444036508,9.6658427460564,9.50087940174002,9.53054494468328,9.37330276644289,9.67197464876051,9.49694951337195 "1475",11.0208499717621,11.3994060294981,10.6897137254359,12.1100842365098,12.2069844120473,11.9140092197575,11.8099803025709,11.8327269789138,11.736775272387,11.6355368466923,11.9146792663601 "1476",10.7518015621378,11.0656620152468,10.6344538012331,10.2991082158828,10.4000894764501,10.483116443134,10.9000323831904,10.5637831304585,10.4824974201085,10.6715988227547,10.6324822674906 "1477",7.54552247013425,7.57733667784068,7.4225356099074,8.19930091953913,7.86388858832763,8.19704417881253,7.9188130165643,7.83228293935799,7.93632987909997,7.83413971816388,7.94495448529507 "1478",9.80312638837258,9.75221620154644,9.7491183462126,8.89943548573761,9.32532138773482,9.30584890318942,9.23659730688724,9.47425977612589,9.2638868327425,9.44994245841159,9.57685423037748 "1479",9.20988539388375,9.60038747689321,8.71523471133154,10.2480748193668,9.77645125249346,10.0376703443999,9.9229876795253,9.91578856232416,9.6477937409336,9.5824367215715,9.84864948271169 "1480",9.08697485766923,9.13658633485635,9.20094974180395,7.86698047363564,7.91752207058714,8.32259169586923,8.52755095949196,7.96100560637981,8.48283688861688,8.14386438266402,8.0364366243945 "1481",9.81123663693283,9.83818345260913,9.43305283939345,10.4211797558214,10.4291633565408,10.2419447695418,10.1660606858745,10.1697643165953,9.89753511229346,10.1166769834357,10.2588252088045 "1482",9.73995114589705,9.92166641344763,10.0208063027085,9.20457353084305,8.45480410640922,8.78858865410809,9.28270704857763,8.73544661786784,9.51083683911358,8.77918901924796,8.82131918147808 "1483",11.1479471201865,11.6352110745624,10.919746551038,10.3058681849335,9.07747539658943,9.39641153378936,10.0779261194851,9.59606325349729,10.4867373826251,9.7456227517755,9.20055615436217 "1484",8.12261959660535,7.77303844371646,7.85530964459838,8.92777367734625,8.69608245430802,8.73404011564546,8.21035699173733,8.56101386027806,8.60108013500172,8.94542739947605,8.59627430635842 "1485",10.5649309257955,10.7704032814394,10.3612573069318,9.36079658097307,9.98193599510249,10.1329245432563,10.1352840632529,10.0957581439586,10.0356223097841,9.96223843593382,10.0519520851791 "1486",11.2203743674765,11.112754070932,10.9130073698974,11.8282137322326,11.498759397451,11.5859147214903,11.2296918720753,11.3118717114249,11.3554762373379,11.4389206784953,11.5196724586523 "1487",10.9861715431903,10.8311124513984,10.2613275514791,11.5448189475349,11.1795945390726,11.4226318547064,11.0117707126576,10.9589411582821,11.0334200312324,11.3672705502699,11.2456143381664 "1488",9.07354761529265,9.7939149262346,8.77224035423123,8.81091520633996,8.43197991639417,8.33639739250529,8.97291727449073,8.68317061367035,9.10466596505872,8.30616728615832,8.55223053166907 "1489",9.90364431655987,9.67760304672165,9.24456138472936,10.3166186696767,10.128114017793,10.3052458503367,9.88791060762533,9.97348142215322,10.0063866941381,10.1574345489794,10.0700709147796 "1490",5.01103248145524,5.45916336990591,5.64386590959061,4.64558758720875,4.3058722489524,4.27998953468607,4.24697193895882,4.48006681116437,4.80633145078724,4.51507976905241,4.50758419823284 "1491",11.0797687039828,11.1065632429856,11.2321258940786,10.2963953327579,10.1919329283025,10.0724162824657,10.5539478293049,10.3932521184581,10.5264073754655,10.3545938926727,10.2598779530818 "1492",5.2447303988107,5.21302385056593,6.30781724882702,4.55382476248647,4.51917288855208,4.57254454079382,4.60239513168466,4.48006681116437,4.58582955381605,4.23818768541642,4.33623189839069 "1493",10.508195828823,10.700190419516,10.3930858503135,10.9141900675119,11.5291538280074,11.0931064253606,10.6986017019624,10.7522098125656,11.1728253334756,10.9723779574865,11.0986228596141 "1494",10.0777831421926,10.3808941681745,10.7970095951985,9.61495163193955,9.61576637537467,9.69646261119022,9.96802049494205,9.86040421562033,9.88794857527391,9.78331686580452,9.7591576702194 "1495",7.52982122581727,7.57733667784068,8.27943954893763,6.69670383284886,6.81247266514148,6.75771463598581,6.79127264998927,6.98166824248881,6.95889432739089,6.93370830289886,6.83684585355949 "1496",11.3820804573393,11.4286495728764,11.9419960436189,11.0346501211716,10.4922376107589,10.4810490201255,11.1448866074824,10.4169041330783,10.8911334391504,11.0931367561939,10.9441344322469 "1497",10.5051996718847,9.9074904049135,10.0609909112866,10.9221307870424,10.5303028959357,10.9761454674188,10.4051119857309,10.5521794494161,10.4697022403032,10.898054137104,10.5979342710243 "1498",10.9172175232759,10.8448144162758,10.6578205420477,9.25855086883706,9.18232694067193,9.72119977106484,9.78794553928473,10.0064541233079,9.48986305654025,9.45928860804619,9.18954553413034 "1499",11.5720598530247,11.5533706682305,11.2429142949222,12.5122501512325,12.0847829030792,12.0337894989275,11.8002043977485,11.9504745737178,11.9948204300072,11.9883977246857,12.0583341743287 "1500",9.51809357313354,9.38875877384605,9.8084314162128,8.7645283512679,8.59288805804577,8.688146220763,8.89305127716452,8.74907232045089,8.95043129581706,8.90494696585961,8.82417042945892 "1501",9.98476095320408,10.0701066274058,9.85840182585167,9.12727353428078,9.37638391461942,9.03125530386184,9.42655353322538,9.2721383136318,9.23644413866341,9.43486145599299,9.48258953406227 "1502",9.34564868855763,9.33326927180689,8.65183446490859,10.6001230644043,10.5912515892063,10.2601437994664,10.6109823301459,10.5048081669179,10.572016241717,10.9090065813267,10.9170315413443 "1503",10.0791270825946,10.0647939552572,9.5265458300737,10.4880897668348,10.4744960528002,10.4913566312522,10.1460119857921,10.3049726656477,10.2738452543388,10.3129360434949,10.3186487763146 "1504",9.84481024925553,9.65938846752771,9.88619774921658,10.3575360776933,10.6167486523576,10.5526865184361,10.2623257383629,10.1684981527468,10.0108099936208,10.55876894893,10.4818295966881 "1505",11.8848776135342,11.8704729682859,12.1229734214227,11.3088087653608,11.4064607530663,11.3677434818833,11.5323326529736,11.652931311285,11.5160242750134,11.6030277783314,11.6650219391387 "1506",8.01418474594075,8.56156575418114,8.1186091113731,7.41376869620371,7.13077178661059,6.09886016877318,7.33545046218468,6.65607019101962,7.72228569452455,6.63330252167169,6.75465710517924 "1507",10.5801971333034,10.674611287237,10.5897261114918,10.2634364082879,9.52170404600447,9.90824225047532,10.1858345333695,9.91880398678363,10.2664658308038,10.1272680007105,9.9796693691634 "1508",13.4877380347565,13.5700938205544,13.2790650899575,11.5731113710362,12.4125300013792,12.8740428172179,12.717915146327,12.5526322555715,12.0553033753277,12.5820808663167,12.7449900533856 "1509",10.1727410195099,10.2587280838898,10.6798226411762,9.6954179831308,9.79622719722959,9.86766844471545,10.1208549084037,9.90973873377393,9.96747231359794,9.84165031317955,10.0580170201596 "1510",7.89076943782151,7.75727219503807,8.22598820116811,7.36256437683614,6.82667759155909,6.78509433379566,7.34380053331067,6.92227444071329,7.32590428280078,7.10672969928564,6.94653945327788 "1511",9.72629099426311,9.67481573454127,9.5397331223225,10.1523024547739,9.99599560909594,10.2456029911708,9.95452205782207,9.76141240897378,9.6998614941031,10.1528344090151,10.1114835047587 "1512",9.38095545049236,9.78876804521228,10.7486235627736,8.8298107692593,9.58715457438194,9.13486732264268,9.49529608760898,9.14911379346811,9.11017500544359,9.43106642948714,9.63481685042367 "1513",5.06174854283329,5.77824442532879,6.24330683421088,4.72904957070584,4.41984085544861,4.48644669672571,5.14502080212905,4.27494782787477,4.73829774126364,4.23818768541642,4.77260190574687 "1514",12.3713829181594,12.3672909352829,12.2193257375482,11.7968878221991,11.8107594397936,11.901310926462,11.9049618869248,12.0790073555037,11.989974994074,12.1586570618278,12.202995019639 "1515",8.67873961737953,9.32084091823728,9.64720765024991,8.34312427842712,8.49499728170758,8.27559185040856,8.6262786949841,8.69377869296711,8.80512737152573,8.23821723466124,8.29281677207958 "1516",9.14973976361886,9.51880222944563,9.44945032736336,8.57592049462451,8.7264024121503,8.70950985523553,8.9015215765478,8.93340241854332,8.79831648860563,8.74595623501224,8.79540080261387 "1517",8.56046249831434,8.6803539981306,8.63553853876001,9.25855086883706,9.26466000878117,8.92571013439452,9.01515736547387,8.82501353464932,9.13470839956884,9.02060515008304,8.90449375768947 "1518",9.0408024981148,9.11412324227118,8.90050002263377,9.56171547234241,9.5043200296704,9.8291747457824,9.34818703627863,9.49259214336279,9.42945957478283,9.48514006545464,9.51646384732681 "1519",10.6950856316813,10.4362487275548,10.166760830249,11.1548358621792,10.8183229498468,11.1695510246347,10.6839541943727,10.8053108680749,10.8636848329258,11.0173534531924,10.8508068418047 "1520",10.3209613798289,11.0533766332525,10.5413837733096,8.98956773179542,9.18232694067193,9.48162043561403,9.020351380392,9.24355571325986,9.35717880969973,9.62458153069967,9.7045267848039 "1521",10.8534658650387,11.0982672607979,10.7970095951985,9.26411688032526,9.8761085308721,9.86132375368437,10.1328892058051,10.3107230111134,9.93680700078925,9.27679910528302,9.57347064728399 "1522",11.2676973531153,11.1722559617626,10.7655568615512,11.753538536816,11.5058725352999,11.6102364382177,11.3334432121049,11.3334978733908,11.3432530322509,11.563717722214,11.5006518625286 "1523",8.30391940234163,8.65793230088287,8.83065843231267,6.92690329526043,6.62980875551585,6.72979247179919,7.13817459357482,6.98166824248881,7.68575618862043,6.53625939289495,6.08502244599298 "1524",9.77022146767524,9.71199736889276,10.0425831834726,9.29978140201371,9.40477056518955,9.28939860356225,9.40686201966234,9.37892971322403,9.63065037796132,9.59775112970703,9.48619295822524 "1525",8.33128018637385,8.51553594667507,7.84824397936422,9.32129819118136,9.49774660849664,9.10294517849191,8.99154983146614,9.231476990754,9.40053112274857,9.01807705071483,9.07694255830055 "1526",8.34028603840679,8.56759336671457,8.29509519727085,8.15198978181678,7.33249425050712,7.19434131217863,7.70916904553208,7.69792596610665,7.79951806783493,7.73269987832019,7.5346651945302 "1527",9.97901295098865,9.82189905609251,10.1738257872197,9.43422183831476,9.63186465501382,9.54435909258784,9.48969107030376,9.75973162211078,9.66473569677642,9.76685270350634,9.83317173024776 "1528",6.05883989330874,6.07019209809631,5.9767616444246,5.2287614540209,5.01670287124879,5.12270292620239,5.51016217934202,5.06400718580499,5.32100047365207,5.08331287740239,5.07200980811868 "1529",7.48165658586729,7.78863328715341,8.58551429510463,7.19691200194374,7.43744503701482,6.72979247179919,7.2039544662764,7.28438262245523,7.74376486076374,7.06787458033587,6.90367688540501 "1530",9.98188981551795,10.0615969336993,10.4039418062314,9.39417451251257,8.94519012149416,9.12959581816302,9.56979142515453,9.13880286660557,9.24898288673534,9.32463221638432,9.26281069887234 "1531",6.83088295905748,7.28595559966957,6.00327387055094,5.96879451060309,5.51439142996744,5.37954658604057,5.63069073389597,5.47821319946465,6.05759821691539,5.28435507346132,5.19596301279726 "1532",8.24758552011547,8.60616960519582,8.1127291879404,10.3272896242568,11.5096882089493,11.5955015789509,10.377056172558,11.7466891344698,11.3801861404552,11.4213389926449,11.7176870007483 "1533",11.5600798273091,11.7362391232266,11.5851676616024,10.8228872469793,11.1442641451469,11.1112646748408,11.4370407844146,11.274111025659,11.0670791083783,11.111031932343,11.142659886421 "1534",9.621340841989,9.9074904049135,10.008213137984,10.5712375723305,10.5162813506445,10.5168079542809,10.2883825295849,10.3492289654657,10.2775208569595,10.5056426501971,10.4077788513948 "1535",10.1305873404965,10.1783620425922,10.9231043722607,9.85327718286724,9.67910853122611,9.74551975811692,10.0038475767606,9.88219600312484,9.96747231359794,9.89634039364597,9.83881924131123 "1536",10.5744912217562,10.6506994128939,10.1695909669438,9.84401748691189,9.94858722450983,9.8865367488704,10.0603903465176,10.1156045648873,10.0166867034404,10.0477318252313,10.0224800373173 "1537",9.94992422282255,9.55714772683988,9.71852121975012,10.3004627464938,10.1124253101349,10.326127549589,9.96128706777677,10.1468015512638,10.0923736544633,10.1790870725108,10.043418102403 "1538",9.50014341626045,9.50944556300511,9.56789846860863,9.09014867014785,9.20940319848552,8.89807016610478,9.13731423195873,9.11533002192056,9.35253864980812,9.20527235569872,9.24164592583338 "1539",13.6677713520576,13.3612844353582,13.9838877939521,12.6511680884053,12.535529992551,12.5063880748213,12.7804465371732,12.7511154142766,12.7958073373442,12.8007201867651,12.6880615494158 "1540",8.71379415237108,8.56156575418114,8.5770053316725,8.86321059063953,9.49774660849664,9.29647172850295,9.33574343699946,9.20454209783476,9.18777675371574,8.91041051218163,8.73910327887921 "1541",9.01293487089078,8.81815957028707,9.05548166222452,10.3018160063251,9.66744186905593,9.43964532991714,9.7113586782475,9.58661291685083,9.53150991828696,9.62291917649634,9.80026224186233 "1542",10.1890145599193,10.112947823029,10.2719012720266,10.9053154763811,10.8262131164862,10.6209340856208,10.5901851157763,10.5923904240538,10.7771937917521,10.5837618046265,10.5752797928681 "1543",8.82377098888572,9.38364641403571,8.90730154365236,7.67088334577139,8.29701008986597,8.36810472978034,8.70582887802858,8.28037849508139,8.07822326015754,7.42333830248029,7.47765660537752 "1544",10.0061142181453,9.76668653492912,9.89989737091731,10.9317771247833,10.3253515442344,10.3859133783507,10.3150336035886,10.1519360731915,10.296967438079,10.6108467222188,10.6185980744757 "1545",9.53582302322955,9.45849130164238,8.7229670689562,10.0910039613109,9.82101063092539,9.97293708537586,9.55017960121086,9.75973162211078,9.78840640963792,10.0227377266893,9.9847723725442 "1546",7.50594156703678,8.16409270639909,8.15339241024055,7.33093685359887,6.64597027882416,6.86418378240018,7.42472141449871,6.83470072861068,6.81648699521578,7.14455133827227,7.00849647408597 "1547",8.38012910413432,8.42214226914085,8.3807299458979,7.85963022288562,7.35215873173572,7.22449745441825,7.44813034354882,7.66947509015006,7.79266627085719,7.65651370055754,7.35633164979579 "1548",5.36552087758783,5.79982726714239,5.86514541966066,4.80590313991191,4.76343465978073,4.72324945023249,4.79704755731515,5.01322721136904,4.66516704800045,4.51507976905241,4.50758419823284 "1549",9.00729609524612,8.79266223808439,8.58551429510463,9.41183223874574,9.49774660849664,9.56598092615888,9.23882677549923,9.46397350649261,9.29324030599209,9.47042460451725,9.35438552413391 "1550",9.47585689914803,9.61063324416061,9.74532901834701,8.62001943102553,8.43197991639417,8.10322540131312,8.88167953131368,8.21801139525808,8.30195416064893,8.1204564843621,7.84161802387833 "1551",9.66495795660164,9.926360954452,9.91515548384367,9.43915044082528,9.00204978037968,8.85718583490158,9.53211621142354,9.2411480514298,9.3687142921226,8.88843092348367,9.06494191586072 "1552",12.1600163842048,12.4626701433388,12.5579752040205,12.0006035758781,11.6171793934351,11.6466588835076,12.1661227887282,11.9868430830058,11.7043755429825,11.8829877009928,11.8014026590676 "1553",12.906956281628,13.2529984274256,13.1551518821342,10.8910015851055,11.0083132614648,11.4945914781042,10.974140718693,10.915828480281,10.7492316431501,11.8245374896323,11.916682970773 "1554",8.65728994392668,8.41212577596698,8.68388339535045,7.88156902156748,7.45572573054755,7.92573694177426,8.07696568000571,7.58056746775892,7.86629461016776,7.99733283712053,7.75443273316363 "1555",9.43444760917802,9.23449800084737,10.1467928457974,8.45451180306813,9.08334232116854,8.991123312071,9.11077840627714,8.80884171052989,8.99578282918798,8.96130645296956,8.90449375768947 "1556",6.05883989330874,6.18747190753494,6.12856456325381,5.12329148338679,4.95881094319955,5.16956541079112,5.68696720047667,4.96000670487273,5.47688516711479,5.03853376538012,4.58142223425457 "1557",9.81930153241233,10.1313615365276,9.63086961048737,9.03586234707771,8.6133158429029,8.18691709381174,8.88167953131368,8.42752497681287,8.55332373680167,8.42552194349877,8.23395175603893 "1558",9.46355849968362,9.92870250717504,9.63906176806089,9.03260445449268,8.7923753576323,8.39033259099638,9.04858861807932,8.72514208892529,9.05696897032904,8.81458948783827,8.5996071414767 "1559",11.9579142718473,11.9840162187978,11.7383540637143,11.116132386516,11.4833186228027,11.4365672348313,11.4076268428066,11.6106726713465,11.5175791051574,11.4835632671083,11.4219578992833 "1560",9.93664041614915,9.84439804636833,10.0286215584728,9.47558756262761,8.89936082225207,8.76157255565059,9.20044875589,8.61410847520305,9.08521679961439,9.05307315857862,8.72696554222553 "1561",9.67565917741383,9.44219162252648,9.50429541133563,10.2827538512244,10.2347199443245,10.347846236292,10.2883825295849,10.0050360932713,10.0122814173939,10.320134066775,10.1986104716811 "1562",10.482020019862,10.4046378387236,10.0701074211044,10.671997748841,11.1180796426504,11.1579512293487,10.9960459749299,10.9090215788348,11.2725750622303,11.2654863145324,11.1184899779677 "1563",9.00446841256364,9.37336698873207,8.99929842498841,7.91030878238794,8.57633459145088,8.05391538514358,8.82640317680438,8.40186601346683,7.85318554944182,8.08703158629843,8.21233075376318 "1564",9.52402764382709,9.84439804636833,9.79566351713495,9.15150265613441,9.0082312369413,8.94684724522049,9.1563107349151,8.9511914865903,8.5773999032575,8.96918084562731,9.01591445856804 "1565",9.45943561192641,9.58858819014337,9.46796478153708,8.8032870419544,9.14073441010355,8.73751058569768,9.23882677549923,9.07533865673362,8.87799612020668,8.84343960950334,8.92853790016112 "1566",10.0723948230738,10.5092464786811,9.81386895901612,9.38908947209102,9.71732952533717,9.65854259390117,9.87507106808472,9.84304807223356,9.61910718934904,9.47227227099732,9.64291026526287 "1567",9.41754506881003,9.75089348855704,9.02766379608388,9.11808157552205,8.82776226864489,8.6107747917441,9.1349219693383,8.92442485198654,8.43091825674161,8.56375114679346,8.75113959857946 "1568",7.77582417085792,8.09058901321818,7.31361245108569,7.24300092293367,6.89563617554318,6.432497361932,7.35210205549439,6.54957034296888,6.54711451758993,6.50724974565549,6.97785631436976 "1569",8.41889875238366,7.99084222026797,8.26361165206592,9.26133656078562,9.56636432489885,9.08126409712267,9.61339605703764,9.3941791181895,9.45997759253185,9.33075592918227,9.18954553413034 "1570",13.8980178671465,13.6903536827224,14.0640162121643,13.1589247521206,13.1653938983174,13.4018401685514,13.3622147844171,13.400238492059,13.2848787511727,13.4351338633975,13.3967846758997 "1571",8.07483354014599,8.40877139428027,8.51599165671402,7.37295311711776,6.96138984243564,7.58321459177539,7.37672094825418,7.08268644591105,7.51294511231341,7.31164305003266,6.88174890817304 "1572",10.5678056733248,10.4784129261927,10.2941163254288,11.0075396557097,11.4428378598291,11.4682211607786,11.0959351479617,11.4099519694662,11.3467559571989,11.6276851997884,11.6024992552979 "1573",9.93664041614915,9.29020407679835,9.87062851071493,11.3175313290374,10.8165637034136,11.4614215050685,10.771998304892,10.6597197922185,11.8020243397255,11.0380794778482,11.1837293437244 "1574",8.51347790500671,8.82320533215313,8.9703635403395,8.12160977055268,8.13114022707624,8.02577177719538,8.29858835270601,8.32202448506967,8.30195416064893,7.92888024286978,7.99649527722762 "1575",7.11086380579525,7.31504121459539,7.40333918797982,6.82412564138579,5.8974681997572,6.09886016877318,6.18607814866558,6.32724232099688,6.71776773269749,6.14027133670331,5.70237141167859 "1576",9.13946690657847,9.06173008942833,8.78337570349508,9.46837342804354,9.5495135760048,9.6658427460564,9.47652733962864,9.43266694539186,9.48774880102719,9.97402154864628,9.86811121210944 "1577",8.06942456863193,7.99084222026797,8.13029729827299,8.60693096286727,8.89603084465351,8.6107747917441,8.48307484510939,8.62523560841052,9.04263469844127,8.36708164935272,8.61615659062979 "1578",10.6827628661366,10.9255734251867,11.3384300532941,10.3497066385439,9.83150310092978,9.71769176396934,9.75094155103657,9.75973162211078,10.086797954744,10.0062561715956,9.78278925224845 "1579",8.94671742848271,9.13049467165238,9.07070714442444,8.45937569041349,8.69990753520075,8.23685412620628,8.59179063704516,8.28506580777929,8.28742535969934,8.26407608314835,8.53840303285309 "1580",10.2818121717323,9.84315726807925,8.4980735107469,10.3259600640607,11.4558931007158,11.107919234322,11.2268877628093,10.6873876859931,10.5599941811903,11.0374557718615,10.8647124544634 "1581",10.79578508012,10.2882032356328,11.0164436396944,12.1338314506619,11.8182512350478,11.9124759723153,11.6382743506758,11.6569996068226,11.9336328158469,12.1138029245447,11.9552090616162 "1582",5.15683916790939,4.70290661503082,5.28833257709998,4.00522961816383,3.54830022377166,4.27998953468607,3.95429096793669,3.97076798325069,4.28967224937531,4.1133546816754,3.54830022377166 "1583",10.7660560995606,11.1638334966517,11.210303996459,10.0105253070144,10.0613401543596,10.2073463884529,10.4908297187032,9.96183365162647,9.83238730825573,9.77735162217192,10.0150169576655 "1584",8.22344598109642,7.89809328778013,8.08896599166755,6.35900025183662,6.6134588887344,6.71562100072587,6.42891596161512,6.56528938654728,6.84346871555432,6.87852433571936,6.35118973846552 "1585",8.93785165006461,9.01619848970147,8.73448833373387,7.96611820757159,8.11975236897153,7.90733709200254,8.29858835270601,7.84505170690951,7.95485212886411,8.1714599136636,8.02655489405578 "1586",5.91669169048245,5.84196372967787,5.418413249836,4.72904957070584,4.76343465978073,4.39026667116431,5.0091772610784,4.71540688131158,4.73829774126364,4.51507976905241,4.33623189839069 "1587",9.23422384642856,9.6294700951131,9.30760066705108,8.79176852733227,8.52550083325926,8.82818601967934,9.02294138520114,8.60289469826364,8.43531705300914,8.9717961107169,8.87455096834142 "1588",7.591618665772,7.76780225913548,7.84824397936422,6.89829222892027,6.99942575048463,6.68684256874318,7.16673889189749,6.76864888687765,7.18604166357848,6.61984398459466,6.82539357006609 "1589",11.4095803807229,11.3802886641676,11.5665014363276,11.1660243937268,10.6867955842601,10.4143604355641,10.917528833776,10.8295447379725,10.6210568775653,10.4644731698233,10.5531228712604 "1590",9.67210091977004,8.8029153832728,9.17863896142134,9.63441918650558,10.0643085602343,9.94170432280184,9.62196096435403,9.88374003211383,10.0078626350706,10.2921701025122,9.95257830868576 "1591",8.98738480725149,9.0117861763896,8.74211830039699,9.40429110566902,9.77645125249346,9.76094021091912,9.46514769454361,9.40926892471926,9.74658265603509,9.7022016209173,9.57516343124586 "1592",10.841637749624,10.6450150141897,10.9587157872854,9.89153147815798,10.1422298950931,9.91897372062499,10.3307910479806,10.0428418973179,9.46643397093259,9.82872947354022,9.92762101333715 "1593",9.23180840892944,9.40398798146943,9.02766379608388,10.2991082158828,9.99599560909594,10.0263725052202,10.0691848822908,10.0890815186382,10.2775208569595,9.98441521891658,9.79300753891875 "1594",8.67162516019418,8.68590530640554,8.36598350501852,9.01620360197303,9.35714415690729,9.2822906056801,9.07877475952168,9.07533865673362,9.02815643109272,9.31848238236529,9.29809271430043 "1595",8.63551598983729,8.57059773749668,8.54245757359412,7.67926429367181,8.22445983317387,6.82519262173196,7.85033041428042,7.36660049554979,8.03826505815161,7.58977720315727,7.27491277202479 "1596",10.6018630700211,10.4213614647416,10.6965973516694,9.97533772255507,9.04477335227232,9.82754832874569,10.1316902843166,9.28388248128593,9.01353124291589,9.81277849859362,9.55814549862267 "1597",7.75573843135957,8.38506923685766,7.60992258308702,7.13712105712646,6.43850350967657,6.612207216185,7.0991743398703,6.72747987443969,6.53051842174467,6.49251568930576,6.60153727269307 "1598",9.71076705659779,10.3063239624275,9.3996875934051,9.29978140201371,9.26466000878117,9.25107776283189,9.60131907626226,9.23390084508073,9.09913578816708,9.29570585889079,9.39712351026887 "1599",9.18762382394278,9.36474445982833,9.74532901834701,8.21088943820607,8.33195779092463,8.1086013134395,8.32823385067599,8.22290605381997,8.09501387902365,8.40630430757315,8.26788326634701 "1600",5.20160456221532,5.34229206882021,5.19311942679736,6.12845239811469,6.70881868749609,6.1208982606487,6.04639115237076,6.67064525579817,6.29456940017177,6.12102121355555,6.28509519859856 "1601",8.08022223206692,8.2302240152333,8.64777773683386,7.0227239320402,7.20845157211192,6.99860798635178,7.2668306093309,7.1253766513517,7.05415311319903,7.34445723975138,6.79046862306178 "1602",10.4271438750111,10.639308127208,9.80661433656907,11.5071892502779,11.3022047029974,11.1146023751877,11.1525906086,11.2503726528162,11.0261560678,11.4074073865975,11.3915447363479 "1603",9.56105341541698,9.42901789916774,9.2119769654714,10.3272896242568,10.5579436167682,10.1499423432056,10.1256806828222,10.4062012693641,10.1735215995514,10.5526707545995,10.7502723417029 "1604",8.20383833467636,8.33646065059874,8.28989555448605,6.96876462166441,6.90903343211634,7.16353289372454,7.07926563097037,7.15657400758947,7.29706680728901,6.94449163271205,6.77863221585722 "1605",8.35813039393505,8.24535215755827,8.95403397692852,7.93848457611293,7.0961370359168,7.52799643435851,7.50874309491128,7.46105825513585,7.94253054199731,7.59659251687071,7.29157241507968 "1606",9.78017201239217,9.96565939633782,9.82468292511424,9.33986551212972,8.53409873520516,8.87934451321461,9.53755902694178,8.75920768081494,8.2379081314356,8.90220740477039,8.93118487410447 "1607",10.28530957413,10.2909358993995,9.82108727168243,10.3510144997968,10.7890174141022,11.0044886451107,10.846963270825,10.5028001995901,10.6392637282928,10.8966792163044,10.9190320384488 "1608",9.48805128953704,9.47139966611883,9.35562266985496,10.09725237614,9.70976593554414,9.98611825045608,9.99332460993603,9.82548051357612,9.9689885971003,10.0551463701323,10.0199966323434 "1609",8.49746936073163,8.21493506357812,8.21505537499727,7.33093685359887,7.33249425050712,7.31131752008256,7.33545046218468,7.06085076242672,7.61756105824218,7.40012787657292,7.0581377661878 "1610",11.1695550873458,10.992569408112,10.613822604822,11.5809348238278,11.3406595091489,11.6243541024547,11.2954054747397,11.3991978077402,11.3017444466544,11.7442568022736,11.6074696928738 "1611",5.40326495224052,5.31125124331163,6.05478656427908,6.96876462166441,6.66194786109538,6.16393427299536,6.49114145155366,6.83470072861068,6.74668576793685,6.63330252167169,6.4142723185568 "1612",9.35010960708185,9.90034980511296,9.8371975827289,8.27852568953924,8.20842556768602,8.81181917028021,8.72822688154078,8.23749087428768,8.52883814354876,8.43693055695777,8.37683091274404 "1613",7.35362998324763,7.6531799648424,6.92571489804902,7.82984692987508,8.22976510944951,8.00285314504708,7.97348809552184,8.0296923264924,8.03246495373817,8.02785879225662,8.17257446569435 "1614",10.5121810487845,10.2085447395237,10.4512258819662,11.0524447950541,11.082654845471,11.1585981151952,10.9491781273054,11.1228299047978,11.0985862498103,11.2866357496258,11.2095657422982 "1615",10.1499009530435,10.2085447395237,10.3784829710055,9.75196202302882,9.51086362043619,9.23644069819077,9.89499460242657,9.42207852761187,9.35717880969973,9.52840629123422,9.42555326987163 "1616",9.81608098410719,9.73090581987007,9.69710269070915,10.4749537522556,10.4036094410837,10.6377351516045,10.5664241554241,10.514806290072,10.2750714961874,10.5235696962474,10.5051000829792 "1617",11.0032610706347,10.8096773363558,10.4777284840571,12.0233385202113,12.4275907308537,12.3095910531022,12.023458222459,12.2843527802972,12.1147226731174,12.312732598293,12.3753472919025 "1618",10.8573871163373,10.8491469803152,10.6708623056284,12.089861313531,11.7336205981966,11.6686240563845,11.6408046576489,11.7279030996559,11.5634614593759,12.0133514340527,12.0574263605605 "1619",9.38748028392025,9.61645544925657,9.20094974180395,8.16396429768604,8.35641076097024,8.10322540131312,8.31560335748243,8.13214733223861,8.54113298867976,8.1714599136636,7.77820506591805 "1620",5.51007576263887,5.43096210363813,6.34920801052001,6.10311306989949,8.98020347164953,8.46343824668872,6.34699967672477,9.20701162662937,10.3710871680608,6.46257214152392,6.94653945327788 "1621",6.95432532809127,7.49090017416654,6.69100174166885,6.20176630746007,6.51113614459311,6.05368293120384,6.3637745907004,6.58083381215475,5.96006019369919,6.15925383687877,6.14255176514714 "1622",11.0285216648796,11.0619340490694,11.5573470925507,10.0400175681571,10.3894777502856,10.375934142439,10.5204456310971,10.224403024279,10.0937642181069,10.3565955307924,10.251434406651 "1623",10.9021113551869,10.4958871660344,11.3194439526309,9.10263017079498,10.1380096181679,10.173178817697,9.97605933136158,9.82226329348518,9.59966080439663,9.87973247920295,9.84304040901633 "1624",9.27467892823079,9.39554717722708,9.24724379824323,8.58039165716704,8.31708402375342,8.36361766000043,8.7440148818538,8.25671006792423,7.81312427424552,8.68030059676385,8.52444145309919 "1625",9.51809357313354,10.15655232491,9.7049281020706,8.71253090162759,8.49939470047741,8.56070792949847,8.99682947040505,8.26622421970556,8.21761388082079,8.7367580939207,8.66150819158169 "1626",5.1102803075969,5.73398691359929,6.17562106732623,4.80590313991191,4.95881094319955,4.85356377363824,5.14502080212905,4.71540688131158,4.87007984850553,4.65808106126267,4.93274810645829 "1627",10.7785177147927,11.0131245901819,10.8745014292447,10.1050250209255,10.2940844574572,9.9462077687254,10.4316586279893,10.2316959373149,10.1853094239587,9.85728684843158,9.9236406084039 "1628",13.2301626015371,12.8679526459619,12.6628700091759,13.8594253719014,13.6026234228194,13.9963412954892,13.5174843720574,13.6764675965695,13.775785862489,14.0860920701635,13.9848485209607 "1629",10.0964853009879,10.0292308145702,10.4218554590784,9.02278635626887,9.11805105006883,8.82492748996296,9.16571592427558,9.08073538378508,10.0210785754231,8.53219178875999,8.16808848214259 "1630",9.79986947543239,9.7939149262346,10.1794529427816,9.27793861213048,9.62785690165601,9.06754591745192,9.51750079057772,9.29320941560431,9.04838552577783,9.36298357674282,9.42179486775045 "1631",9.12131133424728,9.22880714902793,9.33054742635067,8.33785046483421,8.43197991639417,8.30865224959344,8.42155167513461,8.54156684299729,8.88765325165449,8.0177553637922,7.92380890578699 "1632",7.96258530413221,8.43208953824116,7.37405217620522,6.31587444688544,6.28074432712116,6.32372596223563,6.75392864179652,6.56528938654728,6.19190554505257,6.02045962596488,6.00431920355596 "1633",8.92594512122304,8.88483018599364,8.52043656504386,8.52579897824946,7.82932069098373,7.72317435879869,8.01055890115653,8.06284235810606,8.20220303234597,7.97661580669704,7.88056001282118 "1634",10.1613661943829,9.97021312777052,9.70102070426738,10.5879727956113,10.8401344001428,11.0964863535385,10.6101217395791,10.7454326067531,10.7943988375969,11.1304635789403,10.9283311851977 "1635",6.70973609194007,6.2502356334542,4.53109727184687,5.17721527231849,5.8974681997572,5.55881082326398,8.54928418681421,8.48567486574497,9.2638868327425,9.21634050081745,8.72696554222553 "1636",4.90198673375679,4.52173032050244,5.49810773191112,4.45117694514122,3.9890115841535,4.48644669672571,6.18607814866558,7.60331701934405,8.98082366806132,4.99188585377266,5.82675902967033 "1637",4.38318186180789,4.07560683285484,4.43062166511718,3.54830022377166,4.16918380110659,4.14782244847307,5.10151945545351,6.28964009345038,5.54809236335654,6.79745975501333,6.65445304833965 "1638",6.30508607877896,5.92242988896713,6.65871092362578,4.80590313991191,5.65499240986345,5.88248359145759,6.31282720400235,8.37574128442402,9.88794857527391,6.78548965119309,6.79046862306178 "1639",6.72372275293425,5.97975507916984,8.35108438866855,8.4447344449981,6.94848101549024,7.45371945467911,5.22742614345585,4.96000670487273,6.0809226256391,6.04117709694692,5.30807251233407 "1640",5.20160456221532,4.85503985708184,3.54830022377166,3.54830022377166,5.12418767680969,5.12270292620239,5.74090997444246,6.25098415102327,6.31421497718848,6.65983847795381,6.48930028701799 "1641",7.11086380579525,6.84114530884511,6.3694482360058,6.07729316885177,7.0486043849577,7.38429208622585,8.59179063704516,9.43898287278083,9.01939913961722,9.85869998098195,9.73815753648463 "1642",6.08114303943217,6.31026098422839,5.92211619827359,7.51098295473774,6.47529295316335,6.03051736948815,5.41158127901156,4.96000670487273,4.93015836537268,4.58944936008883,4.93274810645829 "1643",11.1625996285732,10.9942469989826,11.1348427014765,9.31057993695347,8.89269315381452,9.54237729955176,6.56521215361864,6.48486391434508,6.10385346314284,7.34445723975138,7.97095603628191 "1644",5.94145031362918,5.77824442532879,6.55712549554688,7.11248315845808,6.85466595400314,6.3424578003934,5.34122790279734,4.96000670487273,4.98704716969574,4.83852784420667,5.37741497761244 "1645",6.4646125355193,6.50195896005358,5.28833257709998,4.94419410387592,5.78180236170589,5.80182700427773,7.40092272496691,7.29375535725525,7.08828955603528,7.31991758798775,7.3798786193489 "1646",10.400515964635,9.40735051558685,10.8358304675282,8.23945869170488,9.1741038886182,9.95517269379991,11.7506963075482,11.7735848591609,12.5149450371369,11.9564211371112,11.8553271505319 "1647",5.78549346301469,6.05258163906458,6.6256602057308,6.7618541533593,5.86948201497142,5.77381127177675,5.10151945545351,4.84495354750819,5.14207053784841,4.23818768541642,4.23274464232371 "1648",7.85975257570908,8.21877256502565,5.80562626524342,6.74584694884066,6.82667759155909,8.00861716750595,9.9062571150998,9.6035791831445,8.52883814354876,9.05800395022448,9.41991198649254 "1649",6.76486804778371,5.99833314874529,6.60883822823196,5.61488371433785,6.0785626727083,6.58120453943995,6.50627320246526,9.05080015997564,10.8563307468847,6.47762432452458,6.21567278468669 "1650",8.10686676058028,8.03070215418876,8.26361165206592,6.59294157316564,8.17030206884004,8.04272399715675,9.27186155701844,10.0456032989481,11.2571458261873,9.00536960336184,8.94957879166079 "1651",4.14270956135568,4.19235554008301,4.77805840635708,4.72904957070584,4.16918380110659,3.54830022377166,4.6718025391129,5.32915405009094,5.7104892060778,5.45650952534963,5.30807251233407 "1652",7.78245739995991,8.12372211241184,7.95732252448553,8.01984006723454,7.13077178661059,7.39315721180163,6.24183481861087,5.94464232625034,5.77015986861159,5.71714885454669,5.85028907707368 "1653",8.42314272660274,8.82320533215313,8.75725805576152,8.74076252402032,7.06063744350186,7.03316008565936,6.57956677089401,6.25098415102327,6.81648699521578,5.08331287740239,5.37741497761244 "1654",5.28634990203998,5.43096210363813,6.1044136676551,4.72904957070584,5.8974681997572,5.77381127177675,6.79127264998927,6.36384896693785,7.42692214584957,7.00752371135829,6.90367688540501 "1655",5.15683916790939,5.43096210363813,6.00327387055094,4.55382476248647,5.65499240986345,5.4175148732471,6.16697714683118,6.34566665396276,7.11060007305094,6.64663319616527,6.54654471787116 "1656",4.14270956135568,3.54830022377166,3.99458687560867,3.54830022377166,3.9890115841535,3.9737401164974,4.35251077174588,4.84495354750819,4.49869474411581,4.99188585377266,5.44305738224905 "1657",4.27379169695302,3.92219398459048,4.43062166511718,4.00522961816383,3.9890115841535,3.9737401164974,4.60239513168466,5.36813953141026,6.62726529325089,4.23818768541642,4.23274464232371 "1658",7.76246497791378,6.62435239480156,7.16175225433513,6.500187110462,7.20845157211192,7.3482709372649,8.42547487931103,8.40186601346683,9.36641456729837,9.11589408122241,8.65831572753727 "1659",5.83953755398429,5.02844590494928,5.19311942679736,4.72904957070584,5.55101777956327,5.59180320170385,5.44531198202201,7.6330983687342,9.34788350791345,5.03853376538012,5.27185771113154 "1660",11.9306313321259,11.5874812070147,14.2981241925831,15.6461077267001,12.905818981061,12.5926877682586,10.9375623819774,10.8837844921859,11.7129963938559,10.9266288378846,11.0088053265618 "1661",7.32658801008734,7.07237672841144,7.48776309257842,6.8690907757931,7.25100929258247,6.51705963771854,5.84257292711029,5.11259910555834,5.74066404330379,5.45650952534963,5.67601085725439 "1662",6.08114303943217,5.66465997975799,6.02927536298391,6.51923699993902,5.75123300751287,5.62396795076569,5.14502080212905,4.27494782787477,4.87007984850553,5.03853376538012,4.82879049046518 "1663",7.96258530413221,7.0202222031051,6.91213390017899,7.75256639760947,7.35215873173572,7.1841457180674,8.96485755259403,9.07803954608352,8.82871505856858,9.15783520787227,9.63805966915697 "1664",6.22781582447258,6.52730961170283,5.80562626524342,5.94024907367982,6.21660807334217,6.16393427299536,7.46352604560399,7.46105825513585,7.83329469564151,7.51258608930794,7.17963333217221 "1665",4.56403575450106,4.45187351580727,4.70273040173548,5.06671461268446,4.41984085544861,4.39026667116431,3.54830022377166,3.54830022377166,4.15581191957622,3.54830022377166,4.10886942232174 "1666",4.38318186180789,3.92219398459048,4.3153118826282,3.54830022377166,4.41984085544861,4.72324945023249,5.34122790279734,5.20403385694408,4.98704716969574,5.03853376538012,5.27185771113154 "1667",9.07624308922366,8.89445010257218,8.88335442456664,10.044874844014,9.65371038929526,8.59172374923758,8.04158992416231,7.04980577540244,7.6482713495797,7.82257122540105,8.0364366243945 "1668",5.63977041271158,5.61629598738969,5.49810773191112,6.48087352776947,5.65499240986345,5.55881082326398,4.85422248960333,4.71540688131158,4.73829774126364,4.83852784420667,5.02750813069502 "1669",5.7291387983615,5.8625403799736,6.07982665675691,6.51923699993902,5.71993474216382,5.29989450830165,4.85422248960333,4.64355114355199,4.87007984850553,5.08331287740239,4.58142223425457 "1670",6.48125799080228,6.47613921847626,7.1033380709653,7.52965741113161,5.39764908336153,6.32372596223563,5.0091772610784,5.28887854364493,5.88196510402005,5.32077713645568,4.88205559019666 "1671",7.93309723216525,7.43905735481468,8.45227747610215,6.80881348613757,7.54378065752809,8.45080410064663,8.1163568830024,10.1273826487692,12.105792034106,7.89062355127854,7.77229881588328 "1672",8.70685116156997,8.85311435750612,9.14163090824415,7.95236784913055,8.35641076097024,8.07604005576735,9.33365902200752,9.26977795580103,9.617174309257,10.5734723989595,10.2588252088045 "1673",7.70075910350491,7.37149263286689,7.44147763113522,6.95494779097975,7.11932032558298,7.2829606782929,8.53845857842735,8.61410847520305,8.10056744725694,8.71818371538311,8.90179725175704 "1674",3.97008655127665,4.07560683285484,3.99458687560867,4.19185126479166,4.68891224809943,4.39026667116431,5.57184698087463,5.11259910555834,5.2787215413229,5.35613896259166,5.30807251233407 "1675",4.95788009688626,4.45187351580727,5.33324863235043,5.49895646334672,4.95881094319955,4.79051865717914,4.52717022062621,4.27494782787477,4.28967224937531,3.94912244603611,4.10886942232174 "1676",8.04207007199915,8.12781056648451,9.32293901495519,9.32662758457591,8.44115306687373,7.91962981770912,7.2039544662764,7.30306692115969,7.18604166357848,6.92284225377397,7.07751845829569 "1677",7.13188235112925,6.42301817472768,6.24330683421088,6.98244809672181,5.8974681997572,6.44982545987761,5.30447425058107,5.6114347801117,5.64795953546789,4.83852784420667,5.53547894831993 "1678",4.90198673375679,4.64642175332692,4.84809592326134,4.45117694514122,5.17436496058539,5.37954658604057,5.10151945545351,6.65607019101962,8.22779679934345,4.72200141940468,5.19596301279726 "1679",4.56403575450106,4.28998746829493,4.77805840635708,4.80590313991191,4.51917288855208,4.39026667116431,3.54830022377166,3.54830022377166,3.97945053140578,3.94912244603611,4.10886942232174 "1680",5.15683916790939,4.75624419227938,5.74329962514772,4.87732981549012,5.8974681997572,5.82926094386062,5.30447425058107,7.6330983687342,8.79831648860563,5.60778853118367,5.67601085725439 "1681",6.69560900497096,6.26548881224496,6.48505898608019,6.500187110462,6.62980875551585,6.26595636830419,5.7142170410774,4.90404046812327,5.58225280059011,5.51920250319321,5.44305738224905 "1682",7.5139458127215,7.60110366775506,7.44147763113522,7.6282272411301,7.0961370359168,7.53601635244709,8.77815117516067,8.65086939081869,8.13344570604696,9.14166946209558,9.28573859492151 "1683",5.2447303988107,4.98762515666861,6.07982665675691,5.68673393056132,5.35616394241025,5.4175148732471,4.6718025391129,4.56562326784538,5.09271807264536,4.58944936008883,4.23274464232371 "1684",4.56403575450106,4.28998746829493,4.43062166511718,4.19185126479166,4.51917288855208,4.85356377363824,4.44463567927867,5.67318746075466,7.24766993451312,4.89214603725089,4.50758419823284 "1685",12.1138867007225,12.0035821765096,10.4697138967244,9.25296328432148,11.9837641532992,11.3372118728498,12.9674378951939,12.5630277286336,12.4523728204128,13.2027572093534,13.051494998985 "1686",5.20160456221532,5.71128495209926,5.33324863235043,4.87732981549012,4.16918380110659,5.02279148452906,3.54830022377166,4.384503533957,4.40133275723348,3.94912244603611,3.54830022377166 "1687",6.32374568039042,6.29549777878735,6.57457614518915,7.12485544624734,5.95174206023759,6.3424578003934,5.57184698087463,5.28887854364493,5.7104892060778,5.42394699629378,5.37741497761244 "1688",9.71250021386941,9.85920471573528,10.1510950318711,10.5924029252478,8.86911030314915,9.93416718968716,8.50548464257947,7.97268388566016,8.72119128520223,8.30201315104198,8.0608476856796 "1689",4.14270956135568,4.28998746829493,4.17697833106617,4.45117694514122,3.9890115841535,4.48644669672571,4.85422248960333,5.40592556224865,4.87007984850553,4.94316935660089,5.23451608884748 "1690",6.90623264032249,6.56449352089582,6.95249236326906,7.19691200194374,6.17212405558635,6.26595636830419,5.26656920680189,5.36813953141026,5.74066404330379,5.69066019077603,5.80280358265392 "1691",7.6580951815487,6.86109848575082,7.19568362250554,6.74584694884066,8.15922138702639,7.87613679170512,8.8528512163048,8.57638455694447,8.86827382877781,9.25549663245181,8.98822109939604 "1692",14.012424210469,13.8152621944542,12.7233424487871,11.2966436362897,14.1733843920817,13.5904361815556,15.0021599130275,15.3053162239254,15.2115430876822,15.4540925201786,15.2409092606321 "1693",7.04587689925286,7.41241355458718,8.8519686499773,7.4825061660954,7.56917419730132,7.16353289372454,5.7142170410774,6.62645817772809,7.56218085650794,6.04117709694692,5.70237141167859 "1694",8.94966060830439,8.16806811621291,8.39047762394281,8.43982074822052,8.60109397713546,8.78188197714197,7.1285243154726,7.41889512543373,7.57822351135499,7.54113951340933,7.13412390184023 "1695",7.62154523715292,7.50986682441842,6.69100174166885,6.88376684868542,8.63345791261423,8.09241288324656,8.67321521953444,9.08073538378508,9.33382721422762,9.54781093949459,9.35832356990148 "1696",9.61949451717096,9.45199352418595,10.2426349548821,10.9422273543803,9.745344852182,9.74896080288785,9.06878279256704,8.63627742885038,8.89085796611533,8.47431916237521,8.40758888068319 "1697",6.32374568039042,6.57667169534873,6.6422828401053,6.88376684868542,6.12614548408454,5.95853781919032,5.7142170410774,5.11259910555834,5.47688516711479,5.60778853118367,5.19596301279726 "1698",5.06174854283329,4.58626187939733,5.418413249836,4.72904957070584,3.9890115841535,4.27998953468607,3.54830022377166,3.97076798325069,3.97945053140578,3.54830022377166,3.54830022377166 "1699",7.6141220077179,7.50986682441842,8.44294080738284,6.7132762502854,8.67291616608744,7.85708585459775,8.47173775949188,8.87557635038211,10.236564712607,8.5980244801631,8.89638905447111 "1700",6.14593937760047,6.31026098422839,7.55883943959597,7.74460433271526,5.9248799958122,6.48384779798115,5.6591344389259,5.91986195230456,5.908506347799,5.35613896259166,6.06529256597428 "1701",8.16886822106531,7.5035725037108,8.07088217728514,8.58484897985037,7.3024800928342,7.65121758975865,6.70254524427502,6.78210893022942,6.64275977322472,6.67292076434787,6.96749404277538 "1702",7.4062246804254,7.78863328715341,8.31570786320985,7.51098295473774,7.32255949543924,7.07795937095772,6.02521051972577,6.14930149609275,6.33358512450331,6.72406551931629,6.25082171740127 "1703",6.77832045411394,6.23481148737354,7.76062562001257,8.29494927890826,8.89936082225207,8.47596247210777,10.3076208032781,10.2304830095673,10.2627619133003,9.5824367215715,9.22664350451674 "1704",6.96609768642662,6.44983209581372,5.67786163365234,6.35900025183662,5.31322437542958,5.21461805136393,4.85422248960333,4.90404046812327,5.09271807264536,4.78196079501175,4.64957162869111 "1705",8.96428701282416,8.69419235782008,7.25049947825418,7.35209951399502,8.7264024121503,9.08671501849846,9.62707559696575,9.75298881703293,9.19557115181322,10.0365380478877,9.99618854242047 "1706",9.3434130426965,9.65515222938907,9.07373303535067,9.97024010674136,8.53837850906431,8.89807016610478,8.58479279259061,8.06284235810606,7.78578159383681,7.36058577694695,7.64229261323216 "1707",6.49770703607465,6.32486807052967,6.76862797768596,6.22535759709578,6.32190141837547,6.26595636830419,7.27559076168853,6.99325413025103,7.56218085650794,7.56913446046745,6.85947565463405 "1708",4.27379169695302,4.07560683285484,4.3153118826282,4.33331678257734,3.9890115841535,3.9737401164974,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166 "1709",9.43234559589316,9.62370030411594,9.63906176806089,9.7598617605293,8.89936082225207,8.88248240346106,8.58479279259061,8.27095780233231,7.28732333848181,7.65651370055754,7.93969720762546 "1710",11.6866871178468,11.350910838575,11.1964957622858,9.95139317453318,11.5313005503714,11.3598897142892,12.3697397961334,12.4583919351767,13.1704434845483,12.6937583424785,12.4972897461358 "1711",4.38318186180789,4.19235554008301,4.97546638098356,4.33331678257734,4.60803438435701,4.79051865717914,4.736433099266,5.86887992335646,7.05415311319903,4.23818768541642,4.50758419823284 "1712",6.73757181762199,6.87097044509682,7.05481513202291,7.39350664654034,6.40071463600213,6.26595636830419,5.34122790279734,5.86887992335646,6.46208792210859,5.66362134495617,5.64910430920177 "1713",7.90299095098025,7.55316853224875,8.00255715830206,8.08428546657848,7.51792847698878,7.2829606782929,6.95357030268435,6.36384896693785,6.40846469499631,6.50724974565549,6.84820604888636 "1714",9.85111755064988,8.99623582398591,8.73065814168617,7.61954148426211,10.2517460094845,10.0558426568787,9.79402160381424,10.6785204081957,10.8644996441878,11.2739833315499,11.0062984869392 "1715",6.44776575987266,6.1384379945953,6.842202056127,6.67993380946733,5.8974681997572,5.98296049015383,5.0091772610784,5.40592556224865,5.82724139574683,5.32077713645568,5.34323580728863 "1716",11.4840045677406,11.6047878674199,11.5045325479262,12.1900829562678,9.53246358295075,10.4443810567441,9.60131907626226,9.36130201033288,10.5680200103715,8.88843092348367,8.24250996755826 "1717",6.49770703607465,6.77953658567835,6.4664454336334,6.12845239811469,5.8408949819472,5.98296049015383,5.22742614345585,5.11259910555834,4.93015836537268,5.24679677984632,5.53547894831993 "1718",9.24144597083784,8.60616960519582,9.22292047699177,9.62579936902947,8.66119178023119,8.59172374923758,7.7156042158484,7.61082060400285,7.79266627085719,7.89062355127854,8.01660473495846 "1719",11.6166976944011,11.4364858751636,11.1713029106114,10.1864043059963,11.5541782925045,11.3497287776224,12.4312035267737,12.4651104384351,12.6417902870243,12.9702632184567,12.7442380738454 "1720",7.84081557285448,7.65885108897803,8.14765331852147,8.4447344449981,7.93712914351463,7.50366343129384,7.15728100924063,6.96998692311962,7.06562328853505,6.61984398459466,6.96749404277538 "1721",7.96841095917285,7.37839469988386,7.65114285598963,8.10306875627533,6.9223050852912,7.55980996663979,6.8747483721195,6.32724232099688,6.46208792210859,6.56467909886764,6.69287089323447 "1722",6.70973609194007,7.12268466075142,7.35418850759407,7.52035064472625,5.8408949819472,6.46694048896454,6.24183481861087,5.57941184941936,6.0809226256391,5.24679677984632,5.7784057768884 "1723",6.76486804778371,6.71511304341416,6.81323095846476,6.95494779097975,5.8974681997572,6.05368293120384,5.84257292711029,5.54656694097749,5.43971219929874,5.24679677984632,5.53547894831993 "1724",5.6085567987359,5.64070422642102,5.83571964842533,5.57739919796435,4.76343465978073,5.34037022736344,4.6718025391129,4.64355114355199,4.15581191957622,4.78196079501175,4.64957162869111 "1725",9.35677521175209,9.35607005394587,9.38271089442534,10.5746001851024,9.07747539658943,9.66219728931869,8.66328536134882,8.54547731527454,8.5971603726586,8.56375114679346,8.46720050786154 "1726",7.35362998324763,7.64176993636721,9.34313956136319,8.70026017388439,7.33249425050712,7.36639506661982,7.00730249805654,6.67064525579817,6.74668576793685,7.10672969928564,6.71791173993668 "1727",11.0683112309554,11.0092581694033,11.4641891121135,12.1174032364599,11.4006013108024,11.5429588630952,10.0578677412391,10.443318934766,10.3041928419951,10.1516820780224,10.4247748210679 "1728",15.8651761265278,15.698506133824,14.4197320630678,13.7759612017629,15.0308666466586,15.2262062014565,16.8292261934018,16.4479457785738,16.4831852033304,16.7187758720908,16.9084333479057 "1729",5.20160456221532,4.85503985708184,5.74329962514772,7.30945573857209,7.11932032558298,6.59679162433492,8.45264192153166,8.14767719888998,8.93809257546283,7.24366012261119,7.01856456429921 "1730",7.48165658586729,7.08088598802114,7.65924649376092,5.81955380472203,5.71993474216382,6.36093948153758,4.95996179375818,4.384503533957,5.79900900802131,5.48824617712437,5.67601085725439 "1731",13.2029935626366,12.9972456841816,13.7897162778288,12.9039595071776,12.3418235759339,13.8285498278394,11.1508164103089,11.3959558642928,11.6229342215282,11.4016029977238,11.9375555402804 "1732",8.06399516372781,7.71979593342229,7.292883496079,6.98244809672181,8.16477240153267,8.22205422548611,8.93766153499191,8.51787831724872,8.86175566418259,8.8939573315093,8.89096048265395 "1733",7.74218994995742,8.16010627518426,7.84114335871757,6.88376684868542,7.58585641340158,7.95588896825643,6.9644808674606,6.79544173688354,6.170418516415,6.64663319616527,6.45977249775491 "1734",5.36552087758783,5.45916336990591,6.52155702075574,5.911083037832,5.26870826387192,5.59180320170385,4.95996179375818,4.84495354750819,5.14207053784841,4.99188585377266,4.77260190574687 "1735",7.4062246804254,7.30782520211643,7.27184892251145,7.6282272411301,7.10777592294117,7.05573632290516,6.47584372686925,6.30856916803684,6.65808508296573,6.53625939289495,6.16120146958576 "1736",10.3084113589927,10.7618933730963,11.9815839726847,11.6030565680888,11.0964944353902,11.2100553909159,9.31476242168429,9.81094616717967,10.5035736953901,10.3405041097957,10.1265674565603 "1737",8.80113384044839,9.03153606936948,9.44711921516415,9.61277225789441,9.18505756700931,8.61455494269459,8.01055890115653,8.28973789808864,8.11710056757884,7.95029214946031,8.14087463751511 "1738",3.97008655127665,4.07560683285484,3.99458687560867,4.00522961816383,3.9890115841535,4.39026667116431,4.35251077174588,4.90404046812327,5.77015986861159,4.1133546816754,4.10886942232174 "1739",4.27379169695302,3.92219398459048,3.54830022377166,4.45117694514122,3.9890115841535,4.39026667116431,4.24697193895882,5.44259274699673,5.43971219929874,4.72200141940468,4.23274464232371 "1740",10.89754848539,10.5928215564738,10.6728583066878,9.95139317453318,10.8530647088508,10.7424167869573,11.4101010407,11.7458405099191,11.8126179352764,12.2212319679426,11.993049575545 "1741",11.2928175594928,11.469825786875,12.0220730243909,10.8247710982627,11.3246579157841,11.7596953914644,9.72095812175693,9.45983836385428,10.3409582070826,10.1539858201412,10.5531228712604 "1742",5.20160456221532,5.59141601637692,5.94971686400677,5.68673393056132,6.59691611192018,5.95853781919032,5.60160582989158,7.04980577540244,8.14424013099273,6.25041016925578,7.16160377756596 "1743",6.43071256109461,6.95684952108781,7.12699231844794,7.35209951399502,7.0486043849577,6.51705963771854,6.27778796454801,6.30856916803684,6.14858873074286,6.15925383687877,6.10447007721142 "1744",7.80868781103513,7.7519780301127,8.03401726116649,7.51098295473774,7.83630119781304,7.70906906148302,8.69936495459898,8.35805755288573,8.56139393720079,8.89119677690189,8.65831572753727 "1745",5.2447303988107,5.66465997975799,5.14246728046542,5.2287614540209,4.76343465978073,5.16956541079112,4.6718025391129,4.56562326784538,4.49869474411581,4.43350024566452,4.33623189839069 "1746",13.7011000605505,13.7283112626235,13.2400539503337,12.6511680884053,13.0200987019047,13.7710181237288,14.717706178582,14.5800664119044,14.4492807527995,14.9633367015748,14.9979925967439 "1747",8.69286396864584,8.74293773884929,8.29509519727085,8.15798950518304,7.82932069098373,7.61383736342438,7.34380053331067,6.65607019101962,7.00732291632297,6.94449163271205,7.13412390184023 "1748",10.0791270825946,10.2981977940488,10.6965973516694,10.6099886315549,10.0313151746374,10.2745394871439,8.93491349024959,9.18463207250417,9.39377208808905,9.05554066297361,9.39903636722169 "1749",6.43071256109461,6.60071482461707,6.00327387055094,5.72122142567301,5.97807741409379,5.90831820478849,5.14502080212905,5.24721063577333,5.47688516711479,4.99188585377266,5.41067060124599 "1750",4.90198673375679,5.27939455545772,4.70273040173548,4.72904957070584,4.60803438435701,4.39026667116431,4.35251077174588,4.384503533957,3.97945053140578,4.23818768541642,3.54830022377166 "1751",6.57716568849045,7.10611233977898,6.96569370017792,7.04895326229142,5.78180236170589,6.1208982606487,6.06724579431514,5.57941184941936,5.09271807264536,5.79354444200787,5.7784057768884 "1752",8.82377098888572,8.43208953824116,8.8519686499773,8.40494701939154,8.58463511053843,9.0730488670442,9.67230886902711,9.34120976599466,9.77633259967052,9.96355243454099,9.70761674063984 "1753",10.131882991525,10.5409659508172,9.84075334360266,9.64298778595322,10.5473751559132,10.2296832533598,9.54658497995417,9.6677244488771,9.32911116354697,8.30201315104198,8.61615659062979 "1754",4.14270956135568,4.28998746829493,4.43062166511718,3.54830022377166,4.16918380110659,4.14782244847307,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166 "1755",3.97008655127665,3.92219398459048,3.54830022377166,3.54830022377166,3.54830022377166,4.65095609464182,4.24697193895882,4.56562326784538,5.51298978105205,3.94912244603611,3.54830022377166 "1756",7.12141189966566,7.14718668390845,7.4968431193467,7.7683591412928,6.97418217090216,7.04449306397312,6.71556798592224,6.30856916803684,6.57972732505406,6.47762432452458,6.5038329404406 "1757",8.20383833467636,8.15210010208921,8.97360736585661,9.01290091543137,8.34667938075994,8.45923917335987,7.60207136474824,7.76667701711235,7.6097795074534,7.78729539643327,7.86399978207374 "1758",8.59472142415232,9.22118423120942,9.06159116894216,9.31862608864839,8.50814944726084,8.39473726108431,8.42155167513461,7.7327134765569,7.83995565728055,7.58292930028579,7.68065568496471 "1759",12.1350377595751,11.8038011347952,11.295030532424,10.2382133905548,11.9790535708907,11.9828330648636,12.6808978287588,12.6820376706928,12.5664281417946,12.8233291303743,12.661423204421 "1760",9.6083666485789,9.25703938444218,8.97684390628987,8.63728771700357,9.2902464771578,9.38318449498047,10.2797491271099,9.99649851058688,10.0727636718997,10.2911239163308,9.99745144583959 "1761",5.54375559944074,5.37256333406501,5.94971686400677,5.12329148338679,5.39764908336153,4.79051865717914,4.24697193895882,4.64355114355199,4.58582955381605,4.89214603725089,4.58142223425457 "1762",4.64185256734797,4.85503985708184,4.77805840635708,4.45117694514122,3.9890115841535,4.14782244847307,4.24697193895882,3.54830022377166,3.97945053140578,3.54830022377166,3.54830022377166 "1763",8.53324147578573,8.925278561258,8.63553853876001,9.57744673911345,8.50377872850389,8.05947856562951,7.83268681209922,7.66227324458249,8.23286135054098,7.74501307825584,7.760412854722 "1764",5.78549346301469,5.79982726714239,5.37656757260563,5.45783152550403,5.01670287124879,5.37954658604057,4.44463567927867,4.56562326784538,4.80633145078724,4.99188585377266,5.02750813069502 "1765",7.63627728800101,8.30432224226678,7.68328605018914,7.23161767463632,7.38115686904418,7.02173592168141,6.83957525877219,6.71348502662476,6.71776773269749,6.04117709694692,6.21567278468669 "1766",9.10820161706189,8.59145463094754,8.47992954291371,8.31655976426157,8.80663459020419,8.86672416809913,9.49902069811314,9.55401046497915,9.50038808177752,9.80400303037394,9.63805966915697 "1767",6.5459221304447,6.65907835489105,6.75344123428011,6.500187110462,6.00390758948263,6.07645934003377,5.86681368403009,5.44259274699673,5.54809236335654,5.69066019077603,5.41067060124599 "1768",10.1162578320045,10.0182786714839,10.3236375625639,9.47558756262761,10.0083790159967,9.8291747457824,10.6658473217246,10.8391254337298,10.622984245595,10.9775895531969,11.0025300406785 "1769",6.16687195712651,6.29549777878735,6.842202056127,6.38006970713804,6.14932815941719,6.51705963771854,5.60160582989158,6.08445307616774,5.43971219929874,5.74311119877536,5.80280358265392 "1770",5.98963878082147,6.20343391361201,6.15229533335878,6.46128859958821,5.17436496058539,5.74518636420907,5.05629560314322,5.51285175027105,5.43971219929874,5.24679677984632,4.93274810645829 "1771",6.90623264032249,6.68176093353336,6.73808903630757,6.88376684868542,6.49332967836598,6.59679162433492,6.44473499605013,5.91986195230456,5.77015986861159,5.91180974276632,6.06529256597428 "1772",8.99595192316531,9.22500072871327,9.76978352477433,8.48345162915246,9.42569970653418,8.75815964029826,8.41367303977394,8.00715966731889,7.93010232792828,7.90165843969665,7.9606118310761 "1773",4.47860358440826,5.14270022719375,4.77805840635708,4.80590313991191,4.16918380110659,4.57254454079382,3.95429096793669,4.27494782787477,4.15581191957622,3.94912244603611,4.10886942232174 "1774",11.4681934238305,11.7369072681361,11.8076614341433,11.9775046091329,11.8499868655915,11.855367116264,10.8278440117513,10.6838473129912,10.8448160153471,10.7657345922088,10.7465221291098 "1775",11.4459709316734,11.3661064784234,11.1839543293431,11.4971835428065,10.6713046010989,10.483116443134,9.72095812175693,9.75636416028854,9.48351096700676,10.1377818174139,10.2040901627596 "1776",8.29930825531523,7.91712847035902,10.2127625151718,8.5071315389524,8.11402443253493,8.21210233615098,6.97530809965684,7.97268388566016,8.26287979822327,7.10672969928564,7.21502181493005 "1777",11.7176469470303,11.4766423336235,11.162096276883,10.6099886315549,11.3637317427805,11.5295186337014,12.5952144895438,12.3785191609837,12.2017590185244,12.2348973669561,12.157968785498 "1778",8.63185477661566,8.89923608373775,8.40497645878454,8.79945776033231,8.60517946822245,8.97063030792545,8.21489949277023,7.87648532555971,7.76492707029667,8.02281595836473,8.08960396420665 "1779",4.38318186180789,4.28998746829493,4.77805840635708,4.94419410387592,4.89765324881629,4.85356377363824,5.47815535844696,5.54656694097749,5.36185741525923,5.390508541124,5.15610281821546 "1780",10.0710445921638,9.80287800498316,9.74532901834701,9.19586296104993,9.79086059534043,9.66402116960109,10.3505065037333,10.3187351761478,10.4251086751813,10.7275773224452,10.6177771806837 "1781",10.4407985372774,10.5470746127998,10.4765862656926,9.79680567166552,10.3388972262824,10.8015976632163,11.3567173617648,11.1942448672014,11.3836006296077,11.3923646853332,11.2972837300093 "1782",11.1663976718083,11.1101777871795,10.7238080093946,10.0187782754445,10.9428913233397,10.8408196220296,11.5682225396381,11.5838557439872,11.5165427379431,11.8763764694448,11.6606447895598 "1783",6.98935314955684,6.84114530884511,7.6753175822824,7.39350664654034,5.8974681997572,6.78509433379566,6.14760569582541,5.89461424683779,6.27464010390549,6.33590070251447,5.82675902967033 "1784",10.1927440612404,10.0753998029877,10.0363946955327,9.39417451251257,9.79979386947491,10.1538411773816,10.7766077511338,10.585765953672,10.582949134613,10.9651811318267,10.7651764520305 "1785",11.9911295659427,11.7511980423562,11.9819864907799,10.8999643972234,12.6706928555266,12.4575466929499,13.06925580767,13.1109754348644,12.809411369495,13.3888211030971,13.448482293088 "1786",7.25186604368027,7.47167867409579,6.92571489804902,7.4237930007383,8.11975236897153,8.0200763006083,8.71226392420413,8.8536731198127,8.64730351835059,8.28106062717419,8.53143916573651 "1787",9.23422384642856,9.12641921347621,9.42122511612406,9.52278088673235,8.73388372286726,8.81181917028021,8.49805340169281,7.97848761281659,7.87280451798811,8.37896109446497,8.45620975321545 "1788",5.67024772270509,4.64642175332692,4.17697833106617,5.41530931619833,4.83273793005469,5.68598866291392,4.6718025391129,6.94633149740552,8.21761388082079,4.65808106126267,4.58142223425457 "1789",10.3198249701831,10.2027520073997,9.99231546772547,10.722384457189,9.97090519327531,9.7541070242702,9.40487799596028,9.40497364214555,9.4360537457736,8.83771561518564,9.28573859492151 "1790",4.38318186180789,4.94522659172497,5.60895207119721,4.55382476248647,4.16918380110659,4.65095609464182,3.95429096793669,3.54830022377166,4.40133275723348,4.23818768541642,4.23274464232371 "1791",12.1641377627267,11.6611390639767,11.5930941254931,11.3121698417441,12.5753457310314,12.6575069255352,12.9471370972551,13.0739261327708,13.2358180339687,13.7825314481078,13.5160101554214 "1792",6.9777730900629,6.39567681457472,6.53945439298437,6.31587444688544,6.34202917570302,5.4175148732471,5.7142170410774,5.73213596531648,5.40139710278378,5.32077713645568,5.44305738224905 "1793",6.96609768642662,6.90978341613101,7.02991772613112,7.26549832774664,6.6134588887344,6.59679162433492,6.55070875443918,5.89461424683779,6.31421497718848,6.17797642034548,6.36723145639011 "1794",5.2447303988107,5.48674339719394,4.84809592326134,6.0509730364866,6.10256195383644,6.22605241805508,6.44473499605013,6.72747987443969,7.67087969468212,6.12102121355555,6.4142723185568 "1795",10.4891142091749,10.4599152073024,9.58708021324594,9.4635438746179,10.7591041747657,11.1126006817934,11.026681098434,11.48102836396,11.1596083886504,11.5847878396465,11.6466284771131 "1796",11.5006475178798,11.9336165081899,11.5173632764706,11.8422309839007,11.8961103210125,11.6817344145438,11.0654954936994,10.8335444300715,10.5438073065288,10.872403518673,10.9329583758862 "1797",8.55660514613917,8.08639315734457,8.26361165206592,8.41499745971143,7.73534120637942,8.09241288324656,7.573997487832,7.21698980922899,7.34481059615764,7.31164305003266,7.68695086985923 "1798",8.29004138613078,8.25659475684565,8.21505537499727,8.14596491795095,7.99439375813141,8.14044133216831,7.45584891455798,7.33971726974428,8.01492283068152,7.20841320868434,7.17963333217221 "1799",5.32657933118044,5.75630205634913,4.43062166511718,4.72904957070584,4.89765324881629,4.79051865717914,4.60239513168466,4.56562326784538,4.58582955381605,4.1133546816754,4.23274464232371 "1800",11.3423423319798,11.3088400180331,11.0952062332745,10.6067076002667,11.2620505320766,11.3666241294166,12.086069925888,12.1332293152403,11.9647409731402,12.0577006425772,11.966214427687 "1801",7.95673592491526,7.55316853224875,8.3807299458979,8.35361427173029,7.35215873173572,7.53601635244709,7.31860235401449,6.94633149740552,7.25768713221877,6.92284225377397,7.19743746588262 "1802",9.09762731201092,8.65510488621471,8.34608353800229,9.25016134975435,9.26981375981382,9.77451021517271,10.2862290184996,10.2545498677056,9.91965896524004,10.494778498543,10.2693182355421 "1803",7.58403828566429,7.64176993636721,7.95732252448553,7.78397989996295,6.66194786109538,6.91455388808087,6.3967273647607,6.72747987443969,6.85676877684425,6.30233725042679,6.5038329404406 "1804",7.86600979372371,7.83942488448672,8.20955763833261,8.09057387490146,7.95647212895258,7.85708585459775,7.45584891455798,7.35769553409876,7.1434230580559,7.33632413531097,7.40304374052886 "1805",9.4428251517902,9.09548034894743,8.02151575744409,8.91012772125452,9.47561622442599,10.0249540325604,10.1244757520262,10.0497355139201,10.0034302734989,10.6836076036696,10.5462363178213 "1806",10.5289964679867,9.8193773637351,10.6127832586713,10.4507592378535,9.62584884037771,10.0928690436321,9.24105280154092,9.03975860772135,9.28838937679224,9.31436787075556,9.4404896702949 "1807",12.4148694966034,12.3190250837364,12.3154048093691,12.1027279162835,12.3981928194462,12.5348187773842,13.5246946783023,13.61133558551,13.4534301944036,13.1438560558457,13.0595271447239 "1808",11.6586481070049,11.3412767146066,11.4017772072226,11.3321734970064,11.9044155333799,11.8449555900978,12.5149638758507,12.4110008191343,12.8994207790286,12.8475474195887,12.5914432287993 "1809",9.89298525070287,9.39045887341252,9.34814578196487,8.93127708600914,9.56006834714976,9.74551975811692,10.0704368785326,10.0007736190318,10.0166867034404,10.5047404228673,10.3226845039817 "1810",9.80475209083741,9.73626300965745,10.5500972253581,10.1250400309606,9.94858722450983,9.65854259390117,8.95945925325364,9.32311185195656,9.4749977497596,8.92937142458081,9.12165494744947 "1811",9.08429939732663,8.68867295787343,9.00881571426146,8.55789570611588,8.92245765521426,9.28703316267839,9.38287162416211,9.53840928967128,9.48138737018686,10.0440102103508,9.79446140192259 "1812",6.56163112081637,6.69296641160022,7.35418850759407,6.67993380946733,7.54378065752809,7.47056196813253,7.16673889189749,8.11117639548181,9.30048623241045,7.26953491887482,7.24099805435479 "1813",7.99719002784986,8.05667410912017,8.19293719425165,7.91030878238794,8.09088168598226,8.19704417881253,8.69612208256586,8.66890387143113,8.81528370303178,8.711938647811,8.69616606302557 "1814",4.90198673375679,5.37256333406501,6.02927536298391,5.06671461268446,4.16918380110659,5.16956541079112,4.24697193895882,4.71540688131158,4.49869474411581,4.65808106126267,4.10886942232174 "1815",12.0228992014936,11.7525202480163,12.0747266831193,11.4120329486302,11.7186274957976,11.9450869436447,12.4798285841023,12.4521623463923,12.6585641121819,12.8718907190766,12.6606263682154 "1816",10.2185840067366,10.1665067322847,9.49755277875696,9.66629224542391,11.1259139903073,11.0971613899432,11.336047848844,11.3954148313752,11.2008382421131,11.7901481810308,11.6538538729873 "1817",6.41344763352842,6.436489745233,6.40906331257205,6.27135914474364,5.95174206023759,5.85613856012376,5.7142170410774,5.6114347801117,5.58225280059011,5.51920250319321,5.50541836722824 "1818",8.10686676058028,8.14404909879108,8.50257399714653,8.02641622832246,7.02422802117677,7.43667618963523,7.3685617108551,6.79544173688354,6.98331532425672,6.55054143952896,7.0483473674609 "1819",9.64149591140938,10.0626633951141,9.94684653120231,9.55037284481071,9.77101041442592,9.79462877482363,10.7210951431721,10.4651395697116,10.0196161035031,10.5173205410373,10.6153116927371 "1820",6.88155947257217,6.38180153379745,7.81238425409674,8.96585054709072,8.65726234647678,7.65121758975865,8.8702173252855,9.26267360632071,10.344466915175,8.7671928843009,8.18594905456206 "1821",8.96137358383928,8.71062478445257,10.2277760656984,9.28890137381995,9.11232399251591,8.54097821295531,8.65328656795213,8.0296923264924,8.26287979822327,8.28106062717419,8.42648407647303 "1822",9.91873618658208,9.76537703332081,9.65530777713465,10.0138321633456,9.2568946714634,9.17123773748359,8.85576014189131,8.28973789808864,8.93499131704814,8.96393603413996,8.92853790016112 "1823",5.06174854283329,5.34229206882021,4.70273040173548,4.72904957070584,4.16918380110659,4.39026667116431,4.12059456186923,3.97076798325069,4.40133275723348,4.1133546816754,3.94592105499445 "1824",9.72113489363209,9.64236833355577,9.8011493207159,9.95483825853276,9.72860104721336,9.79296290617173,9.13970253090466,8.98899728994135,9.14547951934644,9.1669920263841,9.15373551231987 "1825",10.6950856316813,9.95994693910483,10.4947541061767,10.554305916848,9.62785690165601,10.3295786310692,9.41870916969877,9.24595936073872,9.53356101810585,9.52840629123422,9.47897708223457 "1826",5.8127914775599,5.8828036586062,5.9767616444246,5.53878302118535,5.01670287124879,5.12270292620239,5.14502080212905,4.64355114355199,4.87007984850553,4.89214603725089,4.71305020543012 "1827",10.3038205065332,9.5930242443929,10.3538114393727,10.0720946448098,9.33764417829762,9.78124763374266,9.04349555283395,8.88486247465067,9.03106374334181,9.21413365970055,9.02089293819244 "1828",6.01310160570544,6.35362736879785,6.34920801052001,6.07729316885177,5.65499240986345,5.82926094386062,5.68696720047667,5.36813953141026,5.09271807264536,5.63600666800275,5.41067060124599 "1829",6.10308606649056,5.92242988896713,6.07982665675691,6.0509730364866,5.58662010220739,5.37954658604057,5.18694714265321,5.11259910555834,5.36185741525923,5.35613896259166,5.34323580728863 "1830",6.9184097826443,6.86109848575082,6.67494907374409,6.85426078798228,6.14932815941719,6.3424578003934,6.16697714683118,5.78854419980623,6.0809226256391,6.06158243388933,5.87340967120574 "1831",12.9626212990434,12.6853062196408,12.4430983999004,12.1154807809013,12.9639907756375,13.1296468584842,13.5081607106901,13.497217930588,13.7832376438429,14.0155622286204,13.7027351153377 "1832",5.01103248145524,4.70290661503082,5.92211619827359,4.19185126479166,4.16918380110659,4.96927465433063,4.24697193895882,3.97076798325069,4.15581191957622,4.34246051744749,3.94592105499445 "1833",9.73313724376647,10.0487375094515,9.77164757644416,10.3666170339986,9.40711108425221,9.84533882789174,9.03582204988922,9.19710802628427,9.14547951934644,9.22513423630462,9.34845821359153 "1834",11.8565555533999,12.1878557652864,11.1776424886436,11.1215065075818,12.0128618569733,12.2792780008292,12.8170773609429,12.7298147182214,12.5845905578826,12.594642420145,12.6236922775609 "1835",18.5082094899228,18.5639574521393,18.485931125687,18.422651247261,19.1611630784399,18.7297354238271,17.6949602986101,17.8162325331523,17.7469673753341,17.1330055145406,17.0752046937128 "1836",12.6906109461069,12.8749504472673,12.9874717550779,12.5431854372918,13.0273415097911,13.2190316045518,11.9070654459855,12.4369955107655,12.2235158078519,11.8943988470627,11.8961811270556 "1837",10.957961893005,11.3530914684129,11.3565487827653,10.9543243733077,9.51737765045209,9.8291747457824,9.82995003432343,9.54623097626643,9.835715546093,9.06781521476474,8.87179778841891 "1838",7.12141189966566,7.58331550688759,7.20681678408743,7.39350664654034,6.51113614459311,6.32372596223563,6.46037622252273,6.28964009345038,6.46208792210859,5.99941972064136,6.26806503453322 "1839",5.20160456221532,5.31125124331163,5.57306370014904,4.72904957070584,4.3058722489524,5.37954658604057,4.35251077174588,4.64355114355199,4.58582955381605,4.43350024566452,4.42659789693357 "1840",11.4391845548003,11.0202777083809,12.0507521065548,12.0347764908027,10.7535981281017,10.8790033487224,10.4384620777687,10.2581255111216,10.7745952445538,10.7298954428531,10.2204054290334 "1841",9.73313724376647,9.71063723107715,9.42122511612406,9.41183223874574,9.83150310092978,9.86132375368437,10.20761859135,10.2829098668532,10.5630091024062,10.4220940879257,10.442500380682 "1842",11.1162256214827,10.9401525068745,10.9958629477724,10.4556307141986,10.9143889178811,10.9427344822764,11.3891846910886,11.503293684958,11.6123017609184,11.6632924291039,11.4627559222022 "1843",10.7551682650822,10.3593590684624,10.149662395157,9.79488466982075,11.022117987357,10.903908988624,11.1882006563559,11.2723441341007,11.0642448839579,11.5317455154107,11.4508215808071 "1844",10.0520074266451,9.96907604207921,9.76791706065013,10.4286316847604,9.20671834382287,9.43324232649028,9.28917539565664,8.80884171052989,9.01058831104345,9.1669920263841,9.07933074304389 "1845",9.99191389151711,9.40398798146943,10.0317358420846,9.82343443771926,10.2134850818637,10.5398330715265,10.9667644217543,10.5989846121545,11.0100454207314,11.0330822631869,10.7879777424543 "1846",4.27379169695302,4.58626187939733,5.03393706940664,5.2287614540209,6.23832076740441,5.90831820478849,5.26656920680189,6.59620756668132,7.87280451798811,5.66362134495617,5.50541836722824 "1847",12.4349506155896,12.2104019806673,11.7393067579595,11.9643203433991,12.636949698702,12.2461856849261,13.4258280383562,12.9032851119937,12.8474111363474,13.2874218779519,13.073364425229 "1848",9.63967522847076,9.64806406067315,9.1066052071882,9.23323440751714,9.59948635275869,9.8865367488704,10.1038364049883,9.96475442475088,10.206030606098,10.4325689695077,10.3653700853767 "1849",9.67743501926657,9.60185562240622,9.2119769654714,9.16644161951331,9.49114308354814,9.58728333997202,9.95993660187684,10.1208511460799,10.0239990780804,10.1711475928068,9.93291118936035 "1850",8.34028603840679,8.09477265669579,7.83400743326457,8.08428546657848,7.06063744350186,7.51182049470467,7.15728100924063,6.99325413025103,7.04258956503276,7.09711502715142,7.12484473646843 "1851",8.7480158376311,8.80546730861257,9.55713064863933,9.16346618683754,8.58463511053843,8.45923917335987,8.16881560454319,8.08452505120833,8.66238741374142,8.02281595836473,8.03150425371029 "1852",9.53386381493817,9.43232263115512,9.44010318045549,9.27242581086651,9.45314088417462,9.59495230756155,10.0038475767606,9.95744137163877,9.99303481646617,10.1585822952811,10.1664110761779 "1853",11.4768855014959,11.3785770184901,11.5140271159011,11.1060984486617,11.6872032026895,11.6475808072075,11.8028428955514,12.0018486233142,12.6052107077744,12.5068045079134,12.2051825380428 "1854",8.21367557215761,8.53104329430537,9.02140845011996,8.26191243566259,8.07916907012015,7.1841457180674,7.25801631444024,7.64044796691853,7.67087969468212,7.11627980185974,7.14334294337987 "1855",9.29564541035096,9.30109157426723,9.30502833530325,9.70158341092192,9.79444054788866,9.77619752290114,9.93128074137184,10.1898732234368,11.077658131968,10.4810822248317,10.252492556894 "1856",8.40609122623257,8.99623582398591,9.22564342341327,8.58484897985037,8.87250300493782,8.39473726108431,8.59179063704516,8.20817181988977,7.75085368164779,8.00758038701829,7.95541165781261 "1857",12.6500455140625,12.6188969942606,11.8850263538293,11.9834195272191,12.9068527658714,12.5220565470895,13.1252910027264,13.3357166776758,13.2065566664833,13.3573070501215,13.2570919495157 "1858",8.148496712053,8.37822487079404,8.22598820116811,8.28402107809258,7.66647186177329,7.55192262367988,7.80279003081154,7.02745473035602,7.35417069068958,7.26096204990197,7.41068273578848 "1859",5.06174854283329,5.17839038325611,5.67786163365234,5.61488371433785,6.10256195383644,6.48384779798115,5.18694714265321,7.46934371045286,8.79831648860563,5.32077713645568,5.44305738224905 "1860",7.03475077054921,7.53477084058202,7.41296962937049,7.17329607382823,6.38142750577997,6.30473681676143,6.25992873135254,6.14930149609275,6.56351593648969,6.14027133670331,6.06529256597428 "1861",8.93488422798929,8.74293773884929,8.99611197715886,9.19877233640337,8.14805465040806,8.30865224959344,7.82675707818696,8.11117639548181,8.16028132058192,8.25120476592275,7.93442061415904 "1862",7.70075910350491,8.06522815758222,7.48776309257842,7.04895326229142,7.11932032558298,6.3424578003934,7.10902511762892,6.84754823848757,6.40846469499631,5.91180974276632,5.94046067728516 "1863",8.208765364251,8.07373159444057,9.16167630350474,7.85963022288562,7.96922423053262,7.1841457180674,7.62277144374926,7.21698980922899,6.90875232671333,7.15385172140834,7.26650941086191 "1864",6.37826028686932,6.74769301624946,8.00255715830206,6.82412564138579,6.25969592333039,6.20565743408888,5.74090997444246,5.94464232625034,6.27464010390549,6.21467097356271,6.14255176514714 "1865",12.1783138372847,12.1659442407438,11.4041820554408,11.5641180209852,11.8717512490352,12.2007429757162,12.4948249697644,12.6608100642665,12.3237885431317,12.7217852803386,12.7734629475296 "1866",9.15739664516042,9.14869296983324,9.39001111274137,9.03911289198549,8.89603084465351,8.60318459135047,8.48307484510939,8.24231980078866,8.14424013099273,8.48534897120953,8.36903759883086 "1867",10.8176865349392,10.6249413458153,10.3400600494692,10.2225793446639,11.6065291062851,11.2878042119002,11.5463461366763,11.8178643983455,11.585866772006,11.7526409165519,11.7952443725185 "1868",4.38318186180789,5.02844590494928,5.74329962514772,4.45117694514122,4.3058722489524,4.65095609464182,4.12059456186923,4.384503533957,4.40133275723348,4.23818768541642,3.94592105499445 "1869",9.19260063392306,9.44382990710017,9.04934614773378,9.37886527064805,8.65332216289537,8.73404011564546,8.79643557771855,8.42328012288839,8.41764063031153,8.28106062717419,8.19920039801582 "1870",11.8380220968673,11.7548311960134,10.9766012040698,11.2420047181939,11.716742354388,11.5650846821955,12.0484487955473,12.1129696090002,12.1095771304056,12.3999879212976,12.2677427173163 "1871",11.0871341657107,10.8736579308547,11.032077527505,10.9352689527544,11.2516721554771,11.4930535547644,11.9282793077372,11.7922001072869,11.8774244128039,11.9431630150784,11.8873532953068 "1872",8.87421523233811,8.93928764326807,8.44761671170811,8.51649551299268,9.17959113199586,9.03971153141913,9.33990324806179,9.52461841007398,9.20332363239004,9.5824367215715,9.51822485167951 "1873",12.7366811496489,12.6677186539157,12.7012668754826,12.2121993646146,12.9691466377984,12.87463349685,13.3534999377005,13.3428896395846,13.3007681209213,13.5608944051808,13.5420955601726 "1874",5.2447303988107,5.75630205634913,5.9767616444246,5.12329148338679,4.68891224809943,5.02279148452906,4.90840757914297,4.48006681116437,5.14207053784841,4.34246051744749,4.50758419823284 "1875",10.0061142181453,10.0911637686417,9.49304011024701,9.90939723291607,10.1152905244087,10.4197672878866,10.7727675694788,10.5326301163011,10.6824145941013,10.8786849639208,10.7850558127511 "1876",5.28634990203998,4.98762515666861,5.33324863235043,6.22535759709578,5.81167864992286,5.52494213250567,6.25992873135254,6.14930149609275,5.74066404330379,6.31922086088212,6.47461459538549 "1877",10.0844903567172,9.6762100640487,9.76791706065013,9.18122734977859,10.477839258701,10.6662193877181,10.7941420975974,10.6624206427842,10.1226605854746,10.9684568677354,10.8832749032127 "1878",8.75812579657512,8.96233765996888,8.26890699105095,8.55335403224825,9.02965990602696,9.06754591745192,9.58213421758047,9.45361332897294,9.53560920453725,9.19635624404988,9.12165494744947 "1879",10.1777678462056,10.3766127918053,10.4182904813466,10.28959071822,10.4733799267533,10.2946905350142,9.77264242969281,9.6713051176028,9.84234906815211,9.83304929481779,9.91564669070588 "1880",10.2295181171176,10.3251088629646,10.516035369081,10.0416384782931,10.3740105523279,10.3602723484128,10.8174430959778,10.7101907124911,10.6325826467074,11.040571608715,10.9362544487057 "1881",11.1076913093561,11.2627242312864,10.5918375113073,10.7962517091293,11.0478385568413,11.1848737401894,11.7062900166455,11.4728459208824,11.6888189982871,11.6309963662648,11.5995919052941 "1882",11.633715974894,11.4965063250019,11.1435048450778,11.0240309786846,11.7530655077253,11.9644534411889,12.1026845623636,12.0654674809864,11.9332445417228,12.5459206316018,12.4434092495923 "1883",8.59847814381826,8.58255292698616,8.73065814168617,8.5350427132569,8.5211825515643,8.57241728838446,8.19204213747173,8.23264568134189,7.98520144493695,8.10145181452369,7.98122628200915 "1884",5.67024772270509,5.96091715432509,4.62096009533438,6.29379629231463,5.9248799958122,6.88959297378132,6.63555812986883,6.34566665396276,6.53051842174467,6.96581519237041,7.11550464688 "1885",11.1090075711318,10.872442224156,10.3942961101312,11.0858187443709,11.4215848510592,11.4556428115278,11.7758545745779,11.9300740739706,12.1033781555659,12.011447167236,11.8863312145534 "1886",5.32657933118044,5.59141601637692,5.418413249836,4.45117694514122,4.83273793005469,4.79051865717914,3.95429096793669,4.64355114355199,5.32100047365207,3.54830022377166,4.77260190574687 "1887",10.1852753905492,10.2210164173413,9.62263064852724,9.70976319199083,10.5032162891312,10.1680474097959,10.5250186813751,10.775682394566,10.5468562135162,10.8138764309954,10.7230506441758 "1888",9.37440095493404,9.39723929586054,10.0018750818009,9.04559207095056,9.34498761182278,8.73404011564546,8.94860160770881,8.2756758601949,8.32584747663876,8.63150104027328,8.70547525126569 "1889",9.23663524358812,9.23449800084737,8.69572024895472,9.74401877470986,9.60968288486104,9.67672414853739,10.5805519213902,10.110338829763,10.1892173879068,10.0514438620966,10.0700709147796 "1890",8.208765364251,8.24158501242507,8.55117253298884,8.10927570311387,7.5522953174416,7.63638232466681,7.40092272496691,7.31231811600864,7.32590428280078,7.25233733061746,7.54856942055235 "1891",5.28634990203998,5.59141601637692,5.45889453101379,5.00715176399614,4.3058722489524,3.9737401164974,4.12059456186923,4.14366324222193,4.40133275723348,4.1133546816754,4.23274464232371 "1892",5.40326495224052,6.07019209809631,6.50342732201785,5.2287614540209,4.76343465978073,5.77381127177675,5.14502080212905,4.84495354750819,5.40139710278378,4.83852784420667,4.71305020543012 "1893",7.99719002784986,7.94984469396457,8.62732090455337,8.03296242975768,8.19763587511132,7.40196767134749,7.79065468949202,7.25588912772885,7.58617793580115,7.35254427892487,7.41068273578848 "1894",9.2049680027222,9.04671214626042,8.5897499961985,8.96585054709072,9.16306633832246,9.29882174631299,9.51198158859648,9.57900780107886,9.47713077084185,9.85869998098195,9.7199107802087 "1895",5.01103248145524,5.24667094069968,5.24167748837746,4.45117694514122,4.60803438435701,4.79051865717914,4.24697193895882,4.14366324222193,4.58582955381605,4.43350024566452,4.50758419823284 "1896",11.1155709254141,11.0496167422234,10.7486235627736,10.7583130541367,10.8802679995933,11.2000354155186,11.4486404690566,11.4417416610439,11.4095133039052,11.6757706457424,11.6082964367657 "1897",4.64185256734797,4.94522659172497,6.00327387055094,4.45117694514122,4.41984085544861,4.14782244847307,3.95429096793669,3.97076798325069,4.49869474411581,4.1133546816754,4.10886942232174 "1898",10.1044268687825,9.9251887509707,9.55929065473292,9.72598486915878,10.0834557047759,10.4528448595563,10.6823174745905,10.6543028733142,10.3938424944349,10.6867931330564,10.5870709619866 "1899",9.45115430063887,8.93928764326807,9.29209737834499,9.90406070542631,9.65961132660006,9.75067825124529,9.99068182833113,10.3503460782363,10.0840020013098,10.4737240220392,10.442500380682 "1900",11.6194710897492,11.5893322408741,11.0475438016309,11.2135296762058,11.8839821965049,11.7622512806789,12.0179536226162,12.1162566082981,12.2282712459817,12.3784791597885,12.3046799458792 "1901",5.96576034774202,6.28057493588452,6.30781724882702,5.81955380472203,4.95881094319955,5.55881082326398,5.14502080212905,5.01322721136904,5.54809236335654,5.20801686055131,5.02750813069502 "1902",10.8830034422711,10.7592648079183,10.5446574888696,10.5757193164008,10.8768955099956,10.9100687886125,11.1742948452376,11.271165003006,11.2409224231108,11.4184676087304,11.4885792445531 "1903",7.57641756494067,7.70342991117755,8.21505537499727,7.40367358381682,6.99942575048463,7.41072414123149,6.99671767479317,6.56528938654728,7.11060007305094,6.99721099176041,7.01856456429921 "1904",9.01855167070949,9.1587047342605,9.79566351713495,9.13943900244261,9.12375544281463,9.0536959157296,8.94040434927026,8.64723523700066,8.76377055339133,8.59123476117801,8.50324190481722 "1905",8.47720506147292,8.50300867513983,8.1186091113731,8.19930091953913,9.25429690277036,9.46288270066733,9.23882677549923,9.64605169881719,9.3267473405983,9.33075592918227,9.45711022525845 "1906",5.8127914775599,5.77824442532879,6.12856456325381,5.81955380472203,4.68891224809943,5.16956541079112,4.79704755731515,4.84495354750819,5.36185741525923,4.78196079501175,5.15610281821546 "1907",6.69560900497096,7.39209958961505,7.18446275990153,6.44142432501257,5.95174206023759,6.26595636830419,6.29541878532773,5.81586767921463,5.74066404330379,5.5494201062907,6.28509519859856 "1908",6.86905962463961,6.77953658567835,7.292883496079,6.44142432501257,6.4570197312126,6.44982545987761,6.38034884627584,6.28964009345038,5.96006019369919,5.99941972064136,6.16120146958576 "1909",9.30256702182736,9.09756372903411,8.67194846022544,8.9347719979477,9.6926014088843,9.55028818187975,9.73523853216185,9.82065198812431,9.65157585822036,10.0227377266893,9.94605235493587 "1910",11.0333824948719,11.0458470261148,10.982245828673,11.1749131579842,10.8827922028142,11.4333633048297,11.6708271582091,11.4317505115335,11.6415922130592,11.8143793125117,11.8570671904525 "1911",11.1695550873458,10.8571588106249,10.6477075640718,10.56223209396,11.5880865300129,11.623417210831,11.5945659016003,11.8186717076941,11.7170620438523,11.9916211426485,11.7788149868009 "1912",5.32657933118044,5.71128495209926,6.00327387055094,5.32561057076274,4.76343465978073,4.57254454079382,4.79704755731515,4.48006681116437,5.18940370702617,4.78196079501175,4.10886942232174 "1913",10.5417243432991,10.4271692268957,10.9314648896621,10.2813825805694,10.2094685061462,10.4779423192113,10.042638750676,9.97493080169509,9.71077842706704,9.76685270350634,9.8694913378918 "1914",8.88655510159278,8.97145541761176,9.09175618158335,9.0260664927571,8.20842556768602,8.37703711426079,8.33241949645516,8.04636292844579,8.25294309215164,8.23386186678073,7.96579324541916 "1915",6.75128602916666,7.63026831658569,5.9767616444246,5.8812668252616,5.9248799958122,5.52494213250567,6.27778796454801,5.89461424683779,5.85488481424146,4.78196079501175,4.82879049046518 "1916",5.67024772270509,6.07019209809631,7.09136174566226,5.49895646334672,5.68786865869757,5.52494213250567,4.95996179375818,5.24721063577333,5.40139710278378,5.42394699629378,5.62162634442846 "1917",9.36561501734144,9.11412324227118,8.96711239683296,9.10573373093214,9.09790599701654,9.59495230756155,9.48594225117135,9.57900780107886,9.69620407411954,9.83592200405294,9.80459761115974 "1918",10.1727410195099,10.060529683168,10.0866728219571,10.0956928082743,10.4082894055706,10.7604273622734,10.5213614016861,11.0043552114843,10.6916268266563,11.0110135951237,11.1903699873997 "1919",10.9358804672444,10.8216950215968,10.0332904658835,10.9404908980798,11.5334440830701,11.7067186862812,11.7211116639475,11.8222990195524,11.6108457894592,12.1445359862839,12.1953124784275 "1920",10.4165516229559,10.8185421666135,9.511006661628,10.1553000485733,8.1758105530426,8.34097001189902,9.48594225117135,8.14251919273416,8.60888779655961,8.31030946154284,8.0215884275208 "1921",7.20309499160792,7.01134044782061,7.36415487461851,6.77768161474541,5.81167864992286,6.50055253095265,6.04639115237076,5.91986195230456,6.00970957204651,6.15925383687877,6.33495998760446 "1922",5.63977041271158,5.66465997975799,5.80562626524342,5.12329148338679,4.83273793005469,5.21461805136393,4.90840757914297,4.90404046812327,5.18940370702617,4.51507976905241,4.71305020543012 "1923",7.04587689925286,6.92879793798001,7.16175225433513,7.0227239320402,6.21660807334217,6.54949985976367,6.42891596161512,6.25098415102327,6.59575316118728,6.23265672738425,6.10447007721142 "1924",4.78038542738455,4.70290661503082,5.49810773191112,4.55382476248647,4.3058722489524,4.27998953468607,4.52717022062621,4.14366324222193,3.97945053140578,4.23818768541642,4.10886942232174 "1925",4.14270956135568,4.28998746829493,4.17697833106617,4.00522961816383,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166 "1926",7.98574749251265,8.16806811621291,7.97688346858888,7.63686065552915,8.03740649299821,7.68043517636272,7.66993933350877,7.47758144184037,7.39100943196294,7.30332025620943,7.48490815233371 "1927",4.38318186180789,3.92219398459048,4.43062166511718,4.72904957070584,4.68891224809943,5.4175148732471,4.24697193895882,5.7606426863395,6.83004228012593,4.1133546816754,4.82879049046518 "1928",9.61022726679586,9.36301374875604,8.24760766297991,9.46837342804354,9.85911546353578,9.47540154007842,10.0220800287951,10.0456032989481,10.0298224023139,10.0735176731221,9.87774447273901 "1929",7.96258530413221,8.04806884062945,7.98334503387788,7.71230649981861,7.65070757354956,7.91962981770912,7.87926285401679,7.39298705098007,7.35417069068958,7.30332025620943,7.29157241507968 "1930",7.49789229134066,7.17127399719128,7.76813503017998,6.92690329526043,6.56323269003586,6.71562100072587,6.00369290325292,6.36384896693785,6.73230098090969,6.59253306201405,6.61495454236689 "1931",8.56814634066043,9.02498279704187,8.18735408500122,8.28402107809258,8.07327677468168,8.17159147679936,7.94641071723562,8.10588551053498,7.80633729904285,7.58977720315727,7.77229881588328 "1932",5.54375559944074,6.15497875771609,6.00327387055094,5.53878302118535,5.22247567483854,5.34037022736344,5.22742614345585,5.15921474215736,5.43971219929874,4.94316935660089,4.98115357179952 "1933",14.5353723846794,14.2756728932648,14.1490071087837,14.7142465350626,14.2567518780821,14.5116248252184,15.0987267655368,14.9824892047689,14.9457461032283,15.2873177156675,15.1923559575788 "1934",5.01103248145524,4.98762515666861,5.03393706940664,4.33331678257734,4.16918380110659,4.79051865717914,3.95429096793669,4.48006681116437,4.28967224937531,4.43350024566452,4.10886942232174 "1935",11.7445728272031,11.5180453785916,11.080996963986,11.4703579172185,11.4134608133147,11.8214555019173,11.9095157278848,11.8960563628583,11.863634751705,12.3806936987148,12.2038157277904 "1936",10.3129876465892,10.033588491623,9.88275241409623,9.91294397957302,10.521690393983,10.5137774000191,10.8263627500042,10.6524927039709,10.5549552672106,10.9513412323155,10.7321817385537 "1937",4.95788009688626,5.64070422642102,5.94971686400677,4.64558758720875,4.89765324881629,4.72324945023249,4.85422248960333,4.56562326784538,4.66516704800045,4.51507976905241,4.23274464232371 "1938",11.0103223861425,10.8546983679385,10.9717453129715,10.7885503435012,10.9982603797577,11.2878042119002,11.4282794006561,11.3905363827204,11.3362215618359,11.7094415621966,11.5301805645649 "1939",10.2582769019286,10.0357624029366,10.0625143367216,10.4892780395284,10.6408090083194,10.5066812480375,10.6424685464067,10.8698304209384,11.0521369200091,11.2569389538465,11.0348674422125 "1940",3.54830022377166,3.54830022377166,4.97546638098356,3.54830022377166,3.54830022377166,3.9737401164974,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166 "1941",8.66088714623735,8.89445010257218,8.54245757359412,8.46422319875553,8.16477240153267,7.85708585459775,8.05685771125266,7.90114586667308,8.16558885965438,7.44617784201444,7.67433272987327 "1942",12.2077913388909,12.1069527035369,12.1075617468555,12.2810505968657,11.8404959810701,11.8668920120299,11.4105953714822,11.4713065326682,11.6142407732624,11.5506641073335,11.6324746502835 "1943",9.48602603937168,9.71607010241605,8.92416620596901,9.60621430362675,9.95659763011375,9.7386129387965,10.2223361460872,10.1911207702919,10.0881939016468,10.1366173929728,10.1403524699167 "1944",10.4112261860784,10.4321287650746,10.9389481505796,10.6657052256489,10.1138586287252,10.1782920350458,9.91743236095489,9.94861647886041,9.84069354584351,9.94105000039865,9.9745482468113 "1945",11.8997837472559,11.5427107672315,11.9332805130371,11.8135847221622,11.7781390846644,12.2234886845937,12.331877240938,12.1839214231735,12.3499150536066,12.6834302074271,12.4890094467439 "1946",8.3536900071723,9.17852203962688,8.30543844396847,7.41376869620371,7.90430035856233,7.62890668931544,7.97348809552184,8.12693320707114,6.81648699521578,6.65983847795381,7.22373327348314 "1947",10.5191288002886,10.1077909062939,10.8015776967999,11.0075396557097,11.2013288310529,11.3199664375695,11.5186403652933,11.740312249054,11.1937237626104,11.8410721903963,11.7640523400418 "1948",10.9373631243238,11.130151836422,10.5791225059098,10.5497570418822,11.5620743066837,11.8569622413364,11.7151212291516,11.728762338336,11.4016759938424,11.9560911646973,11.9933660540158 "1949",12.4249449951969,12.2446315719732,12.0800006909616,12.8339013841219,12.8820454341039,12.8492136885889,13.2268825336485,13.137423299569,13.299714256785,13.5797580546746,13.4862998380141 "1950",9.28636459734909,9.3768016133613,9.73962629225453,9.19877233640337,9.26723918730421,9.11099223642791,8.79643557771855,8.98612410267152,8.99280339313227,8.82330534351434,8.70237886857615 "1951",9.80312638837258,9.79519878158299,9.80479496463724,9.86431090946723,10.5010272278358,10.5268640644019,10.8557027985695,10.8383294682127,10.672212723259,10.5092459270365,10.5086470711659 "1952",8.33128018637385,8.4419685356813,8.64370954989642,8.03296242975768,7.42821628028939,7.77147814172358,7.7156042158484,7.25588912772885,7.27751286534764,7.54113951340933,7.55547121243741 "1953",10.0683403324409,9.75485799361294,9.98430043508069,10.1235102367791,10.4856100712145,10.0292052723636,10.5637597260399,10.5923904240538,10.3491319557132,10.7096802160586,10.7283841374722 "1954",9.43024051373411,9.38875877384605,9.06767488765395,9.40176860425243,9.66353191278051,9.55619299213309,9.63893966332627,9.93973725693104,10.0895884988301,9.99986662300296,9.77838772583363 "1955",7.44862159904616,7.32222092603702,7.722477213493,6.92690329526043,6.76897938111069,6.95118912698659,6.93149388136214,6.64134227420539,6.46208792210859,6.50724974565549,6.66737605381507 "1956",9.51014329950609,9.27002757512691,8.99611197715886,9.26411688032526,9.61576637537467,9.72819028891394,9.75872940389728,9.72397488890872,10.0283687739559,10.0477318252313,9.84724925808437 "1957",9.94255943989221,10.0932526731789,10.1780482106374,9.9719413146637,10.22811756933,10.2023353134879,10.4767351352229,10.4537508893815,10.3327378775596,10.6341359090995,10.6037500355862 "1958",9.628702592468,9.99612169113463,10.0348434158324,9.71383574963396,9.2723837427437,9.4523666608158,9.28702250294436,9.25553407362448,9.30048623241045,8.91041051218163,9.01591445856804 "1959",8.29930825531523,8.16010627518426,8.73065814168617,7.44363314681225,7.85016117313733,8.43805808303543,7.573997487832,7.33971726974428,7.92384765319444,7.6887514157165,7.67433272987327 "1960",10.3015195894451,10.6753086122337,10.4800102110266,10.4519786501418,11.021354513966,10.8049071993607,11.1472614543079,11.3486691765007,11.1956675573995,11.0110135951237,10.9974900834738 "1961",3.97008655127665,3.92219398459048,4.17697833106617,4.55382476248647,4.76343465978073,4.79051865717914,5.26656920680189,5.20403385694408,4.93015836537268,4.1133546816754,4.82879049046518 "1962",9.0241466655017,9.1587047342605,9.1758256769784,8.45937569041349,9.01131205125623,8.34097001189902,8.75963172430597,8.32202448506967,8.19183661884524,8.11572881921334,8.16808848214259 "1963",11.4386612011197,11.4794398121929,11.0061899948972,11.359720659659,11.330217037236,11.8230885450446,11.8586149714064,11.7773271743741,11.813462071929,12.0793742557599,12.0119164590616 "1964",10.2427704406588,9.99612169113463,9.61018326765666,10.0689188493515,10.4094570280958,10.508712284593,10.4805071769423,10.6222922239757,10.4824974201085,10.9898921538223,10.8743672385514 "1965",7.04587689925286,6.94756056408147,7.27184892251145,6.67993380946733,6.0785626727083,6.22605241805508,6.46037622252273,6.25098415102327,5.82724139574683,5.99941972064136,6.04527163698523 "1966",11.6423776938818,11.5000529769845,11.4071824892453,11.564681750843,11.668307380596,11.7146583185528,12.0150308973792,11.9338047772876,12.0613566502302,12.1448255574439,12.089753040737 "1967",7.64358689375606,6.89051001351939,7.51483209832686,6.7618541533593,6.49332967836598,6.53337388382174,6.46037622252273,6.25098415102327,6.29456940017177,6.56467909886764,6.31853756118564 "1968",6.69560900497096,6.62435239480156,6.93916689557714,6.33760537438245,6.21660807334217,5.93366313679853,5.98182671402093,5.84263840078618,6.29456940017177,5.99941972064136,5.67601085725439 "1969",13.6249401485882,13.4376577750376,12.9743822595542,13.3574204675762,13.7932374453081,13.8812320343371,14.0876828081655,14.1027853420429,14.0453164390912,14.2810655802074,14.1901886272057 "1970",9.69507419033593,9.42736268842898,9.59130839308117,9.74401877470986,10.5547812005669,10.4800141964062,10.1846788396162,10.5434150204268,10.7332614291972,10.6978874134223,10.8695479235757 "1971",12.7426293707639,12.6994291957644,12.6766119762855,12.6072444599211,12.9288000471946,13.058991940737,13.0694123406774,13.1868767371563,13.270657662463,13.5096509860565,13.434565664722 "1972",11.0423665262259,10.8367335399741,10.3513209178758,10.842546045317,11.0175310743945,11.3638219425994,11.1748769381139,11.4002768385998,11.2471838031063,11.7008018308566,11.6910095564417 "1973",9.06271502611384,9.15470836899439,9.54191932670745,9.09327919268387,8.64937117040887,8.8730481577698,8.811497292161,8.48159830870355,8.54113298867976,8.52864210960549,8.5693302404221 "1974",7.48165658586729,7.24874425335053,8.00255715830206,6.7618541533593,6.99942575048463,6.64253913084015,6.44473499605013,6.45134919921931,6.46208792210859,7.00752371135829,6.57431102493756 "1975",9.39828981515611,9.62370030411594,9.26852529918445,9.63226905771049,10.198702633479,10.0792661447545,10.2754129707451,10.2770473398181,10.7026044077824,10.0686414932386,10.1403524699167 "1976",9.82090911369055,9.6873164315608,9.48624451618217,9.68715619473868,9.95499910418258,9.84212047202258,10.0629085475706,10.3164505237502,10.12809961991,10.1677315348188,10.0507360318649 "1977",4.38318186180789,5.02844590494928,5.418413249836,4.64558758720875,3.54830022377166,4.65095609464182,4.24697193895882,4.14366324222193,4.28967224937531,4.1133546816754,3.94592105499445 "1978",10.2136976694624,9.67481573454127,10.1920343471418,9.64725306850123,9.42338919231626,9.58343350740081,9.33574343699946,9.18713591618254,9.07961134912224,9.50513169789254,9.15826071799498 "1979",8.68581910599042,8.92996340372811,8.5770053316725,8.52115476020547,8.23505088897801,7.58321459177539,8.20580009791753,7.70495132134486,7.82660267366782,7.9180533692212,7.65519474955602 "1980",11.4743344399573,11.3478524086475,11.3277019591982,11.1983522056675,11.827015589811,11.8066743280661,11.7345985916209,11.9720427131522,12.004832325606,12.1069826069641,12.058031633207 "1981",7.74898018933612,7.78345381968473,7.06710206958041,7.24300092293367,6.62980875551585,6.24614906756788,6.3967273647607,6.39951332746705,7.12162542956801,6.40068061702198,6.19775514290742 "1982",10.8612977376985,10.5779818271118,10.7160857687588,10.9106467797848,11.2372788700458,11.2878042119002,11.277088516714,11.4190303956274,11.497234420046,11.7113979424218,11.5445053615075 "1983",12.0577380336219,11.8994091022638,11.9514815968604,12.3503658908875,12.9179706927532,12.9402454786083,12.7201102564727,13.0962363992861,12.9938564154583,13.4077663076764,13.4261507914122 "1984",6.3603261369929,6.1384379945953,6.19855602264465,5.911083037832,5.51439142996744,5.21461805136393,5.47815535844696,5.24721063577333,5.36185741525923,5.32077713645568,5.50541836722824 "1985",10.9028704323207,10.7077083769392,10.7767362989186,11.0540516611137,11.3221803022829,11.4312233915844,11.5713208346856,11.4443594508236,11.5381516220184,11.7651264309531,11.7401133162029 "1986",10.4728473516849,10.6307052398132,10.3147166257277,10.6667558875144,10.8582045543139,10.5298672778786,11.0117707126576,10.9979543660766,11.1529542281708,10.9420403130622,10.9441344322469 "1987",7.11086380579525,6.97524678447138,7.25049947825418,6.7618541533593,6.34202917570302,6.32372596223563,6.14760569582541,6.08445307616774,6.61159776233956,6.15925383687877,6.42960502818059 "1988",11.9013039092081,11.5904417222532,10.9406058389447,11.7765930652849,12.2473725769377,12.7306744299191,11.9313829811607,12.4669139332116,12.8802117558689,12.8590646547866,12.8658912912572 "1989",10.508195828823,10.6718186114959,10.5026311458578,10.5757193164008,10.8853119969518,10.9031371609612,11.0922421691642,11.2729333384347,10.9305733500274,11.0148208524232,11.1208093998223 "1990",10.0991373516307,10.0911637686417,10.2876179266165,10.5291077026035,10.8461829699727,10.5447902680086,10.7580809300414,11.1319525183072,11.1449285082369,10.8334109506931,10.7996066346652 "1991",10.9104393161507,10.7433920331274,11.2529556689973,11.0636554515498,11.8125257184664,11.3965459135523,11.6542251832939,11.8255156580766,11.7354397120352,11.817288954775,11.626774007806 "1992",10.439752755365,10.4720058058573,11.2833204788038,10.6187017383689,10.5324480108438,9.77788285883847,9.92437317218372,9.97057828626865,10.337440943429,10.0062561715956,9.96940887632604 "1993",11.9454429043407,12.0013594507448,11.4274216010855,11.6679813034641,12.8689495848655,12.5929270890558,12.5958666492829,12.7851752555541,12.8436972045469,12.5835769513405,12.7228310754997 "1994",4.95788009688626,4.64642175332692,4.84809592326134,4.94419410387592,5.51439142996744,5.52494213250567,5.22742614345585,5.54656694097749,5.234901464903,5.69066019077603,5.64910430920177 "1995",11.9864822408743,11.7832482648054,11.4226849384847,12.1893520563486,12.3341589735363,12.192238492469,12.2623753652145,12.3905141849114,12.401351660337,12.8627660423864,12.8528698974504 "1996",8.40179659868587,8.52795515785693,8.15339241024055,7.90317759465493,7.82230606359757,7.52799643435851,7.95730299948966,7.55745065008234,7.35417069068958,7.46865826441027,7.44827704992753 "1997",11.4381376575111,11.3482897243858,11.0658870796497,11.2713106774714,11.7068047442805,11.8074994895482,11.7191176148947,11.8186717076941,11.833574575491,12.1217684578017,11.9355806365164 "1998",8.17894675851474,8.77454175227186,8.77967347546497,8.21664886829603,7.82932069098373,7.94390401379986,8.20580009791753,7.85139374177738,7.36346983279136,7.65651370055754,7.93969720762546 "1999",11.9699165994866,11.8050760188097,11.6489141932151,11.8324332266704,12.2831619686234,12.1602963661994,12.2294124702988,12.464852612181,12.3704234969546,12.4870698177061,12.3874381220697 "2000",8.62450430885739,8.59735867621691,9.24456138472936,8.28402107809258,8.40410439334196,8.45923917335987,8.30712100765054,8.16304111541793,8.31155915328567,8.09185442079411,8.04135212279901 "2001",7.65085939919941,7.99084222026797,8.12446508314429,7.45345091666106,6.59691611192018,7.37537160534035,7.45584891455798,6.92227444071329,6.84346871555432,6.68588238296423,6.95705547300987 "2002",7.03475077054921,7.02904872889847,6.81323095846476,6.10311306989949,5.75123300751287,6.36093948153758,5.98182671402093,5.84263840078618,5.79900900802131,5.95632863375223,6.06529256597428 "2003",5.20160456221532,5.10587436566836,5.89393465653991,4.87732981549012,4.16918380110659,4.39026667116431,5.0091772610784,4.27494782787477,3.97945053140578,4.51507976905241,4.10886942232174 "2004",6.32374568039042,6.26548881224496,7.05481513202291,8.08428546657848,7.75758167592432,9.26556770802073,8.30712100765054,7.94923159757619,11.5569234977708,7.46120398896203,7.48490815233371 "2005",5.01103248145524,5.14270022719375,4.3153118826282,4.33331678257734,3.9890115841535,4.27998953468607,4.24697193895882,4.27494782787477,3.97945053140578,4.1133546816754,3.94592105499445 "2006",10.6204420794339,10.4279970016506,10.3674329706888,10.4495387938625,11.1372339891556,11.5781991003094,11.1882006563559,11.2899164169096,11.1963149074146,11.4218170014871,11.3653753032965 "2007",8.61340778184865,8.54943430095146,9.02766379608388,8.22238532670557,8.17030206884004,8.14568011415638,8.14996041764452,8.04082752175031,8.31633771077612,7.83413971816388,7.73634128687924 "2008",8.56430954481308,8.98051585135328,8.86250671939524,8.37436760338792,8.26119229282476,8.22700446585609,8.30712100765054,8.05187709504592,7.96097350831138,8.09666112757126,8.1947968368107 "2009",8.62081495841436,8.88483018599364,8.82707588341202,8.53964242110826,8.34667938075994,8.48837867714906,8.24185728179171,8.27095780233231,8.62822374295735,8.25979842798785,8.0608476856796 "2010",10.3843000362258,10.1793456007745,10.2533460821094,10.5360237112166,10.5579436167682,10.7198018525437,10.7743048690882,10.7197306817581,10.8431635250041,10.9090065813267,10.8268552557145 "2011",8.22344598109642,8.27513933956667,8.7229670689562,8.19347145355705,7.71275036501565,7.40196767134749,8.03132052976576,7.76667701711235,7.74376486076374,7.30332025620943,7.24955265846385 "2012",5.01103248145524,5.48674339719394,4.17697833106617,3.54830022377166,3.9890115841535,4.14782244847307,3.95429096793669,3.54830022377166,4.28967224937531,3.94912244603611,4.10886942232174 "2013",9.80637596281387,9.7939149262346,9.82647739572268,9.98379391490821,10.1450365685559,10.326127549589,10.2819123269288,10.3187351761478,10.0571665837545,10.5306785948073,10.5401834961746 "2014",11.893305128817,11.8527052537349,12.1105100251164,11.6382962670761,11.6362537245575,11.6517221886012,11.2683876313781,11.4317505115335,11.3095440339284,11.56501661089,11.5748514567617 "2015",7.46523447778001,7.91712847035902,7.35418850759407,6.61077692935938,6.21660807334217,6.24614906756788,6.74125749547841,6.27044767527808,6.31421497718848,6.02045962596488,5.87340967120574 "2016",12.6309312366682,12.7628025307094,12.7139228208273,12.3746803044769,12.1992419290798,12.3229258679341,12.2927260222937,12.1970196300099,11.8898834868976,11.9698854326351,12.1483377453467 "2017",10.5990554643209,10.5523985538347,10.1133760567645,10.534873343313,11.2006545676099,11.1185974488752,10.8758914541969,11.1754598449884,10.9375594245548,11.2413165942009,11.4238376007402 "2018",10.1447758899605,10.1015781695815,9.95343051476647,10.2841238195052,10.2940844574572,10.5107404654921,10.591929715054,10.5007894332794,10.4686308345536,10.5517974756834,10.5419154669441 "2019",6.75128602916666,6.6704654135062,7.07928366845503,5.99674685124919,5.8408949819472,6.41495063025135,6.18607814866558,5.67318746075466,5.93453103270874,6.02045962596488,6.14255176514714 "2020",5.6085567987359,5.8625403799736,5.37656757260563,4.94419410387592,4.3058722489524,4.85356377363824,4.736433099266,4.78227634053133,4.40133275723348,4.51507976905241,4.71305020543012 "2021",8.7880368188968,8.54638539974194,7.89698849758373,8.51182113882388,9.21742788977953,9.51231884330987,9.03325510979287,9.02303603563308,9.13740873448127,9.47596051629538,9.42555326987163 "2022",11.4480526412912,11.3395181223153,10.9231043722607,11.6302400959218,11.7006184084532,11.5508647558052,11.5950009076714,11.7001337160277,11.6642294996007,12.0291233281633,12.0339281402059 "2023",7.65085939919941,7.34354589854347,7.57607042757072,8.18174114734305,8.18676461908425,8.54097821295531,8.13085467743051,8.26147500951268,8.43970244756147,8.57411907020145,8.71779464807795 "2024",10.8967866019794,10.9614627069474,10.2155039007044,10.9815996133791,11.3009469963467,11.3660641273223,11.3092572978136,11.3867305954656,11.3065491809334,11.4655934992713,11.4068314610261 "2025",8.00854214661264,8.14404909879108,8.34608353800229,7.52965741113161,7.16458338559512,7.54399158252209,7.47116218311666,7.16682298916022,6.95889432739089,7.51258608930794,7.44083686455049 "2026",9.09762731201092,8.95546128383873,8.84490020686768,9.20457353084305,9.73047109895622,9.37874837871104,9.30202567198749,9.45776633691265,9.69803394357549,9.76383892034309,9.5936540712783 "2027",6.80484637364657,6.96607799591657,7.53259773401686,6.12845239811469,5.95174206023759,6.20565743408888,5.68696720047667,5.94464232625034,5.96006019369919,6.14027133670331,6.35118973846552 "2028",9.49411002848884,9.42901789916774,9.940232354183,8.94866749721308,9.02965990602696,8.74787211075106,9.23212799921271,8.69729742885466,8.99578282918798,8.66421709467549,8.41517675137098 "2029",9.37001467854785,9.48419349616451,9.83184744975314,9.18709943737704,9.17685012125698,9.05647658367649,9.20957122786258,9.06720548839976,9.23896062811224,8.8939573315093,8.75113959857946 "2030",11.4905838200852,11.3443491021395,10.9239426077709,11.6595620091932,11.6833472618578,11.7455564821626,11.7314365213998,11.7274732883309,11.8239723153888,11.9577402725599,11.9286471053047 "2031",9.61394131663761,9.46334549053017,9.54628181697142,10.0481039641413,10.0598536573682,10.144727449744,9.93678307562237,10.2449712569747,10.0457163643264,10.305701920901,10.446204483337 "2032",9.35899024943443,9.7010801774926,8.84490020686768,9.87889245201439,10.1095543929003,9.97881025779135,9.96936341634954,10.1312874006418,10.2933411182614,10.0576094391465,10.0385187740255 "2033",10.0327156295122,10.3723186701145,10.1934255307891,9.92001141379925,9.81925444036508,9.88809802166953,9.80459350603556,9.78804195859083,9.88473885028186,9.7131800823731,9.67167613062689 "2034",9.91873618658208,9.70381723310428,9.86888817471567,10.705102014427,10.39891424354,10.5953597889907,10.5422652450918,10.6176607315317,10.9537298891164,10.6133600529106,10.5436453607016 "2035",5.40326495224052,5.56604371111536,6.07982665675691,5.06671461268446,4.60803438435701,5.07384942667343,4.95996179375818,5.01322721136904,5.18940370702617,4.72200141940468,4.50758419823284 "2036",10.5773469987448,10.4155302247006,10.4171001948464,10.6530372299055,10.8903384194061,11.1085889433632,10.7903483716982,10.9195962597224,10.9360098846476,11.1151757249955,11.0778815476563 "2037",10.2403699658913,10.1842533566041,10.4742991120414,9.99722153884351,8.82075407754364,9.59303888585416,9.77571606977513,9.09413945465348,9.14010402019038,9.56695792576193,9.43863105997586 "2038",10.2759642571413,10.1252497141462,11.0787405458244,10.3614349184299,9.75272459611793,9.81282744452775,9.82995003432343,9.68021808504126,10.2848440826217,9.98570917709119,9.76213288144998 "2039",8.31766483036953,8.53719976752436,8.73065814168617,7.91740472875786,8.23505088897801,7.36639506661982,7.96811330155918,7.75318796156962,8.21761388082079,7.4156433013633,7.59619754824477 "2040",9.3117444465232,9.40230376914334,9.29728368712634,8.51649551299268,8.41345634845132,8.99692532830511,8.54928418681421,8.50588627819347,8.75324314210048,8.63150104027328,8.55223053166907 "2041",3.54830022377166,3.54830022377166,3.54830022377166,3.54830022377166,4.51917288855208,4.48644669672571,4.24697193895882,5.01322721136904,4.66516704800045,3.54830022377166,3.54830022377166 "2042",8.60222508879297,8.46152542794402,7.96387248193145,9.03260445449268,8.90268312222043,9.19666600526307,9.07128728575027,9.04528995739235,8.82536894002529,9.19411857271364,9.21583108861075 "2043",10.6009278084849,10.4911424187288,10.7372232516941,10.3497066385439,10.1422298950931,10.0996226853339,10.3658832007785,10.1596037475487,9.87020602904356,10.215938441833,10.2343975732753 "2044",11.4931063337021,11.9524357082824,12.0480635037998,10.9942095015186,11.437696953337,11.1631182123128,11.125745764435,11.3020908876927,11.1741403923108,10.9873108372012,11.2535629813764 "2045",9.10820161706189,9.76012710404524,9.52212312869928,8.70845226262906,8.83125362214199,8.13518339152596,8.88453089243721,8.37134068175844,8.76377055339133,8.08703158629843,8.61286188047902 "2046",7.17301035461378,6.81067701192704,7.32386510124667,6.98244809672181,4.76343465978073,5.16956541079112,5.98182671402093,5.78854419980623,5.77015986861159,5.08331287740239,5.53547894831993 "2047",8.53324147578573,8.76145756849789,8.83065843231267,8.55789570611588,7.93712914351463,8.20710044820141,8.20580009791753,8.14251919273416,8.52058286310583,8.19853581863184,8.0608476856796 gplots/MD50000644000176200001440000001116614700342363012101 0ustar liggesusers3c13bc895d5f867a4cc4568cd6094737 *ChangeLog 020df92da85d3f9af1f6b6c5f9088cc2 *DESCRIPTION af808f737bed73ad1d9a011232a553cf *NAMESPACE ced1e7139d899a3ee7fa4d7b2ac25788 *NEWS.md 447059ddf7e1e29e8e02a3317fbe2aa4 *R/adjust_hsv.R f30de3e3672ace857495bd9e83ad6783 *R/angleAxis.R 4040a0e9adf5cc4b201e9d35ab57154f *R/balloonplot.R e7563bfb16bf84fd65deb26b4392a5b7 *R/bandplot.R 0a8af37ac076fafb2d055495ea1359b0 *R/barplot2.R 094d92ec0e847019b5b3f4daf7dc7a13 *R/baseOf.R fb9130dfb4aab0819dfcfe882a3348a3 *R/boxplot2.R 3c01b1cd82f96ea3f718cd71e7c2b5cc *R/bubbleplot.R a6370e76fc39377d1da08507b03e219f *R/ci2d.R 6d3d19d92abdf9638c5b5313cde8eacc *R/col2hex.R 36b2f3fe28745943577ad95f07142cab *R/colorpanel.R 7ef3f6a00d6d82130aacf1bcb1e2b76b *R/heatmap.2.R 69b838cf6230b0394a4ef3565a8c8d75 *R/hist2d.R 12690b374f6b35445d8a087421e8409d *R/layout_set.R cd504b2b384f0c142db36e5c20407d6d *R/lmplot2.R f4f58ee7d4836d6bf8f8500167bac3e6 *R/lowess.R 4bb20d225902c5b0a36cbb36a14f85f7 *R/nobs.R a36e8910568c8476351e5dd5c1ce56fa *R/ooplot.R 3ee488d1e8fdde249a097de645e8c557 *R/overplot.R feb2286e91ead55c28817b131de146cc *R/plot.lowess.R 2316c0b78dc75db34629167387ea9539 *R/plot.venn.R 2209724c13c5641d39a283ee6e87fcae *R/plotCI.R 308a4d875e0931e8f1a8110bef3db520 *R/plotNode.R d1633902e4c3a75f8a24ef9dab1d82e9 *R/plotmeans.R 3b72bccb6f4d15624f8aea8f41353d43 *R/print.ci2d.R bc77c69c15391aef883b3e902d9df36e *R/print.hist2d.R 159d3d3de91f9f1601e68f20e3ab18c8 *R/qqnorm.aov.R 54fa890d6dea94a2a0a70e9a568030be *R/reorder.R f583369cc05bb20cca9a8d19effde4ef *R/replaceTabs.R 33bc311749bfbb7748909de1bfd2b6fd *R/residplot.R 9a4ac1bce19cf513efc3332a97d6ccd3 *R/rich.colors.R e24b2bb9b1db91aa0a2ba374fbcd7c6b *R/sinkplot.R 27613e8d8ee05ab39f35fdcefe9d8984 *R/smartlegend.R 3996c273f3d9d6750b76a53955b57a8a *R/space.R dde8f47321c837268c65a37cc374482f *R/textplot.R 8c2afc819e536ccd483ac3f587a7d5f4 *R/venn.R 1ba0dd8cf2a2aa2f56c4cc292b542a13 *R/vennMembers.R 9dc3e18aa37028e64ad53b8692a0f789 *R/wapply.R 2c8ffc65585c592a2afd816b93e0af4e *R/zzz.R 308b922db9aedfd35ef1b90a5b1830a2 *README.md e28142fd2631d8aba7e5b1ec828908f6 *TODO 79a5ac9d93d07545197d0a0269f1e10b *build/vignette.rds 582bb5d0c052d75df10ad00477366108 *data/catch.d.txt 50100eb3c26183fecdf59dd1ca5b38d0 *data/catch.r.txt 911fe14e710b53812c930feb1f2676d4 *data/rtPCR.rda 3c13bc895d5f867a4cc4568cd6094737 *inst/ChangeLog be4f21a7b13b75d3d3bae7d80eaa5bda *inst/NEWS e28142fd2631d8aba7e5b1ec828908f6 *inst/TODO f4c24cc77a44047debd0bb6b305361e2 *inst/doc/venn.R f60108e5756d240bbdd69ed3183454b6 *inst/doc/venn.Rmd 6ca77b4bdbfed54d57c49fcb0f6644f9 *inst/doc/venn.html 856caff42cc4978de04a9758d0cafaf0 *inst/venn.Rnw a8660b52abde5c8333a4ec5eaea93e33 *man/adjust_hsv.Rd ac9a06e0352957b04a5ad4d460ba5049 *man/angleAxis.Rd 416bec101ef32248889d615b3c6d3b5d *man/balloonplot.Rd 76fcaaee5e7dfa17c31c406f2c16dda2 *man/bandplot.Rd 2eced36dff5ded48a352b9ac8834bafb *man/barplot2.Rd a04e345d06c3c530f184bb018ee82c1c *man/boxplot2.Rd fc20670a50e38c5b2af150c6f1e02bea *man/bubbleplot.Rd 032ccbfdc8b9d6123d3ea8bf9921cfe1 *man/catch.d.Rd ef4ef18b922315a8c64acb393669e54d *man/ci2d.Rd ab9babb4cca73672c7eae3e46325db28 *man/col2hex.Rd fc68c9ad48ad8db123de899f77721a2e *man/colorpanel.Rd d523fe2877418252bc262d9ad77fa3c0 *man/gplots-defunct.Rd 65b7aea6a192059189b7bb3c9afbe95d *man/gplots-deprecated.Rd e24221a6b23f4818519249964931bc42 *man/heatmap.2.Rd 99fd3b402c4c1d17839ff49626cd3ed3 *man/hist2d.Rd 95b3bf1124b3b5694f91195708b9abdd *man/lmplot2.Rd 97b96792191f87858bf8b4792172c836 *man/lowess.Rd 8bbabb1ce9310650bebee176617e2056 *man/ooplot.Rd f46f562c6daf8992b39a9201f6095417 *man/overplot.Rd f6692d0456ee55bc29adec44c165b197 *man/plotCI.Rd 2dcf49fefa25be0d0df503304afdd645 *man/plotmeans.Rd 6ec7ca566ee8a8ce6618a31fd0848fe6 *man/qqnorm.aov.Rd da64c27965060d0f35bed084a416a57a *man/reorder.Rd 8be9406a3844978e05e5832921e52279 *man/residplot.Rd 00dc4c29f2c0eed9d3557ff0c9ab6a9f *man/rich.colors.Rd 3e0736e6f89e7466ccbeb412135b01b8 *man/rtPCR.Rd 7ea76e2257a7fa7fe96d3ce40e182c5d *man/sinkplot.Rd 752a53002d3674f2f15ecc8a87f0bfd1 *man/space.Rd 8544cb97a8f2f6abc64a1535b511b8ba *man/textplot.Rd 043058fb3292f1b2ddcc9cd132d39795 *man/venn.Rd 5bdab99eb81d4c50fd63a9e5f2ab71f1 *man/wapply.Rd 5be2ffe348d532fb75a5abedbc941607 *tests/adjust_hsv.R 0742f6f621cb8fcabd249c79499e8ab0 *tests/dat.csv 02de40e6b689ba49f4d823ddaf4a4b3f *tests/heatmap2Test.R b03e5e87d58289c7982231969040b11e *tests/heatmap2Test.Rout.save 0c000b8175ee7588d6d36ad33de54385 *tests/heatmap_to_heatmap.2_test.R 9a1b66168b0ff6a168d1aa1d5739bfc7 *tests/plotmeans_nobars.R 8211fdd9b45a56f1f7ab466c1d1a8c39 *tests/test.reorder.factor.R 5441933dc7184eb6327121145eb4e26d *tests/test_plottingDeepDendrogram.R f60108e5756d240bbdd69ed3183454b6 *vignettes/venn.Rmd gplots/R/0000755000176200001440000000000014700154745011772 5ustar liggesusersgplots/R/hist2d.R0000644000176200001440000000374712471456250013324 0ustar liggesusers# $Id: hist2d.R 1555 2012-06-07 16:08:18Z warnes $ hist2d <- function(x, y=NULL, nbins=200, same.scale=FALSE, na.rm=TRUE, show=TRUE, col=c("black", heat.colors(12)), FUN=base::length, xlab, ylab, ... ) { if(is.null(y)) { if(ncol(x) != 2) stop("If y is ommitted, x must be a 2 column matirx") y <- x[,2] x <- x[,1] } if(length(nbins)==1) nbins <- rep(nbins,2) nas <- is.na(x) | is.na(y) if(na.rm) { x <- x[!nas] y <- y[!nas] } else stop("missinig values not permitted if na.rm=FALSE") if(same.scale) { x.cuts <- seq( from=min(x,y), to=max(x,y), length=nbins[1]+1) y.cuts <- seq( from=min(x,y), to=max(x,y), length=nbins[2]+1) } else { x.cuts <- seq( from=min(x), to=max(x), length=nbins[1]+1) y.cuts <- seq( from=min(y), to=max(y), length=nbins[2]+1) } index.x <- cut( x, x.cuts, include.lowest=TRUE) index.y <- cut( y, y.cuts, include.lowest=TRUE) ## tapply is faster than old for() loop, and allows ## use of any user-specified summary function m <- tapply(x,list(index.x,index.y),FUN) ## If we're using length, set empty cells to 0 instead of NA if(identical(FUN,base::length)) m[is.na(m)] <- 0 if(missing(xlab)) xlab <- deparse(substitute(xlab)) if(missing(ylab)) ylab <- deparse(substitute(ylab)) if(show) image( x.cuts, y.cuts, m, col=col, xlab=xlab, ylab=ylab, ...) midpoints <- function(x) (x[-1]+x[-length(x)])/2 retval <- list() retval$counts <- m retval$x.breaks = x.cuts retval$y.breaks = y.cuts retval$x = midpoints(x.cuts) retval$y = midpoints(y.cuts) retval$nobs = length(x) retval$call <- match.call() class(retval) <- "hist2d" retval } gplots/R/balloonplot.R0000644000176200001440000002766312471456250014457 0ustar liggesusers# $Id: balloonplot.R 1302 2008-08-14 20:06:22Z warnes $ balloonplot <- function(x,...) UseMethod("balloonplot",x) balloonplot.table <- function(x, xlab, ylab, zlab, show.zeros = FALSE, show.margins = TRUE, ... ) { obj <- x tmp <- as.data.frame(x) x <- tmp[,1] y <- tmp[,2] z <- tmp[,3] tableflag <- TRUE if(missing(xlab)) xlab <- names(dimnames(obj))[1] if(missing(ylab)) ylab <- names(dimnames(obj))[2] if(missing(zlab)) zlab <- "Freq" balloonplot.default(x, y, z, xlab=xlab, ylab=ylab, zlab=zlab, show.zeros = show.zeros, show.margins = show.margins, ...) } balloonplot.default <- function(x,y,z, xlab, ylab, zlab=deparse(substitute(z)), dotsize=2/max(strwidth(19),strheight(19)), dotchar=19, dotcolor="skyblue", text.size=1, text.color=par("fg"), main, label=TRUE, label.digits=2, label.size=1, label.color=par("fg"), scale.method=c("volume","diameter"), scale.range=c("absolute","relative"), colsrt=par("srt"), rowsrt=par("srt"), colmar=1, rowmar=2, show.zeros=FALSE, show.margins=TRUE, cum.margins=TRUE, sorted=TRUE, label.lines=TRUE, fun=function(x)sum(x,na.rm=T), hide.duplicates=TRUE, ... ) { if(is.null(names(x))) { xnames <- as.character(substitute(x)) if(length(xnames)>1) xnames <- xnames[-1] } else xnames <- names(x) if(is.null(names(y))) { ynames <- as.character(substitute(y)) if(length(ynames)>1) ynames <- ynames[-1] } else ynames <- names(y) #### ## Handle arguments #### scale.method <- match.arg(scale.method) scale.range <- match.arg(scale.range) if( scale.method=="absolute" && any(z < 0, na.rm=TRUE ) ) warning("z value(s) below zero detected.", " No balloons will be displayed for these cells.") if(missing(main)) { if(scale.method=="volume") main <- paste("Balloon Plot for ", paste(xnames, collapse=", "), " by ", paste(ynames, collapse=", "), ".\nArea is proportional to ", zlab, ".", sep='') else main <- paste("Balloon Plot for ", paste(ynames, collapse=", "), " by ", paste(ynames, collapse=", "), ".\nDiameter is proportional to ", zlab, ".", sep='') } if(length(dotcolor) maxbar, maxbar, ci.upper) labels.lower <- paste( " \n", format(round(ci.lower, digits=digits)), sep="") labels.upper <- paste( format(round(ci.upper, digits=digits)), "\n ", sep="") text(x=1:length(means),y=ci.lower, labels=labels.lower, col=col) text(x=1:length(means),y=ci.upper, labels=labels.upper, col=col) } } if(n.label) { text(x=1:length(means), y=par("usr")[3], labels=paste(text.n.label, ns, "\n", sep="") ) } if(!invalid(connect) & !identical(connect,FALSE)) { if(is.list(connect)) { if(length(ccol)==1) ccol <- rep(ccol, length(connect) ) for(which in 1:length(connect)) lines(x=connect[[which]],y=means[connect[[which]]],col=ccol[which]) } else lines(means, ..., lwd=lwd, col=ccol) } } gplots/R/angleAxis.R0000644000176200001440000000132012664117416014025 0ustar liggesusersangleAxis <- function(side, labels, at=1:length(labels), srt=45, adj, xpd=TRUE, ...) { usr <- par("usr") emH <- strheight("M") emW <- strwidth("M") if(missing(adj)) adj <- switch(side, 1, 1, 0, 0) switch(side, #1 - below text(x=at, y=usr[3]-emH/2, labels=labels, srt=srt, adj=adj, xpd=xpd, ...), #2 - left text(x=usr[1]-emW/2, y=at, labels=labels, srt=srt, adj=adj, xpd=xpd, ...), #3 - above text(x=at, y=usr[4]+emH/2, labels=labels, srt=srt, adj=adj, xpd=xpd, ...), #4 - right text(x=usr[2]+emW/2, y=at, labels=labels, srt=srt, adj=adj, xpd=xpd, ...) ) invisible(NULL) }gplots/R/ci2d.R0000644000176200001440000001051512471456250012737 0ustar liggesusers# $Id: ci2d.R 1471 2011-08-16 01:03:31Z warnes $ ## first(...) selects the first element of which(...) first <- function(x,...) { w <- which(x,...) if(length(x)>1) w[1] else w } ## first(...) selects the first element of which(...) last <- function(x,...) { w <- which(x,...) if(length(x)>1) rev(w)[1] else w } ## non-parametric 2 dimensional approximate confidence interval ci2d <- function(x, y = NULL, nbins=51, method=c("bkde2D","hist2d"), bandwidth, factor=1.0, ci.levels=c(0.50,0.75,0.90,0.95,0.975), show=c("filled.contour","contour","image","none"), col=topo.colors(length(breaks)-1), show.points=FALSE, pch=par("pch"), points.col="red", xlab, ylab, ...) { show <- match.arg(show) method <- match.arg(method) breaks <- unique(c(0, ci.levels, 1.0)) # get labels for x and y if (missing(xlab)) xlab <- if (missing(x)) "" else deparse(substitute(x)) if (missing(ylab)) ylab <- if (missing(y)) "" else deparse(substitute(y)) if(!is.null(y)) x <- cbind(x,y) if(method=="hist2d") { h2d <- hist2d(x, show=FALSE, nbins=nbins, ...) ## normalize h2d$density <- h2d$counts / sum(h2d$counts, na.rm=TRUE) } else if (method=="bkde2D") { if(length(nbins)==1) nbins <- c(nbins, nbins) if(missing(bandwidth)) { h.x = dpik(x[,1]) h.y = dpik(x[,2]) bandwidth <- c(h.x, h.y) } est <- bkde2D(x, bandwidth=bandwidth*factor, gridsize=nbins, ... ) h2d <- list() h2d$x <- est$x1 h2d$y <- est$x2 h2d$counts <- est$fhat h2d$nobs <- nrow(x) h2d$density <- est$fhat / sum(est$fhat) # normalize } else stop("Unknown method: '", method, "'") uniqueVals <- rev(unique(sort(h2d$density))) cumProbs <- sapply(uniqueVals, function(val) sum( h2d$density[h2d$density>=val] ) ) names(cumProbs) <- uniqueVals h2d$cumDensity <- matrix(nrow=nrow(h2d$density), ncol=ncol(h2d$density)) h2d$cumDensity[] <- cumProbs[as.character(h2d$density)] if(show=="image") { image(h2d$x, h2d$y, h2d$cumDensity, xlab=xlab, ylab=ylab, breaks=breaks, col=col) if(show.points) points(x[,1], x[,2], pch=pch, col=points.col); } else if(show=="filled.contour") { if(show.points) plot.title <- function() { points(x[,1], x[,2], pch=pch, col=points.col); } else plot.title <- function() {} filled.contour(h2d$x, h2d$y, h2d$cumDensity, levels=breaks, col=col, xlab=xlab, ylab=ylab, plot.title=plot.title(), key.title=title("\nCI Level"), key.axes=axis(4, at=breaks) ) } else if(show=="contour") { tmpBreaks <- breaks[breaks<1] # avoid having 1.0 line contour(h2d$x, h2d$y, h2d$cumDensity, levels=tmpBreaks, labels=tmpBreaks, xlab=xlab, ylab=ylab, nlevels=length(tmpBreaks), col=col ) if(show.points) points(x[,1], x[,2], pch=pch, col=points.col); } h2d$contours <- contourLines(h2d$x, h2d$y, h2d$cumDensity, levels=breaks, nlevels=length(breaks)) # use the confidence level value as the name in the contour list names(h2d$contours) <- sapply(h2d$contours, function(x) x$level) # convert each contour into a (x,y) dataframe h2d$contours <- lapply( h2d$contours, function(J) data.frame(x=J$x, y=J$y) ) h2d$call <- match.call() class(h2d) <- "ci2d" invisible(h2d) } gplots/R/heatmap.2.R0000644000176200001440000005604414676042073013707 0ustar liggesusers## $Id: heatmap.2.R 2103 2016-03-25 17:11:26Z warnes $ heatmap.2 <- function (x, ## dendrogram control Rowv = TRUE, Colv=if(symm)"Rowv" else TRUE, distfun = dist, hclustfun = hclust, dendrogram = c("both","row","column","none"), reorderfun = function(d, w) reorder(d, w), symm = FALSE, ## data scaling scale = c("none","row", "column"), na.rm=TRUE, ## image plot revC = identical(Colv, "Rowv"), add.expr, ## mapping data to colors breaks, symbreaks=any(x < 0, na.rm=TRUE) || scale!="none", ## colors col="heat.colors", ## block sepration colsep, rowsep, sepcolor="white", sepwidth=c(0.05,0.05), ## cell labeling cellnote, notecex=1.0, notecol="cyan", na.color=par("bg"), ## level trace trace=c("column","row","both","none"), tracecol="cyan", hline=median(breaks), vline=median(breaks), linecol=tracecol, ## Row/Column Labeling margins = c(5, 5), ColSideColors, RowSideColors, cexRow = 0.2 + 1/log10(nr), cexCol = 0.2 + 1/log10(nc), labRow = NULL, labCol = NULL, srtRow = NULL, srtCol = NULL, adjRow = c(0,NA), adjCol = c(NA,0), offsetRow = 0.5, offsetCol = 0.5, colRow = NULL, colCol = NULL, ## color key + density info key = TRUE, keysize = 1.5, density.info=c("histogram","density","none"), denscol=tracecol, symkey = any(x < 0, na.rm=TRUE) || symbreaks, densadj = 0.25, key.title = NULL, key.xlab = NULL, key.ylab = NULL, key.xtickfun = NULL, key.ytickfun = NULL, key.par=list(), ## plot labels main = NULL, xlab = NULL, ylab = NULL, ## plot layout lmat = NULL, lhei = NULL, lwid = NULL, ## extras extrafun=NULL, ... ) { scale01 <- function(x, low=min(x), high=max(x) ) { x <- (x-low)/(high - low) x } retval <- list() scale <- if(symm && missing(scale)) "none" else match.arg(scale) dendrogram <- match.arg(dendrogram) trace <- match.arg(trace) density.info <- match.arg(density.info) if(length(col)==1 && is.character(col) ) col <- get(col, mode="function") if(!missing(breaks) && any(duplicated(breaks)) ) stop("breaks may not contain duplicate values") if(!missing(breaks) && (scale!="none")) warning("Using scale=\"row\" or scale=\"column\" when breaks are", "specified can produce unpredictable results.", "Please consider using only one or the other.") if ( is.null(Rowv) || any(is.na(Rowv)) ) Rowv <- FALSE if ( is.null(Colv) || any(is.na(Colv)) ) Colv <- FALSE else if( all(Colv=="Rowv") ) Colv <- Rowv if(length(di <- dim(x)) != 2 || !is.numeric(x)) stop("`x' must be a numeric matrix") nr <- di[1] nc <- di[2] if(nr <= 1 || nc <= 1) stop("`x' must have at least 2 rows and 2 columns") if(!is.numeric(margins) || length(margins) != 2) stop("`margins' must be a numeric vector of length 2") if(missing(cellnote)) cellnote <- matrix("", ncol=ncol(x), nrow=nrow(x)) if(!inherits(Rowv, "dendrogram")) { ## Check if Rowv and dendrogram arguments are consistent if ( ( ( is.logical(Rowv) && !isTRUE(Rowv) ) || ( is.null(Rowv) ) ) && ( dendrogram %in% c("both","row") ) ) { warning("Discrepancy: Rowv is FALSE, while dendrogram is `", dendrogram, "'. Omitting row dendogram.") if (dendrogram=="both") dendrogram <- "column" else dendrogram <- "none" } } if(!inherits(Colv, "dendrogram")) { ## Check if Colv and dendrogram arguments are consistent if ( ( (is.logical(Colv) && !isTRUE(Colv) ) || (is.null(Colv)) ) && ( dendrogram %in% c("both","column")) ) { warning("Discrepancy: Colv is FALSE, while dendrogram is `", dendrogram, "'. Omitting column dendogram.") if (dendrogram=="both") dendrogram <- "row" else dendrogram <- "none" } } ## by default order by row/col mean ## if(is.null(Rowv)) Rowv <- rowMeans(x, na.rm = na.rm) ## if(is.null(Colv)) Colv <- colMeans(x, na.rm = na.rm) ## get the dendrograms and reordering indices ## if( dendrogram %in% c("both","row") ) ## { ## dendrogram option is used *only* for display purposes if(inherits(Rowv, "dendrogram")) { ddr <- Rowv ## use Rowv 'as-is', when it is dendrogram rowInd <- order.dendrogram(ddr) if(length(rowInd)>nr || any(rowInd<1 | rowInd > nr )) stop("Rowv dendrogram doesn't match size of x") if (length(rowInd) < nr) nr <- length(rowInd) } else if (is.integer(Rowv)) { ## Compute dendrogram and do reordering based on given vector distr <- distfun(x) hcr <- hclustfun(distr) ddr <- as.dendrogram(hcr) ddr <- reorderfun(ddr, Rowv) rowInd <- order.dendrogram(ddr) if(nr != length(rowInd)) stop("row dendrogram ordering gave index of wrong length") } else if (isTRUE(Rowv)) { ## If TRUE, compute dendrogram and do reordering based on rowMeans Rowv <- rowMeans(x, na.rm = na.rm) distr <- distfun(x) hcr <- hclustfun(distr) ddr <- as.dendrogram(hcr) ddr <- reorderfun(ddr, Rowv) rowInd <- order.dendrogram(ddr) if(nr != length(rowInd)) stop("row dendrogram ordering gave index of wrong length") } else if(!isTRUE(Rowv)) { rowInd <- nr:1 ddr <- as.dendrogram(hclust(dist(diag(nr)))) } else { rowInd <- nr:1 ddr <- as.dendrogram(Rowv) } if(inherits(Colv, "dendrogram")) { ddc <- Colv ## use Colv 'as-is', when it is dendrogram colInd <- order.dendrogram(ddc) if(length(colInd)>nc || any(colInd<1 | colInd > nc )) stop("Colv dendrogram doesn't match size of x") if (length(colInd) < nc) nc <- length(colInd) } else if(identical(Colv, "Rowv")) { if(nr != nc) stop('Colv = "Rowv" but nrow(x) != ncol(x)') if(exists("ddr")) { ddc <- ddr colInd <- order.dendrogram(ddc) } else colInd <- rowInd } else if(is.integer(Colv)) {## Compute dendrogram and do reordering based on given vector distc <- distfun(if(symm)x else t(x)) hcc <- hclustfun(distc) ddc <- as.dendrogram(hcc) ddc <- reorderfun(ddc, Colv) colInd <- order.dendrogram(ddc) if(nc != length(colInd)) stop("column dendrogram ordering gave index of wrong length") } else if (isTRUE(Colv)) {## If TRUE, compute dendrogram and do reordering based on rowMeans Colv <- colMeans(x, na.rm = na.rm) distc <- distfun(if(symm)x else t(x)) hcc <- hclustfun(distc) ddc <- as.dendrogram(hcc) ddc <- reorderfun(ddc, Colv) colInd <- order.dendrogram(ddc) if(nc != length(colInd)) stop("column dendrogram ordering gave index of wrong length") } else if(!isTRUE(Colv)) { colInd <- 1:nc ddc <- as.dendrogram(hclust(dist(diag(nc)))) } else { colInd <- 1:nc ddc <- as.dendrogram(Colv) } retval$rowInd <- rowInd retval$colInd <- colInd retval$call <- match.call() ## reorder x & cellnote x <- x[rowInd, colInd] x.unscaled <- x cellnote <- cellnote[rowInd, colInd] if(is.null(labRow)) labRow <- if(is.null(rownames(x))) (1:nr)[rowInd] else rownames(x) else labRow <- labRow[rowInd] if(is.null(labCol)) labCol <- if(is.null(colnames(x))) (1:nc)[colInd] else colnames(x) else labCol <- labCol[colInd] if(!is.null(colRow)) colRow <- colRow[rowInd] if(!is.null(colCol)) colCol <- colCol[colInd] if(scale == "row") { retval$rowMeans <- rm <- rowMeans(x, na.rm = na.rm) x <- sweep(x, 1, rm) retval$rowSDs <- sx <- apply(x, 1, sd, na.rm = na.rm) x <- sweep(x, 1, sx, "/") } else if(scale == "column") { retval$colMeans <- rm <- colMeans(x, na.rm = na.rm) x <- sweep(x, 2, rm) retval$colSDs <- sx <- apply(x, 2, sd, na.rm = na.rm) x <- sweep(x, 2, sx, "/") } ## Set up breaks and force values outside the range into the endmost bins if(missing(breaks) || is.null(breaks) || length(breaks)<1 ) { if( missing(col) || is.function(col) ) breaks <- 16 else breaks <- length(col)+1 } if(length(breaks)==1) { if(!symbreaks) breaks <- seq( min(x, na.rm=na.rm), max(x,na.rm=na.rm), length=breaks) else { extreme <- max(abs(x), na.rm=TRUE) breaks <- seq( -extreme, extreme, length=breaks ) } } nbr <- length(breaks) ncol <- length(breaks)-1 if(is(col, "function")) col <- col(ncol) min.breaks <- min(breaks) max.breaks <- max(breaks) x[xmax.breaks] <- max.breaks ## Calculate the plot layout if( missing(lhei) || is.null(lhei) ) lhei <- c(keysize, 4) if( missing(lwid) || is.null(lwid) ) lwid <- c(keysize, 4) if( missing(lmat) || is.null(lmat) ) { lmat <- rbind(4:3, 2:1) if(!missing(ColSideColors)) { ## add middle row to layout if(!is.character(ColSideColors) || length(ColSideColors) != nc) stop("'ColSideColors' must be a character vector of length ncol(x)") lmat <- rbind(lmat[1,]+1, c(NA,1), lmat[2,]+1) lhei <- c(lhei[1], 0.2, lhei[2]) } if(!missing(RowSideColors)) { ## add middle column to layout if(!is.character(RowSideColors) || length(RowSideColors) != nr) stop("'RowSideColors' must be a character vector of length nrow(x)") lmat <- cbind(lmat[,1]+1, c(rep(NA, nrow(lmat)-1), 1), lmat[,2]+1) lwid <- c(lwid[1], 0.2, lwid[2]) } lmat[is.na(lmat)] <- 0 } if(length(lhei) != nrow(lmat)) stop("lhei must have length = nrow(lmat) = ", nrow(lmat)) if(length(lwid) != ncol(lmat)) stop("lwid must have length = ncol(lmat) =", ncol(lmat)) ## Graphics `output' ----------------------- op <- par(no.readonly = TRUE) on.exit(par(op)) layout(lmat, widths = lwid, heights = lhei, respect = FALSE) plot.index <- 1 ## draw the side bars if(!missing(RowSideColors)) { par(mar = c(margins[1],0, 0,0.5)) iy <- if (revC) nr:1 else 1:nr image(rbind(iy), col = RowSideColors[rowInd], axes = FALSE) plot.index <- plot.index + 1 } if(!missing(ColSideColors)) { par(mar = c(0.5,0, 0,margins[2])) image(cbind(1:nc), col = ColSideColors[colInd], axes = FALSE) plot.index <- plot.index + 1 } ## draw the main carpet par(mar = c(margins[1], 0, 0, margins[2])) #if(scale != "none" || !symm) # { x <- t(x) cellnote <- t(cellnote) # } if(revC) { ## x columns reversed iy <- nr:1 if(exists("ddr")) ddr <- rev(ddr) x <- x[,iy] cellnote <- cellnote[,iy] } else iy <- 1:nr ## display the main carpet image(1:nc, 1:nr, x, xlim = 0.5+ c(0, nc), ylim = 0.5+ c(0, nr), axes = FALSE, xlab = "", ylab = "", col=col, breaks=breaks, ...) retval$carpet <- x if(exists("ddr")) retval$rowDendrogram <- ddr if(exists("ddc")) retval$colDendrogram <- ddc retval$breaks <- breaks retval$col <- col ## fill 'na' positions with na.color if(!invalid(na.color) & any(is.na(x))) { mmat <- ifelse(is.na(x), 1, NA) image(1:nc, 1:nr, mmat, axes = FALSE, xlab = "", ylab = "", col=na.color, add=TRUE) } ## add column labels if(is.null(srtCol) && is.null(colCol)) axis(1, 1:nc, labels= labCol, las= 2, line= -0.5 + offsetCol, tick= 0, cex.axis= cexCol, hadj=adjCol[1], padj=adjCol[2] ) else { if(is.null(srtCol) || is.numeric(srtCol)) { if(missing(adjCol) || is.null(adjCol)) adjCol=c(1,NA) if(is.null(srtCol)) srtCol <- 90 xpd.orig <- par("xpd") par(xpd=NA) xpos <- axis(1, 1:nc, labels=rep("", nc), las=2, tick=0) text(x=xpos, y=par("usr")[3] - (1.0 + offsetCol) * strheight("M"), labels=labCol, ##pos=1, adj=adjCol, cex=cexCol, srt=srtCol, col=colCol ) par(xpd=xpd.orig) } else warning("Invalid value for srtCol ignored.") } ## add row labels if(is.null(srtRow) && is.null(colRow)) { axis(4, iy, labels=labRow, las=2, line=-0.5+offsetRow, tick=0, cex.axis=cexRow, hadj=adjRow[1], padj=adjRow[2] ) } else { if(is.null(srtRow) || is.numeric(srtRow)) { xpd.orig <- par("xpd") par(xpd=NA) ypos <- axis(4, iy, labels=rep("", nr), las=2, line= -0.5, tick=0) if (revC) ypos <- rev(ypos) text(x=par("usr")[2] + (1.0 + offsetRow) * strwidth("M"), y=ypos, labels=labRow, adj=adjRow, cex=cexRow, srt=srtRow, col=colRow ) par(xpd=xpd.orig) } else warning("Invalid value for srtRow ignored.") } ## add row and column headings (xlab, ylab) if(!is.null(xlab)) mtext(xlab, side = 1, line = margins[1] - 1.25) if(!is.null(ylab)) mtext(ylab, side = 4, line = margins[2] - 1.25) ## perform user-specified function if (!missing(add.expr)) eval(substitute(add.expr)) ## add 'background' colored spaces to visually separate sections if(!missing(colsep)) for(csep in colsep) rect(xleft =csep+0.5, ybottom=0, xright=csep+0.5+sepwidth[1], ytop=ncol(x)+1, lty=1, lwd=1, col=sepcolor, border=sepcolor) if(!missing(rowsep)) for(rsep in rowsep) rect(xleft =0, ybottom= (ncol(x)+1-rsep)-0.5, xright=nrow(x)+1, ytop = (ncol(x)+1-rsep)-0.5 - sepwidth[2], lty=1, lwd=1, col=sepcolor, border=sepcolor) ## show traces min.scale <- min(breaks) max.scale <- max(breaks) x.scaled <- scale01(t(x), min.scale, max.scale) if(trace %in% c("both","column") ) { retval$vline <- vline vline.vals <- scale01(vline, min.scale, max.scale) for( i in 1:length(colInd) ) { if(!is.null(vline)) { abline(v=i-0.5 + vline.vals, col=linecol, lty=2) } xv <- rep(i, nrow(x.scaled)) + x.scaled[,i] - 0.5 xv <- c(xv[1], xv) yv <- 1:length(xv)-0.5 lines(x=xv, y=yv, lwd=1, col=tracecol, type="s") } } if(trace %in% c("both","row") ) { retval$hline <- hline hline.vals <- scale01(hline, min.scale, max.scale) for( i in 1:length(rowInd) ) { if(!is.null(hline)) { abline(h=i - 0.5 + hline.vals, col=linecol, lty=2) } yv <- rep(i, ncol(x.scaled)) + x.scaled[i,] - 0.5 yv <- rev(c(yv[1], yv)) xv <- length(yv):1-0.5 lines(x=xv, y=yv, lwd=1, col=tracecol, type="s") } } if(!missing(cellnote)) text(x=c(row(cellnote)), y=c(col(cellnote)), labels=c(cellnote), col=notecol, cex=notecex) plot.index <- plot.index + 1 ## increment plot.index and then do ## latout_set( lmat, plot.index ) ## to set to the correct plot region, instead of ## relying on plot.new(). ## the two dendrograms : par(mar = c(margins[1], 0, 0, 0)) if( dendrogram %in% c("both","row") ) { flag <- try( plot.dendrogram(ddr, horiz = TRUE, axes = FALSE, yaxs = "i", leaflab = "none") ) if("try-error" %in% class(flag)) { cond <- attr(flag, "condition") if(!is.null(cond) && conditionMessage(cond)=="evaluation nested too deeply: infinite recursion / options(expressions=)?") stop('Row dendrogram too deeply nested, recursion limit exceeded. Try increasing option("expressions"=...).') } } else plot.new() par(mar = c(0, 0, if(!is.null(main)) 5 else 0, margins[2])) if( dendrogram %in% c("both","column") ) { flag <- try( plot.dendrogram(ddc, axes = FALSE, xaxs = "i", leaflab = "none") ) if("try-error" %in% class(flag)) { cond <- attr(flag, "condition") if(!is.null(cond) && conditionMessage(cond)=="evaluation nested too deeply: infinite recursion / options(expressions=)?") stop('Column dendrogram too deeply nested, recursion limit exceeded. Try increasing option("expressions"=...).') } } else plot.new() ## title if(!is.null(main)) title(main, cex.main = 1.5*op[["cex.main"]]) ## Add the color-key if(key) { mar <- c(5, 4, 2, 1) if (!is.null(key.xlab) && is.na(key.xlab)) mar[1] <- 2 if (!is.null(key.ylab) && is.na(key.ylab)) mar[2] <- 2 if (!is.null(key.title) && is.na(key.title)) mar[3] <- 1 par(mar = mar, cex=0.75, mgp=c(2, 1, 0)) if (length(key.par) > 0) do.call(par, key.par) tmpbreaks <- breaks if(symkey) { max.raw <- max(abs(c(x,breaks)),na.rm=TRUE) min.raw <- -max.raw tmpbreaks[1] <- -max(abs(x), na.rm=TRUE) tmpbreaks[length(tmpbreaks)] <- max(abs(x), na.rm=TRUE) } else { min.raw <- min.breaks max.raw <- max.breaks } z <- seq(min.raw, max.raw, by=min(diff(breaks)/100)) image(z=matrix(z, ncol=1), col=col, breaks=tmpbreaks, xaxt="n", yaxt="n") par(usr=c(0,1,0,1)) if (is.null(key.xtickfun)) { lv <- pretty(breaks) xv <- scale01(as.numeric(lv), min.raw, max.raw) xargs <- list(at=xv, labels=lv) } else { xargs <- key.xtickfun() } xargs$side <- 1 do.call(axis, xargs) if (is.null(key.xlab)) { if(scale=="row") key.xlab <- "Row Z-Score" else if(scale=="column") key.xlab <- "Column Z-Score" else key.xlab <- "Value" } if (!is.na(key.xlab)) { mtext(side=1, key.xlab, line=par("mgp")[1], padj=0.5, cex=par("cex") * par("cex.lab")) } if(density.info=="density") { dens <- density(x, adjust=densadj, na.rm=TRUE, from=min.scale, to=max.scale) omit <- dens$x < min(breaks) | dens$x > max(breaks) dens$x <- dens$x[!omit] dens$y <- dens$y[!omit] dens$x <- scale01(dens$x, min.raw, max.raw) lines(dens$x, dens$y / max(dens$y) * 0.95, col=denscol, lwd=1) if (is.null(key.ytickfun)) { yargs <- list(at=pretty(dens$y)/max(dens$y) * 0.95, labels=pretty(dens$y)) } else { yargs <- key.ytickfun() } yargs$side <- 2 do.call(axis, yargs) if (is.null(key.title)) key.title <- "Color Key\nand Density Plot" if (!is.na(key.title)) title(key.title) par(cex=0.5) if (is.null(key.ylab)) key.ylab <- "Density" if (!is.na(key.ylab)) mtext(side=2,key.ylab, line=par("mgp")[1], padj=0.5, cex=par("cex") * par("cex.lab")) } else if(density.info=="histogram") { h <- hist(x, plot=FALSE, breaks=breaks) hx <- scale01(breaks, min.raw, max.raw) hy <- c(h$counts, h$counts[length(h$counts)]) lines(hx, hy/max(hy)*0.95, lwd=1, type="s", col=denscol) if (is.null(key.ytickfun)) { yargs <- list(at=pretty(hy)/max(hy) * 0.95, labels=pretty(hy)) } else { yargs <- key.ytickfun() } yargs$side <- 2 do.call(axis, yargs) if (is.null(key.title)) key.title <- "Color Key\nand Histogram" if (!is.na(key.title)) title(key.title) par(cex=0.5) if (is.null(key.ylab)) key.ylab <- "Count" if (!is.na(key.ylab)) mtext(side=2,key.ylab, line=par("mgp")[1], padj=0.5, cex=par("cex") * par("cex.lab")) } else { if (is.null(key.title)) key.title <- "Color Key" if (!is.na(key.title)) title(key.title) } if(trace %in% c("both","column") ) { vline.vals <- scale01(vline, min.raw, max.raw) if(!is.null(vline)) { abline(v=vline.vals, col=linecol, lty=2) } } if(trace %in% c("both","row") ) { hline.vals <- scale01(hline, min.raw, max.raw) if(!is.null(hline)) { abline(v=hline.vals, col=linecol, lty=2) } } } else { par(mar=c(0, 0, 0, 0)) plot.new() } ## Create a table showing how colors match to (transformed) data ranges retval$colorTable <- data.frame( low=retval$breaks[-length(retval$breaks)], high=retval$breaks[-1], color=retval$col ) # Store layout information, suggested by Jenny Drnevich retval$layout <- list(lmat = lmat, lhei = lhei, lwid = lwid ) ## If user has provided an extra function, call it. if(!is.null(extrafun)) extrafun() invisible( retval ) } gplots/R/nobs.R0000644000176200001440000000112513003720415013041 0ustar liggesusers# $Id: nobs.R 1799 2014-04-05 18:38:23Z warnes $ ## Redefine here, so that the locally defined methods (particularly ## nobs.default) take precidence over the ones now defined in the ## stats package nobs <- function(object, ...) UseMethod("nobs") nobs.default <- function(object, ...) { if(is.numeric(object) || is.logical(object)) sum( !is.na(object) ) else stats::nobs(object, ...) } nobs.data.frame <- function(object, ...) sapply(object, nobs.default) ## Now provided by 'stats' package, so provide alias to satisfy ## dependencies nobs.lm <- stats:::nobs.lm gplots/R/baseOf.R0000644000176200001440000000077112471456250013320 0ustar liggesusers # transform base # v = value of base 10 to be transformed # b = new base # l = minimal length of returned array (default is 1) # return value: array of factors, highest exponent first baseOf<-function(v,b,l=1) { remainder<-v i<-l ret<-NULL while(remainder>0 || i>0) { #print(paste("i=",i," remainder=",remainder)) m<-remainder%%b if (is.null(ret)) { ret<-m } else { ret<-c(m,ret) } remainder <- remainder %/% b i<-i-1 } return(ret) } gplots/R/residplot.R0000644000176200001440000000064512471456250014126 0ustar liggesusers# $Id: residplot.R 1012 2006-11-14 22:25:06Z ggorjan $ residplot <- function(model, formula, ...) { data <- expand.model.frame( model, formula, na.expand=TRUE) newform <- eval(parse( text=paste("as.call(", "resid(model) ~", formula[-1],")" ))) plot( newform, data=data, ylab="Residuals") lines(lowess( newform, data=data ), col="red") bandplot(newform,data=data) } gplots/R/space.R0000644000176200001440000000265412471456250013216 0ustar liggesusers# $Id: space.R 625 2005-06-09 14:20:30Z nj7w $ # When there are two or more points with the same (x,y) value (or # within x+-s[1] and x+-s[2]), space these out in the y direction so # that the points are separated by at least distance s. space <- function(x,y,s=1/50, na.rm=TRUE, direction="x") { if(direction!='x') { tmp <- y y <- x x <- tmp } if(na.rm) { ind <- is.na(x) | is.na(y) x <- x[!ind] y <- y[!ind] } if (length(s)==1) s <- c(s,s) spacing.x <- (max(x) - min(x))*s[1] spacing.y <- (max(y) - min(y))*s[2] within <- function(x,y,delta) { abs(x-y) < delta } # sort x,y so we can do the work ord <- order(x,y) undo <- order(ord) x <- x[ord] y <- y[ord] startsame <- 1 same.x <- x[1] same.y <- y[1] for( i in 1:length(x) ) { if(i>1 && within(x[i],same.x,spacing.x) && within(y[i],same.y,spacing.y) ) { if(x[startsame] == same.x ) x[startsame] <- x[startsame] cumrun <- i - startsame x[i] <- x[i] + (-1)^(cumrun+1) * floor((cumrun+1) /2) * spacing.x } else { startsame <- i same.x <- x[i] same.y <- y[i] } } if(direction!='x') { tmp <- y y <- x x <- tmp } return( list(x=x[undo], y=y[undo]) ) } gplots/R/bubbleplot.R0000644000176200001440000000444014676043125014252 0ustar liggesusersbubbleplot <- function(x, ...) { UseMethod("bubbleplot") } bubbleplot.default <- function(x, y, z, std=TRUE, pow=0.5, add=FALSE, rev=FALSE, type="p", ylim=NULL, xlab=NULL, ylab=NULL, pch=c(16,1), cex.points=1, col="black", bg=par("bg"), ...) { pch <- rep(pch, length.out=2) col <- rep(col, length.out=2) bg <- rep(bg, length.out=2) if(is.matrix(x)) # matrix or table { dnn <- names(dimnames(x)) if(is.null(xlab)) xlab <- if(is.null(dnn)) "" else dnn[2] if(is.null(ylab)) ylab <- if(is.null(dnn)) "" else dnn[1] y <- as.data.frame(as.table(x))[[1]] z <- as.data.frame(as.table(x))[[3]] x <- as.data.frame(as.table(x))[[2]] } if(is.list(x)) # data.frame or list { xyz <- all(c("x","y","z") %in% names(x)) # colnames include x,y,z if(is.null(xlab)) xlab <- if(xyz) "x" else names(x)[1] if(is.null(ylab)) ylab <- if(xyz) "y" else names(x)[2] if(xyz) { y <- x$y z <- x$z x <- x$x } else { y <- x[[2]] z <- x[[3]] x <- x[[1]] } } if(is.null(xlab)) xlab <- deparse(substitute(x)) if(is.null(ylab)) ylab <- deparse(substitute(y)) ## Convert factor to numeric x <- type.convert(as.character(x), as.is=TRUE) y <- type.convert(as.character(y), as.is=TRUE) if(is.null(ylim)) ylim <- range(y) if(rev) ylim <- rev(ylim) if(std) mycex <- cex.points * (abs(z)/mean(abs(z)))^pow else mycex <- cex.points * abs(z)^pow if(!add) suppressWarnings(plot(x, y, type="n", ylim=ylim, xlab=xlab, ylab=ylab, ...)) suppressWarnings(points(x[z>0], y[z>0], type=type, cex=mycex[z>0], pch=pch[1], col=col[1], bg=bg[1], ...)) suppressWarnings(points(x[z<0], y[z<0], type=type, cex=mycex[z<0], pch=pch[2], col=col[2], bg=bg[2], ...)) } bubbleplot.formula <- function(formula, data, subset, na.action=NULL, ...) { m <- match.call(expand.dots=FALSE) if(is.matrix(eval(m$data,parent.frame()))) m$data <- as.data.frame(data) m$... <- NULL m[[1L]] <- quote(model.frame) mf <- eval(m, parent.frame()) if(ncol(mf) < 3) stop("formula must have the form z ~ x + y") bubbleplot.default(mf[c(2,3,1)], ...) } gplots/R/overplot.R0000644000176200001440000001170512516260671013772 0ustar liggesusers# $Id: overplot.R 1947 2015-04-23 21:18:42Z warnes $ panel.overplot <- function(formula, data, subset, col, lty, ...) { m <- match.call() m[[1]] <- as.name("plot") eval(m, parent.frame() ) m[[1]] <- as.name("lowess") tmp <- eval(m, parent.frame() ) lines( tmp, col=col, lwd=2, lty=lty ) } overplot <- function (formula, data = parent.frame(), same.scale=FALSE, xlab, ylab, xlim, ylim, min.y, max.y, log='', panel='panel.overplot', subset, plot=TRUE, groups, main, f=2/3, ... ) { ### # check that the formula had the right form ### if( length(formula)!=3 || length(formula[[3]]) != 3 || formula[[3]][[1]] != as.name("|") ) stop("Formula must be of the form y ~ x1 | x2") if(!missing(subset)) { flag <- eval(substitute(subset), envir=data) data <- data[flag,] } ### # Get the actual formula values ### cond <- eval(formula[[3]][[3]], envir=data, parent.frame()) x <- eval(formula[[3]][[2]], envir=data, parent.frame()) y <- eval(formula[[2]], envir=data, parent.frame()) #print(data.frame(cond,x,y)) y.all.min <- min(y, na.rm=TRUE) y.all.max <- max(y, na.rm=TRUE) x.all.min <- min(x, na.rm=TRUE) x.all.max <- max(x, na.rm=TRUE) if (length(cond) == 0) { cond <- list(as.factor(rep(1, length(x)))) } if (!is.factor(cond)) { cond <- factor(cond) } ### # create a new call to the requested function ### mycall <- match.call(expand.dots=FALSE) mycall$panel <- mycall$plot <- mycall$groups <- mycall$same.scale <- NULL mycall$min.y <- mycall$max.y <- NULL mycall$data <- data # remove condition from formula mycall$formula[3] <- formula[[3]][2] # function name if(is.character(panel)) panel <- as.name(panel) else panel <- deparse(substitute(panel)) mycall[[1]] <- as.name(panel) # ylim if(same.scale) { if(missing(ylim)) mycall$ylim <- range(y[y>0],na.rm=TRUE) } # xlim is always the same for all graphs if(missing(xlim)) if(log %in% c("x","xy")) mycall$xlim <- range(x[x>0],na.rm=TRUE) else mycall$xlim <- range(x,na.rm=TRUE) ### # Only plot groups with non-na entries ## tmp <- na.omit(data.frame(x,y,cond)) leveln <- sapply( split(tmp, tmp$cond), nrow ) if(missing(groups)) groups <- names(leveln) ngroups <- length(groups) if(!missing(min.y) && length(min.y==1)) min.y <- rep(min.y, length=ngroups) if(!missing(max.y) && length(max.y==1)) max.y <- rep(max.y, length=ngroups) ### # Set up the plot regions ### oldpar <- par()['mar'] on.exit(par(oldpar)) par(mar=par("mar") +c(0,ngroups*2.5,0,0)) ### # Ok. Now iterate over groups ## i <- 1 for(level in groups) { if(i>1) { par(new=TRUE) } mycall$subset <- (cond==level) mycall$ylab <- '' mycall$xlab <- '' mycall$xaxt = 'n' mycall$yaxt = 'n' mycall$pch = i mycall$col = i mycall$lty = i tmp.y <- y[mycall$subset & cond==level] ## If nothing to plot, skip to next level if(!any(is.finite(tmp.y))) next min.tmp.y <- min(tmp.y, na.rm=TRUE) max.tmp.y <- max(tmp.y, na.rm=TRUE) if( !missing(min.y) || !missing(max.y) ) { if(!missing(min.y) && !missing(max.y) ) { mycall$ylim <- c(min.y[i], max.y[i]) } else if(missing(min.y) && !missing(max.y)) { if(same.scale) mycall$ylim <- c(y.all.min, max.y[i]) else mycall$ylim <- c(min.tmp.y, max.y[i]) } else # !missing(min.y) && missing(max.y) { if(same.scale) mycall$ylim <- c(min.y[i], y.all.max) else mycall$ylim <- c(min.y[i], max.tmp.y) } } if(plot) { status <- try( eval(mycall, parent.frame()) ) if('try-error' %in% class(status)) break; } usr <- par("usr") axis(side=2,line=2.5*(i-1),lty=i,col=i,lwd=2) title(ylab=level, line=2.5*(i-1)) if(i == 1) axis(side=1) i <- i+1 } if(missing(xlab)) xlab <- as.character(formula[[3]][[2]]) if(missing(ylab)) ylab <- as.character(formula[[2]]) if(missing(main)) main <- paste("plot of ", xlab, "vs.", ylab, "by", as.character(formula[[3]][[3]])) if(i>1) { title(main=main,xlab=xlab) title(ylab=ylab, line=2.5*(i-1)) } par(oldpar) invisible( split(data.frame(x,y),cond) ) } gplots/R/venn.R0000644000176200001440000001303714676050661013073 0ustar liggesusers# This code plots Venn Diagrams for up to 5 sets. The # function getVennCounts is passed a list of vectors. # This is transformed into a table indicating the # number of intersections for each intersection. This table # is generated for any number of sets. # The function drawVennDiagram plots circles (up to three # sets) or ellipses (4 and 5 sets) to depict the sets. # The sum of values placed is the number of entries of # each set. # Function to determine values of a venn diagram # It works for an arbitrary large set of input sets. # getVennCounts <- function(l, universe, verbose=F, ...) UseMethod("getVennCounts") getVennCounts.data.frame <- function(l, universe=NA, verbose=F, ...) { if (verbose) cat("Interpreting data as data.frame.\n") if( !all(unique(unlist(l)) %in% c(0,1)) ) stop("Only indicator columns permitted") l <- lapply( l, function(x) which(as.logical(x))) getVennCounts.list(l, universe=universe, verbose=verbose) } getVennCounts.matrix <- function(l, universe=NA, verbose=F, ...) { getVennCounts.data.frame(as.data.frame(l), universe=NA, verbose=F, ...) } # l offers a list of arrays, their values are to # be tested for the size of their intersects. getVennCounts.list<-function(l, universe=NA, verbose=F, intersections=TRUE, ...) { if (verbose) cat("Interpreting data as list.\n") numSets<-length(l) result.table<-NULL result.table.names<-NULL memberList <- list() # Iteration over all possible intersections involving all sets # or the complement (negation) of those sets. for (i in 0:(-1 + 2^numSets)) { # i2 is a binary representation of that number i2<-baseOf(i,2,numSets) # some debug output #print(paste(i,":",paste(i2,collapse="",sep=""))) # p.pos determines the position in number # which is also the set that is inspected sel<-universe # positive selection first for (p.pos in which(1 == i2) ) { current.set<-l[[p.pos]] if (!is.null(dim(current.set))) { # circumventing strange experiences with data.frames warning(paste("List element [[",p.pos,"]] has dimensions, but all elements are considered.\n",sep="")) current.set<-as.character(as.matrix(current.set)) dim(current.set)<-NULL } #print(paste("set ",p.pos,", val=1: ",paste(current.set,collapse=","))) if (is.null(sel)) { #print("Sel is null") } else if (1 == length(sel) && is.na(sel)) { sel<-current.set } else { w<-which(sel %in% current.set) if (length(w)>0) { sel<-sel[w] } else { sel<-NULL } } } # something should be in sel now, otherwise # the number will be 0 # negative selection for (p.pos in which(0 == i2) ) { if (is.null(sel) || ( 1 == length(sel) && is.na(sel))) { # The complement is not known, hence no checks done } else { current.set<-l[[p.pos]] if (!is.null(dim(current.set))) { warning(paste("List element [[",p.pos,"]] has dimensions, but all elements are considered.\n",sep="")) current.set<-as.character(as.matrix(current.set)) dim(current.set)<-NULL } w<-which( ! sel %in% current.set) #print(paste("set ",p.pos,", val=1: ",paste(current.set,collapse=","))) if (length(w)>0) { sel<-sel[w] } else { sel<-NULL } } } #print(paste("sel:",paste(sel,collapse=","))) if(is.null(sel) || (1 == length(sel) && is.na(sel))) { sel<-NULL } r.name<-paste(i2,collapse="") if (intersections) { memberList[[r.name]] <- sel } r<-length(sel) result.row<-c(r,i2) dim(result.row)<-c(1,length(result.row)) rownames(result.row)<-c(r.name) #print(paste("Adding ",r.name)) if (is.null(result.table)) { result.table<-result.row } else { result.table<-rbind(result.table,result.row) } #if (is.null(result.table)) { # result.table<-r # result.table.names<-r.name #} #else { # result.table<-c(result.table,r) # result.table.names<-c(result.table.names,r.name) #} } #names(result.table)<-result.table.names if (is.null(names(l))) { colnames(result.table)<-c("num",LETTERS[1:numSets]) } else{ colnames(result.table)<-c("num",names(l)) } if (intersections) { attr(result.table,"intersections") <- memberList } class(result.table) <- "venn" return(result.table) } #print(getVennCounts(list(A,B,C,D))) #print(getVennCounts(list(a=A,b=B,c=C,d=D))) venn <- function(data, universe=NA, small=0.7, showSetLogicLabel=FALSE, simplify=FALSE, show.plot=TRUE, intersections=TRUE, names, ... ) { counts <- getVennCounts(data, universe=universe, intersections=intersections ) if(show.plot) drawVennDiagram(data=counts, small=small, showSetLogicLabel=showSetLogicLabel, simplify=simplify, ... ) # use VennMemberNames to properly label and order the 'intersection' table if(intersections) attr(counts, "intersections") <- vennMembers(l=data, universe=universe, names=names ) invisible(counts) } gplots/R/wapply.R0000644000176200001440000000362212471456251013434 0ustar liggesusers# $Id: wapply.R 1012 2006-11-14 22:25:06Z ggorjan $ "wapply" <- function( x, y, fun=mean, method="range", width, n=50, drop.na=TRUE, pts, ...) { method <- match.arg(method, c("width","range","nobs","fraction")) if(missing(width)) if( method=="nobs" ) width <- max(5, length(x)/10 ) else width <- 1/10 if(method == "width" || method == "range" ) { if(method=="range") width <- width * diff(range(x)) if(missing(pts)) pts <- seq(min(x),max(x),length.out=n) result <- sapply( pts, function(pts,y,width,fun,XX,...) { low <- min((pts-width/2),max(XX)) high <- max((pts+width/2), min(XX)) return (fun(y[(XX>= low) & (XX<=high)],...)) }, y=y, width=width, fun=fun, XX = x, ...) if(drop.na) { missing <- is.na(pts) & is.na(result) pts <- pts[!missing] result <- result[!missing] } return(list(x=pts,y=result)) } else # method=="nobs" || method=="fraction" { if( method=="fraction") width <- floor(length(x) * width) ord <- order(x) x <- x[ord] y <- y[ord] n <- length(x) center <- 1:n below <- sapply(center - width/2, function(XX) max(1,XX) ) above <- sapply(center + width/2, function(XX) min(n,XX) ) retval <- list() retval$x <- x retval$y <- apply(cbind(below,above), 1, function(x) fun(y[x[1]:x[2]],...) ) if(drop.na) { missing <- is.na(retval$x) | is.na(retval$y) retval$x <- retval$x[!missing] retval$y <- retval$y[!missing] } return(retval) } } gplots/R/barplot2.R0000644000176200001440000003123512471456250013645 0ustar liggesusers# Revision 2.1 2005/06/06 # - Modified default behavior with 0's and NA's in # 'height' so that these values are not plotted. # - Warning messages added in the case of the above. # Revision 2.0 2005/04/27 # - Added panel.first and panel.last arguments # - As per R 2.0.0, the default barplot() method by default uses a # gamma-corrected grey palette (rather than the heat color # palette) for coloring its output when given a matrix. barplot2 <- function(height, ...) UseMethod("barplot2") barplot2.default <- function( height, width = 1, space = NULL, names.arg = NULL, legend.text = NULL, beside = FALSE, horiz = FALSE, density = NULL, angle = 45, col = NULL, prcol = NULL, border = par("fg"), main = NULL, sub = NULL, xlab = NULL, ylab = NULL, xlim = NULL, ylim = NULL, xpd = TRUE, log = "", axes = TRUE, axisnames = TRUE, cex.axis = par("cex.axis"), cex.names = par("cex.axis"), inside = TRUE, plot = TRUE, axis.lty = 0, offset = 0, plot.ci = FALSE, ci.l = NULL, ci.u = NULL, ci.color = "black", ci.lty = "solid", ci.lwd = 1, ci.width = 0.5, plot.grid = FALSE, grid.inc = NULL, grid.lty = "dotted", grid.lwd = 1, grid.col = "black", add = FALSE, panel.first = NULL, panel.last = NULL, ...) { if (!missing(inside)) .NotYetUsed("inside", error = FALSE)# -> help(.) if (missing(space)) space <- if (is.matrix(height) && beside) c(0, 1) else 0.2 space <- space * mean(width) if (plot && axisnames && missing(names.arg)) names.arg <- if(is.matrix(height)) colnames(height) else names(height) if (is.vector(height) || (is.array(height) && (length(dim(height)) == 1))) { ## Treat vectors and 1-d arrays the same. height <- cbind(height) beside <- TRUE ## The above may look strange, but in particular makes color ## specs work as most likely expected by the users. if(is.null(col)) col <- "grey" } else if (is.matrix(height)) { ## In the matrix case, we use " heat colors" by default. if(is.null(col)) col <- heat.colors(nrow(height)) } else stop(paste(sQuote("height"), "must be a vector or a matrix")) if(is.logical(legend.text)) legend.text <- if(legend.text && is.matrix(height)) rownames(height) # Check for log scales logx <- FALSE logy <- FALSE if (log != "") { if (any(grep("x", log))) logx <- TRUE if (any(grep("y", log))) logy <- TRUE } # Cannot "hatch" with rect() when log scales used if ((logx || logy) && !is.null(density)) stop("Cannot use shading lines in bars when log scale is used") NR <- nrow(height) NC <- ncol(height) if (beside) { if (length(space) == 2) space <- rep.int(c(space[2], rep.int(space[1], NR - 1)), NC) width <- rep(width, length.out = NR) } else width <- rep(width, length.out = NC) offset <- rep(as.vector(offset), length.out = length(width)) delta <- width / 2 w.r <- cumsum(space + width) w.m <- w.r - delta w.l <- w.m - delta #if graphic will be stacked bars, do not plot ci if (!beside && (NR > 1) && plot.ci) plot.ci = FALSE # error check ci arguments if (plot && plot.ci) { if ((missing(ci.l)) || (missing(ci.u))) stop("confidence interval values are missing") if (is.vector(ci.l) || (is.array(ci.l) && (length(dim(ci.l)) == 1))) ci.l <- cbind(ci.l) else if (!is.matrix(ci.l)) stop(paste(sQuote("ci.l"), "must be a vector or a matrix")) if (is.vector(ci.u) || (is.array(ci.u) && (length(dim(ci.u)) == 1))) ci.u <- cbind(ci.u) else if (!is.matrix(ci.u)) stop(paste(sQuote("ci.u"), "must be a vector or a matrix")) if (any(dim(height) != dim(ci.u))) stop(paste(sQuote("height"), "and", sQuote("ci.u"), "must have the same dimensions.")) else if (any(dim(height) != dim(ci.l))) stop(paste(sQuote("height"), "and", sQuote("ci.l"), "must have the same dimensions.")) } # check height + offset/ci.l if using log scale to prevent log(<=0) error # adjust appropriate ranges and bar base values if ((logx && horiz) || (logy && !horiz)) { # Check for NA values and issue warning if required height.na <- sum(is.na(height)) if (height.na > 0) { warning(sprintf("%.0f values == NA in 'height' omitted from logarithmic plot", height.na), domain = NA) } # Check for 0 values and issue warning if required # _FOR NOW_ change 0's to NA's so that other calculations are not # affected. 0's and NA's affect plot output in the same way anyway, # except for stacked bars, so don't change those. height.lte0 <- sum(height <= 0, na.rm = TRUE) if (height.lte0 > 0) { warning(sprintf("%0.f values <=0 in 'height' omitted from logarithmic plot", height.lte0), domain = NA) # If NOT stacked bars, modify 'height' if (beside) height[height <= 0] <- NA } if (plot.ci && (min(ci.l) <= 0)) stop("log scale error: at least one lower c.i. value <= 0") if (logx && !is.null(xlim) && (xlim[1] <= 0)) stop("log scale error: 'xlim[1]' <= 0") if (logy && !is.null(ylim) && (ylim[1] <= 0)) stop("'log scale error: 'ylim[1]' <= 0") # arbitrary adjustment to display some of bar for min(height) since # 0 cannot be used with log scales. If plot.ci, also check ci.l if (plot.ci) { rectbase <- c(height[is.finite(height)], ci.l) rectbase <- min(0.9 * rectbase[rectbase > 0]) } else { rectbase <- height[is.finite(height)] rectbase <- min(0.9 * rectbase[rectbase > 0]) } # if axis limit is set to < above, adjust bar base value # to draw a full bar if (logy && !is.null(ylim) && !horiz) rectbase <- ylim[1] else if (logx && !is.null(xlim) && horiz) rectbase <- xlim[1] # if stacked bar, set up base/cumsum levels, adjusting for log scale if (!beside) height <- rbind(rectbase, apply(height, 2, cumsum)) # if plot.ci, be sure that appropriate axis limits are set to include range(ci) lim <- if (plot.ci) c(height, ci.l, ci.u) else height rangeadj <- c(0.9 * lim + offset, lim + offset) rangeadj <- rangeadj[rangeadj > 0] } else { # Use original bar base value rectbase <- 0 # if stacked bar, set up base/cumsum levels if (!beside) height <- rbind(rectbase, apply(height, 2, cumsum)) # if plot.ci, be sure that appropriate axis limits are set to include range(ci) lim <- if (plot.ci) c(height, ci.l, ci.u) else height # use original range adjustment factor rangeadj <- c(-0.01 * lim + offset, lim + offset) } # define xlim and ylim, adjusting for log-scale if needed if (horiz) { if (missing(xlim)) xlim <- range(rangeadj, na.rm=TRUE) if (missing(ylim)) ylim <- c(min(w.l), max(w.r)) } else { if (missing(xlim)) xlim <- c(min(w.l), max(w.r)) if (missing(ylim)) ylim <- range(rangeadj, na.rm=TRUE) } if (beside) w.m <- matrix(w.m, ncol = NC) if(plot) ##-------- Plotting : { opar <- if (horiz) par(xaxs = "i", xpd = xpd) else par(yaxs = "i", xpd = xpd) on.exit(par(opar)) # If add = FALSE open new plot window # else allow for adding new plot to existing window if (!add) { plot.new() plot.window(xlim, ylim, log = log, ...) } # Execute the panel.first expression. This will work here # even if 'add = TRUE' panel.first # Set plot region coordinates usr <- par("usr") # adjust par("usr") values if log scale(s) used if (logx) { usr[1] <- 10 ^ usr[1] usr[2] <- 10 ^ usr[2] } if (logy) { usr[3] <- 10 ^ usr[3] usr[4] <- 10 ^ usr[4] } # if prcol specified, set plot region color if (!missing(prcol)) rect(usr[1], usr[3], usr[2], usr[4], col = prcol) # if plot.grid, draw major y-axis lines if vertical or x axis if horizontal # R V1.6.0 provided axTicks() as an R equivalent of the C code for # CreateAtVector. Use this to determine default axis tick marks when log # scale used to be consistent when no grid is plotted. # Otherwise if grid.inc is specified, use pretty() if (plot.grid) { par(xpd = FALSE) if (is.null(grid.inc)) { if (horiz) { grid <- axTicks(1) abline(v = grid, lty = grid.lty, lwd = grid.lwd, col = grid.col) } else { grid <- axTicks(2) abline(h = grid, lty = grid.lty, lwd = grid.lwd, col = grid.col) } } else { if (horiz) { grid <- pretty(xlim, n = grid.inc) abline(v = grid, lty = grid.lty, lwd = grid.lwd, col = grid.col) } else { grid <- pretty(ylim, n = grid.inc) abline(h = grid, lty = grid.lty, lwd = grid.lwd, col = grid.col) } } par(xpd = xpd) } xyrect <- function(x1,y1, x2,y2, horizontal = TRUE, ...) { if(horizontal) rect(x1,y1, x2,y2, ...) else rect(y1,x1, y2,x2, ...) } if (beside) xyrect(rectbase + offset, w.l, c(height) + offset, w.r, horizontal=horiz, angle = angle, density = density, col = col, border = border) else { for (i in 1:NC) xyrect(height[1:NR, i] + offset[i], w.l[i], height[-1, i] + offset[i], w.r[i], horizontal=horiz, angle = angle, density = density, col = col, border = border) } # Execute the panel.last expression here panel.last if (plot.ci) { # CI plot width = barwidth / 2 half.ci.width = width * ci.width / 2 if (horiz) { segments(ci.l, w.m, ci.u, w.m, col = ci.color, lty = ci.lty, lwd = ci.lwd) segments(ci.l, w.m - half.ci.width, ci.l, w.m + half.ci.width, col = ci.color, lty = ci.lty, lwd = ci.lwd) segments(ci.u, w.m - half.ci.width, ci.u, w.m + half.ci.width, col = ci.color, lty = ci.lty, lwd = ci.lwd) } else { segments(w.m, ci.l, w.m, ci.u, col = ci.color, lty = ci.lty, lwd = ci.lwd) segments(w.m - half.ci.width, ci.l, w.m + half.ci.width, ci.l, col = ci.color, lty = ci.lty, lwd = ci.lwd) segments(w.m - half.ci.width, ci.u, w.m + half.ci.width, ci.u, col = ci.color, lty = ci.lty, lwd = ci.lwd) } } if (axisnames && !is.null(names.arg)) # specified or from {col}names { at.l <- if (length(names.arg) != length(w.m)) { if (length(names.arg) == NC) # i.e. beside (!) colMeans(w.m) else stop("incorrect number of names") } else w.m axis(if(horiz) 2 else 1, at = at.l, labels = names.arg, lty = axis.lty, cex.axis = cex.names, ...) } if(!is.null(legend.text)) { legend.col <- rep(col, length = length(legend.text)) if((horiz & beside) || (!horiz & !beside)) { legend.text <- rev(legend.text) legend.col <- rev(legend.col) density <- rev(density) angle <- rev(angle) } # adjust legend x and y values if log scaling in use if (logx) legx <- usr[2] - ((usr[2] - usr[1]) / 10) else legx <- usr[2] - xinch(0.1) if (logy) legy <- usr[4] - ((usr[4] - usr[3]) / 10) else legy <- usr[4] - yinch(0.1) legend(legx, legy, legend = legend.text, angle = angle, density = density, fill = legend.col, xjust = 1, yjust = 1) } title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...) # if axis is to be plotted, adjust for grid "at" values if (axes) { if(plot.grid) axis(if(horiz) 1 else 2, at = grid, cex.axis = cex.axis, ...) else axis(if(horiz) 1 else 2, cex.axis = cex.axis, ...) } invisible(w.m) } else w.m } gplots/R/sinkplot.R0000644000176200001440000000247412471456250013766 0ustar liggesusers# $Id: sinkplot.R 1673 2013-06-27 20:20:46Z warnes $ sinkplotEnv <-new.env() sinkplot <- function(operation=c("start","plot","cancel"),...) { operation <- match.arg(operation) if( operation=="start" ) { if (exists(".sinkplot.conn", envir=sinkplotEnv) && get(".sinkplot.conn", envir=sinkplotEnv) ) stop("sinkplot already in force") .sinkplot.conn <- textConnection(".sinkplot.data", "w", local=FALSE) assign(x=".sinkplot.conn", value=.sinkplot.conn, envir=sinkplotEnv) on.exit(sink()) sink(.sinkplot.conn) on.exit() } else { if (!exists(".sinkplot.conn", envir=sinkplotEnv) || !get(".sinkplot.conn", envir=sinkplotEnv) ) stop("No sinkplot currently in force") sink() data <- get(".sinkplot.data", envir=sinkplotEnv) if( operation=="plot" ) textplot( paste( data, collapse="\n"), ... ) close(get(".sinkplot.conn", envir=sinkplotEnv)) if(exists(".sinkplot.data", envir=sinkplotEnv, inherits=FALSE)) rm(list=".sinkplot.data", pos=sinkplotEnv, inherits=FALSE) if(exists(".sinkplot.conn", envir=sinkplotEnv, inherits=FALSE)) rm(list=".sinkplot.conn", pos=sinkplotEnv, inherits=FALSE) invisible(data) } } gplots/R/print.ci2d.R0000644000176200001440000000202012471456251014063 0ustar liggesusers## $Id$ print.ci2d <- function(x, ...) { cat("\n") cat("----------------------------\n") cat("2-D Confidence Region Object\n") cat("----------------------------\n") cat("\n") cat("Call: ") print(x$call) cat("\n") cat("Number of data points: ", x$nobs, "\n") cat("Number of grid points: ", length(x$x), "x", length(x$y), "\n") cat("Number of confidence regions:", length(x$contours), "\n") cat("\n") tab <- data.frame( "Region"=1:length(x$contours), "CI Level"=as.numeric(names(x$contours)), "X Min"=sapply(x$contours, function(XX) min(XX$x)), "X Max"=sapply(x$contours, function(XX) max(XX$x)), "Y Min"=sapply(x$contours, function(XX) min(XX$y)), "Y Max"=sapply(x$contours, function(XX) max(XX$y)) ) print(tab, row.names=FALSE, ...) x$summary <- tab class(x) <- c("ci2d.summary", "ci2d") return(x) } gplots/R/zzz.R0000644000176200001440000000074613727071650012762 0ustar liggesusers# Make sure to have: # sudo apt-get install texinfo # sudo apt-get install texlive # shell('git log --graph --stat --date=short --pretty=format:"%ad(%an) %s |%h" > ChangeLog', intern = TRUE) # system('git log --graph --stat --date=short --pretty=format:"%ad(%an) %s |%h" > ChangeLog', intern = TRUE) # file.copy("NEWS", "NEWS.md",overwrite = TRUE) # devtools::check_win_devel() # pkgdown::build_home() # pkgdown::build_site(run_dont_run = TRUE) # pkgdown::build_site() # release()gplots/R/plot.lowess.R0000644000176200001440000000123412676546007014414 0ustar liggesusersplotLowess <- function (formula, data=parent.frame(), ..., subset=parent.frame(), col.lowess="red", lty.lowess=2 ) { m <- match.call(expand.dots=TRUE) m[[1]] <- as.name("plot") eframe <- parent.frame() eval(m, eframe) m[[1]] <- as.name("lowess") lw <- eval(m, eframe) lines(lw, col=col.lowess, lty=lty.lowess) grid() invisible(lw) } plot.lowess <- function(x, y, ..., col.lowess="red", lty.lowess=2) { m <- x$call m[[1]] <- quote(plot) m <- as.call(append(as.list(m), list(...))) eval(m, envir = parent.frame()) lines(x$x, x$y, col=col.lowess, lty=lty.lowess) grid() invisible(x) } gplots/R/smartlegend.R0000644000176200001440000000036212674770005014424 0ustar liggesusers# $Id: smartlegend.R 2089 2016-03-24 13:47:48Z warnes $ smartlegend <- function(x=c("left","center","right"), y=c("top","center","bottom"), ..., inset=0.05 ) .Defunct('legend', 'gplots') gplots/R/print.hist2d.R0000644000176200001440000000107612471456250014450 0ustar liggesusers# $Id: hist2d.R 1471 2011-08-16 01:03:31Z warnes $ print.hist2d <- function(x, ...) { cat("\n") cat("----------------------------\n") cat("2-D Histogram Object\n") cat("----------------------------\n") cat("\n") cat("Call: ") print(x$call) cat("\n") cat("Number of data points: ", x$nobs, "\n") cat("Number of grid bins: ", length(x$x), "x", length(x$y), "\n") cat("X range: (", min(x$x.breaks), ",", max(x$x.breaks), ")\n") cat("Y range: (", min(x$y.breaks), ",", max(x$y.breaks), ")\n") cat("\n") } gplots/R/lowess.R0000644000176200001440000000342312675270660013437 0ustar liggesusers# make stats::lowess into a generic base-function lowess.default <- function (x, y = NULL, f = 2/3, iter = 3L, delta = 0.01 * diff(range(x)), ...) { m <- match.call() m[[1L]] <- quote(stats::lowess) retval <- eval(m, envir=parent.frame()) class(retval) <- "lowess" retval$call <- match.call() retval } lowess <- function(x,...) UseMethod("lowess") "lowess.formula" <- function (formula, data = parent.frame(), ..., subset, f=2/3, iter=3, delta=.01*diff(range(mf[-response])) ) { if (missing(formula) || (length(formula) != 3)) stop("formula missing or incorrect") m <- match.call(expand.dots = FALSE) eframe <- parent.frame() md <- eval(m$data, eframe) if (is.matrix(md)) m$data <- md <- as.data.frame(data) dots <- lapply(m$..., eval, md, eframe) nmdots <- names(dots) m$... <- m$f <- m$iter <- m$delta <- NULL subset.expr <- m$subset m$subset <- NULL m <- as.list(m) m[[1L]] <- stats::model.frame.default m <- as.call(c(m, list(na.action = NULL))) mf <- eval(m, eframe) if (!missing(subset)) { s <- eval(subset.expr, data, eframe) l <- nrow(mf) dosub <- function(x) if (length(x) == l) x[s] else x dots <- lapply(dots, dosub) mf <- mf[s, ] } mf <- na.omit(mf) response <- attr(attr(mf, "terms"), "response" ) retval <- stats::lowess(mf[[-response]], mf[[response]], f=f, iter=iter, delta=delta) class(retval) <- "lowess" retval$call <- match.call() retval } gplots/R/textplot.R0000644000176200001440000001547212471456250014010 0ustar liggesusers# $Id: textplot.R 1213 2007-11-01 20:20:10Z warnes $ textplot <- function(object, halign="center", valign="center", cex, ... ) UseMethod('textplot') textplot.default <- function(object, halign=c("center","left","right"), valign=c("center","top","bottom"), cex, ... ) { if (is.matrix(object) || (is.vector(object) && length(object)>1) ) return(textplot.matrix(object, halign, valign, cex, ... )) halign <- match.arg(halign) valign <- match.arg(valign) textplot.character(object, halign, valign, cex, ...) } textplot.data.frame <- function(object, halign=c("center","left","right"), valign=c("center","top","bottom"), cex, ... ) textplot.matrix(object, halign, valign, cex, ... ) textplot.matrix <- function(object, halign=c("center","left","right"), valign=c("center","top","bottom"), cex, cmar=2, rmar=0.5, show.rownames=TRUE, show.colnames=TRUE, hadj=1, vadj=1, mar= c(1,1,4,1)+0.1, col.data=par("col"), col.rownames=par("col"), col.colnames=par("col"), ... ) { if(is.vector(object)) object <- t(as.matrix(object)) else object <- as.matrix(object) # check dimensions of col.data, col.rownames, col.colnames if(length(col.data)==1) col.data <- matrix(col.data, nrow=nrow(object), ncol=ncol(object)) else if( nrow(col.data)!=nrow(object) || ncol(col.data)!=ncol(object) ) stop("Dimensions of 'col.data' do not match dimensions of 'object'.") if(length(col.rownames)==1) col.rownames <- rep(col.rownames, nrow(object)) if(length(col.colnames)==1) if(show.rownames) col.colnames <- rep(col.colnames, ncol(object)+1) else col.colnames <- rep(col.colnames, ncol(object)) halign=match.arg(halign) valign=match.arg(valign) opar <- par()[c("mar","xpd","cex")] on.exit( par(opar) ) par(mar=mar, xpd=FALSE ) # setup plot area plot.new() plot.window(xlim=c(0,1),ylim=c(0,1), log = "", asp=NA) # add 'r-style' row and column labels if not present if( is.null(colnames(object) ) ) colnames(object) <- paste( "[,", 1:ncol(object), "]", sep="" ) if( is.null(rownames(object)) ) rownames(object) <- paste( "[", 1:nrow(object), ",]", sep="") # extend the matrix to include row and column labels if( show.rownames ) { object <- cbind( rownames(object), object ) col.data <- cbind( col.rownames, col.data ) } if( show.colnames ) { object <- rbind( colnames(object), object ) col.data <- rbind( col.colnames, col.data ) } # set the character size if( missing(cex) ) { cex <- 1.0 lastloop <- FALSE } else { lastloop <- TRUE } for (i in 1:20) { oldcex <- cex width <- sum( apply( object, 2, function(x) max(strwidth(x,cex=cex) ) ) ) + strwidth('M', cex=cex) * cmar * ncol(object) height <- strheight('M', cex=cex) * nrow(object) * (1 + rmar) if(lastloop) break cex <- cex / max(width,height) if (abs(oldcex - cex) < 0.001) { lastloop <- TRUE } } # compute the individual row and column heights rowheight<-strheight("W",cex=cex) * (1 + rmar) colwidth<- apply( object, 2, function(XX) max(strwidth(XX, cex=cex)) ) + strwidth("W")*cmar width <- sum(colwidth) height <- rowheight*nrow(object) # setup x alignment if(halign=="left") xpos <- 0 else if(halign=="center") xpos <- 0 + (1-width)/2 else #if(halign=="right") xpos <- 0 + (1-width) # setup y alignment if(valign=="top") ypos <- 1 else if (valign=="center") ypos <- 1 - (1-height)/2 else #if (valign=="bottom") ypos <- 0 + height x <- xpos y <- ypos # iterate across elements, plotting them xpos<-x for(i in 1:ncol(object)) { xpos <- xpos + colwidth[i] for(j in 1:nrow(object)) { ypos<-y-(j-1)*rowheight if( (show.rownames && i==1) || (show.colnames && j==1) ) text(xpos, ypos, object[j,i], adj=c(hadj,vadj), cex=cex, font=2, col=col.data[j,i], ... ) else text(xpos, ypos, object[j,i], adj=c(hadj,vadj), cex=cex, font=1, col=col.data[j,i], ... ) } } par(opar) } textplot.character <- function (object, halign = c("center", "left", "right"), valign = c("center", "top", "bottom"), cex, fixed.width=TRUE, cspace=1, lspace=1, mar=c(0,0,3,0)+0.1, tab.width=8, ...) { object <- paste(object,collapse="\n",sep="") object <- replaceTabs(object, width=tab.width) halign = match.arg(halign) valign = match.arg(valign) plot.new() opar <- par()[c("mar","xpd","cex","family")] on.exit( par(opar) ) par(mar=mar,xpd=FALSE ) if(fixed.width) par(family="mono") plot.window(xlim = c(0, 1), ylim = c(0, 1), log = "", asp = NA) slist <- unlist(lapply(object, function(x) strsplit(x,'\n'))) slist <- lapply(slist, function(x) unlist(strsplit(x,''))) slen <- sapply(slist, length) slines <- length(slist) if (missing(cex)) { lastloop <- FALSE cex <- 1 } else lastloop <- TRUE for (i in 1:20) { oldcex <- cex #cat("cex=",cex,"\n") #cat("i=",i,"\n") #cat("calculating width...") cwidth <- max(sapply(unlist(slist), strwidth, cex=cex)) * cspace #cat("done.\n") #cat("calculating height...") cheight <- max(sapply(unlist(slist), strheight, cex=cex)) * ( lspace + 0.5 ) #cat("done.\n") width <- strwidth(object, cex=cex) height <- strheight(object, cex=cex) if(lastloop) break cex <- cex / max(width, height) if (abs(oldcex - cex) < 0.001) { lastloop <- TRUE } } if (halign == "left") xpos <- 0 else if (halign == "center") xpos <- 0 + (1 - width)/2 else xpos <- 0 + (1 - width) if (valign == "top") ypos <- 1 else if (valign == "center") ypos <- 1 - (1 - height)/2 else ypos <- 1 - (1 - height) text(x=xpos, y=ypos, labels=object, adj=c(0,1), cex=cex, ...) par(opar) invisible(cex) } gplots/R/colorpanel.R0000644000176200001440000000344612471456250014261 0ustar liggesusers# $Id: colorpanel.R 736 2005-11-18 00:16:28Z warnes $ colorpanel <- function(n,low,mid,high) { if(missing(mid) || missing(high) ) { ## convert to rgb low <- col2rgb(low) if(missing(high)) high <- col2rgb(mid) else high <- col2rgb(high) red <- seq(low[1,1], high[1,1], length=n)/255 green <- seq(low[3,1], high[3,1], length=n)/255 blue <- seq(low[2,1], high[2,1], length=n)/255 } else # use a center color { isodd <- odd(n) if(isodd) { n <- n+1 } ## convert to rgb low <- col2rgb(low) mid <- col2rgb(mid) high <- col2rgb(high) ## determine length of each component lower <- floor(n/2) upper <- n - lower red <- c( seq(low[1,1], mid [1,1], length=lower), seq(mid[1,1], high[1,1], length=upper) )/255 green <- c( seq(low[3,1], mid [3,1], length=lower), seq(mid[3,1], high[3,1], length=upper) )/255 blue <- c( seq(low[2,1], mid [2,1], length=lower), seq(mid[2,1], high[2,1], length=upper) )/255 if(isodd) { red <- red [-(lower+1)] green <- green[-(lower+1)] blue <- blue [-(lower+1)] } } rgb(red,blue,green) } # Generate red-to-green colorscale redgreen <- function(n) colorpanel(n, 'red', 'black', 'green') greenred <- function(n) colorpanel(n, 'green', 'black', 'red' ) bluered <- function(n) colorpanel(n, 'blue','white','red') redblue <- function(n) colorpanel(n, 'red','white','blue') gplots/R/layout_set.R0000644000176200001440000000035412610002016014264 0ustar liggesuserslayout_set <- function(mat, index) { mfg <- par("mfg") mfg[1:2] = which(mat==index, arr.ind=TRUE)[1,] par(mfg=mfg) invisible(mfg) } layout_show <- function(mat) { graphics::layout.show( max(mat) ) mat } gplots/R/qqnorm.aov.R0000644000176200001440000000174114676043125014222 0ustar liggesusers# $Id: qqnorm.aov.R 625 2005-06-09 14:20:30Z nj7w $ qqnorm.aov <- function (y, full = FALSE, label = FALSE, omit = NULL, xlab = paste(if(full) "" else "Half", " Normal plot"), ylab = "Effects", ...) { r <- y$rank eff <- if (full) effects(y, set.sign = TRUE)[1:r] else abs(effects(y))[1:r] na <- names(eff) int <- match("(Intercept)", na) if (!is.null(omit)) { if (is.character(omit)) { int <- c(int, match(omit, na)) } else int <- c(int, omit) } int <- int[!is.na(int)] if (length(int)) eff <- eff[-int] n <- length(eff) if (n <= 0) stop("Not enough effects") ord <- order(eff) na <- names(eff) P <- if (full) ppoints(n) else ((1:n) + n)/(2 * n + 1) Q <- qnorm(P) plot(x = Q, y = eff[ord], xlab = xlab, ylab = ylab, ...) if (label && dev.interactive()) identify(Q, eff[ord], names(eff)[ord]) } gplots/R/rich.colors.R0000644000176200001440000000270012471456250014340 0ustar liggesusersrich.colors <- function(n, palette="temperature", alpha=1, rgb=FALSE, plot=FALSE) { if(n <= 0) return(character(0)) palette <- match.arg(palette, c("temperature","blues")) x <- seq(0, 1, length=n) if(palette == "temperature") { r <- 1 / (1+exp(20-35*x)) g <- pmin(pmax(0,-0.8+6*x-5*x^2), 1) b <- dnorm(x,0.25,0.15) / max(dnorm(x,0.25,0.15)) } else { r <- 0.6*x + 0.4*x^2 g <- 1.5*x - 0.5*x^2 b <- 0.36 + 2.4*x - 2.0*x^2 b[x>0.4] <- 1 } rgb.m <- matrix(c(r,g,b), ncol=3, dimnames=list(NULL,c("red","green","blue"))) col <- mapply(rgb, r, g, b, alpha) if(rgb) attr(col, "rgb") <- cbind(rgb.m, alpha) if(plot) { opar <- par("fig", "plt") par(fig=c(0,1,0,0.7), plt=c(0.15,0.9,0.2,0.95)) plot(NA, xlim=c(-0.01,1.01), ylim=c(-0.01,1.01), xlab="Spectrum", ylab="", xaxs="i", yaxs="i", axes=FALSE) title(ylab="Value", mgp=c(3.5,0,0)) matlines(x, rgb.m, col=colnames(rgb.m), lty=1, lwd=3) matpoints(x, rgb.m, col=colnames(rgb.m), pch=16) axis(1, at=0:1) axis(2, at=0:1, las=1) par(fig=c(0,1,0.75,0.9), plt=c(0.08,0.97,0,1), new=TRUE) midpoints <- barplot(rep(1,n), col=col, border=FALSE, space=FALSE, axes=FALSE) axis(1, at=midpoints, labels=1:n, lty=0, cex.axis=0.6) par(opar) } return(col) } gplots/R/ooplot.R0000644000176200001440000005071112471456251013435 0ustar liggesusers# $Id: ooplot.R 1557 2012-06-08 17:56:37Z warnes $ ooplot <- function(data, ...) UseMethod("ooplot") ooplot.default <- function(data, width=1, space=NULL, names.arg=NULL, legend.text=NULL, horiz=FALSE, density=NULL, angle=45, kmg="fpnumkMGTP", kmglim=TRUE, type=c("xyplot", "linear", "barplot", "stackbar"), col=heat.colors(NC), prcol=NULL, border=par("fg"), main=NULL, sub=NULL, xlab=NULL, ylab=NULL, xlim=NULL, ylim=NULL, xpd=TRUE, log="", axes=TRUE, axisnames=TRUE, prval=TRUE, lm=FALSE, cex.axis=par("cex.axis"), cex.names=par("cex.axis"), cex.values=par("cex"),inside=TRUE, plot=TRUE, axis.lty=0, plot.ci=FALSE, ci.l=NULL, ci.u=NULL, ci.color="black", ci.lty="solid", ci.lwd=1, plot.grid=FALSE, grid.inc=NULL, grid.lty="dotted", grid.lwd=1, grid.col="black", add=FALSE, by.row=FALSE, ...) { ## ## oopplot function block ## ## this is the location of the helper functions for this method ## optlim <- function(lim, log=FALSE) { ## define xlim and ylim, adjusting for log-scale if needed factor <- 1.05 if (log) { min <- 10^floor(log10(lim[1]/factor)) max <- 10^ceiling(log10(factor*lim[2])) } else { range <- (factor*lim[2]-lim[1]/factor) if (range>0) { ## we know the range, now find the optimal start and endpoints scale <- 10^floor(log10(range)) min <- scale*(floor((lim[1]/factor)/scale)) max <- scale*(ceiling(factor*lim[2]/scale)) } else { min=0 max=1 } } if (type=="barplot" || type=="stackbar") max=max+1 return(c(min, max)) } linearfitplot <- function(x,y,xlim,col) { ## calculate a linear fit through the datapoints and plot local <- data.frame(x=x,y=y) local.lm <- lm(y ~ x, data=local) summary <- summary(local.lm) xmin=min(x) xmax=max(x) if (xlim[1]xmax) { x2=mean(xlim[2],xmax) } else { x2=min(max(x),xlim[2]) } y1=summary$coefficients[2,1]*x1+summary$coefficients[1,1] y2=summary$coefficients[2,1]*x2+summary$coefficients[1,1] p1=c(x1,x2) p2=c(y1,y2) lines(p1,p2,col=col,lty=2,lwd=2) } castNA <- function(matrix) { newmatrix <- matrix for (j in 1:ncol(matrix)) { for (i in 1:nrow(matrix)) { newmatrix[i,j] <- ifelse(is.na(matrix[i,j]),0,matrix[i,j]) } } return(newmatrix) } ## ## End of function block ## ## In R, most people think about data in columns rather than rows if(by.row) data <- as.matrix(data) else data <- t(as.matrix(data)) ## make sure we only accept the supported plot options type <- match.arg(type) ## check data validity if( nrow(data) < 2 ) stop("At least 2 columns are required.") ## check defaults if (!missing(inside)) .NotYetUsed("inside", error=FALSE)# -> help(.) ## set the beside parameter if (type=="stackbar") { beside <- FALSE data <- castNA(data) } else beside <- TRUE ## split the data into x and y values height <- data[-1,,drop=FALSE] heightscale <- "" heightsymbol <- "" ## if ((kmg!="") && (kmglim==TRUE)){ ## ## auto scale the parameters ## ## now scale the data, valid factors are ## P : peta=1E15 ## T : tera=1E12 ## G : giga=1E09 ## M : mega=1E06 ## k : kilo=1E03 ## m : milli=1E-03 ## u : micro=1E-06 ## n : nano=1E-09 ## p : pico=1E-12 ## f : femto=1E-15 maxheight <- max(abs(height), na.rm=TRUE) heightfactor <- 1 if (maxheight>10E15 && any(grep("P", kmg))) { heightfactor <- 1E15 heightscale <- "Peta" heightsymbol <- "P" } else if (maxheight>1E12 && any(grep("T", kmg))) { heightfactor <- 1E12 heightscale <- "Tera" heightsymbol <- "T" } else if (maxheight>1E09 && any(grep("G", kmg))) { heightfactor <- 1E09 heightscale <- "Giga" heightsymbol <- "G" } else if (maxheight>1E06 && any(grep("M", kmg))) { heightfactor <- 1E06 heightscale <- "Mega" heightsymbol <- "M" } else if (maxheight>1E03 && any(grep("k", kmg))) { heightfactor <- 1E03 heightscale <- "Kilo" heightsymbol <- "k" } else if (maxheight<1E-15 && any(grep("f", kmg))) { heightfactor <- 1E-15 heightscale <- "Femto" heightsymbol <- "f" } else if (maxheight<1E-12 && any(grep("p", kmg))) { heightfactor <- 1E-12 heightscale <- "Pico" heightsymbol <- "p" } else if (maxheight<1E-09 && any(grep("n", kmg))) { heightfactor <- 1E-09 heightscale <- "Nano" heightsymbol <- "n" } else if (maxheight<1E-06 && any(grep("u", kmg))) { heightfactor <- 1E-06 heightscale <- "Micro" heightsymbol <- "u" } else if (maxheight<1E-03 && any(grep("m", kmg))) { heightfactor <- 1E-03 heightscale <- "Milli" heightsymbol <- "m" } height <- height/heightfactor } ## fill the xaxis data set and matching rownames xaxis <- data[1, ] rownames <- rownames(data) ## if (missing(space)) space <- if (is.matrix(height) && beside) c(0, 1) else 0.2 space <- space * mean(width) ## if (plot && axisnames && missing(names.arg)) { if (type=="xyplot") names.arg <- colnames(height) else if (type=="linear") names.arg <- xaxis else if (type=="barplot") names.arg <- xaxis else if (type=="stackbar") names.arg <- xaxis else names.arg <- xaxis } ## set the legend text if it is null if(is.logical(legend.text)) legend.text <- rownames[-c(1)] ## if(legend.text && is.matrix(height)) rownames(height) ## else colnames(height) if (is.vector(height) || is.array(height)) { height <- rbind(height) } else if (!is.matrix(height)) stop("`height' must be a vector or a matrix") ## Check for log scales logx <- FALSE logy <- FALSE if (log !="") { if (any(grep("x", log))) logx <- TRUE if (any(grep("y", log))) logy <- TRUE } ## Cannot "hatch" with rect() when log scales used if ((logx || logy) && !is.null(density)) stop("Cannot use shading lines in bars when log scale is used") ## Set the size of Rows and Columns NR <- nrow(height) NC <- ncol(height) ## w.r, w.l, w.m are the x-axis coordinates if (type=="barplot") { if (NR<1) NR <- 1 if (NC<1) NC <- 1 if (length(space)==2) { space <- rep.int(c(space[2], rep.int(space[1], NR - 1)), NC) } width <- rep(width, length=NR * NC) } else if (type=="stackbar") { width <- rep(width, length=NC) } else { width <- rep(width, length=NC) delta <- width / 2 } ## set the proper x-axis scale ## linear is a switch between equidistant and scaled if (type=="xyplot") { delta <- 0 w.m <- xaxis w.r <- w.m + delta w.l <- w.m - delta } else if (type=="linear") { w.r <- cumsum(width) w.m <- w.r - delta w.l <- w.m - delta xaxis <- w.m } else if(type=="barplot" || type=="stackbar") { delta <- width / 2 w.r <- cumsum(space + width) w.m <- w.r - delta w.l <- w.m - delta ##if graphic will be stacked bars, do not plot ci if (beside && (NR > 1) && plot.ci) plot.ci=FALSE } else stop("Unkown plot type") ## error check ci arguments if (plot && plot.ci) { if ((missing(ci.l)) || (missing(ci.u))) stop("confidence interval values are missing") if (is.vector(ci.l)) ci.l <- cbind(ci.l) else if (is.array(ci.l) && (length(dim(ci.l))==1)) ci.l <- rbind(ci.l) else if (!is.matrix(ci.l)) stop("`ci.l' must be a vector or a matrix") if (is.vector(ci.u)) ci.u <- cbind(ci.u) else if (is.array(ci.u) && (length(dim(ci.u))==1)) ci.u <- rbind(ci.u) else if (!is.matrix(ci.u)) stop("`ci.u' must be a vector or a matrix") if ( any(dim(height) !=dim(ci.u) ) ) stop("'height' and 'ci.u' must have the same dimensions.") else if ( any( dim(height) !=dim(ci.l) ) ) stop("'height' and 'ci.l' must have the same dimensions.") } if (beside) w.m <- matrix(w.m, ncol=NC) ## check height/ci.l if using log scale to prevent log(<=0) error ## adjust appropriate ranges and bar base values if ((logx && horiz) || (logy && !horiz)) { if (min(height, na.rm=TRUE) <=0) stop("log scale error: at least one 'height' value <=0") if (plot.ci && (min(ci.l) <=0)) stop("log scale error: at least one lower c.i. value <=0") if (logx && !is.null(xlim) && (xlim[1] <=0)) stop("log scale error: 'xlim[1]' <=0") if (logy && !is.null(ylim) && (ylim[1] <=0)) stop("'log scale error: 'ylim[1]' <=0") ## arbitrary adjustment to display some of bar for min(height) ## or min(ci.l) if (plot.ci) rectbase <- rangeadj <- (0.9 * min(c(height, ci.l))) else rectbase <- rangeadj <- (0.9 * min(height)) ## if axis limit is set to < above, adjust bar base value ## to draw a full bar if (logy && !is.null(ylim)) rectbase <- ylim[1] else if (logx && !is.null(xlim)) rectbase <- xlim[1] ## if stacked bar, set up base/cumsum levels, adjusting for log scale if (type=="stackbar") { heightdata <- height ## remember the original values height <- rbind(rectbase, apply(height, 2, cumsum)) } ## if plot.ci, be sure that appropriate axis limits are set to ## include range(ci) lim <- if (plot.ci) c(height, ci.l, ci.u) else height } else { ## Use original bar base value rectbase <- 0 ## if stacked bar, set up base/cumsum levels if (type=="stackbar") { heightdata <- height ## remember the original values height <- rbind(rectbase, apply(height, 2, cumsum)) } ## if plot.ci, be sure that appropriate axis limits are set to ## include range(ci) lim <- if (plot.ci) c(height, ci.l, ci.u) else height ## use original range adjustment factor rangeadj <- (-0.01 * lim) } ## calculate the ranges ourselves if (missing(xlim)) xlim <- optlim(range(w.l, w.r, na.rm=TRUE), logx) if (missing(ylim)) ylim <- optlim(range(height, na.rm=TRUE), logy) ## if(plot) ##-------- Plotting : { if (type=="barplot" || type=="stackbar") { if (horiz) rectbase <- xlim[1] ## make sure the xlimit and the rectbase ## are in sync else rectbase <- ylim[1] ## make sure the ylimit and rectbase are in sync opar <- if (horiz) par(xaxs="i", xpd=xpd) else par(yaxs="i", xpd=xpd) } else { opar <- if (horiz) par(xaxs="r", yaxs="r", xpd=xpd) else par(xaxs="r", yaxs="r", xpd=xpd) } on.exit(par(opar)) ## If add=FALSE open new plot window ## else allow for adding new plot to existing window if (!add) { plot.new() plot.window(xlim, ylim, log=log, ...) } ## Set plot region coordinates usr <- par("usr") ## adjust par("usr") values if log scale(s) used if (logx) { usr[1] <- 10 ^ usr[1] usr[2] <- 10 ^ usr[2] } if (logy) { usr[3] <- 10 ^ usr[3] usr[4] <- 10 ^ usr[4] } ## if prcol specified, set plot region color if (!missing(prcol)) rect(usr[1], usr[3], usr[2], usr[4], col=prcol) ## if plot.grid, draw major y-axis lines if vertical or x axis ## if horizontal R V1.6.0 provided axTicks() as an R equivalent ## of the C code for CreateAtVector. Use this to determine ## default axis tick marks when log scale used to be consistent ## when no grid is plotted. Otherwise if grid.inc is specified, ## use pretty() if (plot.grid) { par(xpd=FALSE) if (is.null(grid.inc)) { if (horiz) { grid <- axTicks(1) abline(v=grid, lty=grid.lty, lwd=grid.lwd, col=grid.col) } else { grid <- axTicks(2) abline(h=grid, lty=grid.lty, lwd=grid.lwd, col=grid.col) } } else { if (horiz) { grid <- pretty(xlim, n=grid.inc) abline(v=grid, lty=grid.lty, lwd=grid.lwd, col=grid.col) } else { grid <- pretty(ylim, n=grid.inc) abline(h=grid, lty=grid.lty, lwd=grid.lwd, col=grid.col) } } par(xpd=xpd) } ## ## end of the general setup, now get ready to plot the elements ## ## cycle through all the sets and plot the lines if (type=="xyplot" || type=="linear") { pch <- c() for (i in 1:NR) { list <- is.finite(height[i, ]) xrange <- xaxis[list] yrange <- height[i, list] lines(xrange, yrange, col=col[i]) if ((type=="xyplot") && (lm==TRUE)) linearfitplot(xrange,yrange,xlim,col[i]) symbol=21+(i %% 5) points(xrange, yrange, pch=symbol, bg=col[i], col=col[i]) pch <- c(pch, symbol) ## if (prval) { values=paste(format(yrange, digits=4), heightsymbol, sep="") chh <- par()$cxy[2] chw <- par()$cxy[1] if (logy) { factor=(yrange+chh)/yrange text(xrange, 1.1*yrange, labels=values, adj=c(0, 1), srt=0, cex=cex.values, bg="white", col="navy") } else { text(xrange, yrange+chh, labels=values, adj=c(0, 1), srt=0, cex=cex.values, bg="white", col="navy") } } } } if (type=="barplot" || type=="stackbar") { xyrect <- function(x1, y1, x2, y2, horizontal=TRUE, ...) { if(horizontal) rect(x1, y1, x2, y2, ...) else rect(y1, x1, y2, x2, ...) } chh <- par()$cxy[2] chw <- par()$cxy[1] if (type=="barplot") { xyrect(rectbase, w.l, c(height), w.r, horizontal=horiz, angle=angle, density=density, col=col, border=border) if (prval) { values=paste(format(c(height), digits=4), heightsymbol, sep="") if (horiz) { text(c(height)+chw, w.l, labels=values, adj=c(0, 1), srt=0, cex=cex.values, bg="white", col="navy") } else { text(w.l, c(height)+chh, labels=values, adj=c(0, 1), srt=0, cex=cex.values, bg="white", col="navy") } } } else if (type=="stackbar") { for (i in 1:NC) { xyrect(height[1:NR, i], w.l[i], height[-1, i], w.r[i], horizontal=horiz, angle=angle, density=density, col=col, border=border) if (prval) { for (j in 1:NR) { values=paste(format(c(heightdata[j, i]), digits=4), heightsymbol, sep="") if (horiz) { text(c(height[j, i])+chw, w.m[i], labels=values, adj=c(0, 1), srt=0, cex=cex.values, bg="white", col="navy") } else { text(w.m[i], c(height[j, i])+chh, labels=values, adj=c(0, 1), srt=0, cex=cex.values, bg="white", col="navy") } } } } } } if (plot.ci) { ## CI plot width=barwidth / 2 ci.width=width / 4 if (horiz) { segments(ci.l, w.m, ci.u, w.m, col=ci.color, lty=ci.lty, lwd=ci.lwd) segments(ci.l, w.m - ci.width, ci.l, w.m + ci.width, col=ci.color, lty=ci.lty, lwd=ci.lwd) segments(ci.u, w.m - ci.width, ci.u, w.m + ci.width, col=ci.color, lty=ci.lty, lwd=ci.lwd) } else { segments(w.m, ci.l, w.m, ci.u, col=ci.color, lty=ci.lty, lwd=ci.lwd) segments(w.m - ci.width, ci.l, w.m + ci.width, ci.l, col=ci.color, lty=ci.lty, lwd=ci.lwd) segments(w.m - ci.width, ci.u, w.m + ci.width, ci.u, col=ci.color, lty=ci.lty, lwd=ci.lwd) } } if (axisnames && !is.null(names.arg)) # specified or from {col}names { at.l <- if (length(names.arg) !=length(w.m)) { if (length(names.arg)==NC) # i.e. beside (!) colMeans(w.m) else if ((type=="barplot") && (NR==1)) { median(w.m) } else if ((type=="linear") && (NR==1)) { median(w.m) } else { stop("incorrect number of names now") } } else w.m ##axis(if(horiz) 2 else 1, at=at.l, labels=names.arg, ## lty=axis.lty, cex.axis=cex.names, ...) } if(!is.null(legend.text)) { legend.col <- rep(col, length=length(legend.text)) if((horiz & beside) || (!horiz & !beside)) { legend.text <- rev(legend.text) legend.col <- rev(legend.col) density <- rev(density) angle <- rev(angle) } ## adjust legend x and y values if log scaling in use if (logx) legx <- usr[2] - ((usr[2] - usr[1]) / 10) else legx <- usr[2] - xinch(0.1) if (logy) legy <- usr[4] - ((usr[4] - usr[3]) / 10) else legy <- usr[4] - yinch(0.1) if (type=="barplot" || type=="stackbar") { legend(legx, legy, legend=legend.text, angle=angle, density=density, fill=legend.col, xjust=1, yjust=1) } else { legend(legx, legy, legend=legend.text, ##angle=angle, ##density=density, lwd=1, col=legend.col, pch=pch, pt.bg=legend.col, xjust=1, yjust=1) } } title(main=main, sub=sub, xlab=xlab, ylab=paste(heightscale, ylab), ...) ## if axis is to be plotted, adjust for grid "at" values if (axes) { par(lab=c(10, 10, 7)) if (type=="barplot" || type=="stackbar") { axis(if(horiz) 2 else 1, at=at.l, labels=names.arg, lty=axis.lty, cex.axis=cex.names, ...) if(plot.grid) axis(if(horiz) 1 else 2, at=grid, cex.axis=cex.axis, ...) else axis(if(horiz) 1 else 2, cex.axis=cex.axis, ...) } else if (type=="linear") { if(plot.grid) { axis(if(horiz) 1 else 2, at=grid, cex.axis=cex.axis, ...) axis(if(horiz) 2 else 1, at=at.l, labels=names.arg, lty=axis.lty, cex.axis=cex.names, ...) } else { axis(if(horiz) 1 else 2, pos=0, cex.axis=cex.axis, ...) axis(if(horiz) 2 else 1, pos=ylim[1], at=at.l, labels=names.arg, cex.axis=cex.names, ...) } } else if (type=="xyplot") { if(plot.grid) { axis(if(horiz) 1 else 2, at=grid, cex.axis=cex.axis, ...) axis(if(horiz) 2 else 1, cex.axis=cex.axis, ) } else { if (horiz) { axis(1, pos=ylim[1], cex.axis=cex.axis, ...) axis(2, pos=xlim[1], cex.axis=cex.axis, ...) } else { axis(2, pos=xlim[1], cex.axis=cex.axis, ...) axis(1, pos=ylim[1], cex.axis=cex.axis, ...) } } } } invisible(w.m) } else w.m } gplots/R/vennMembers.R0000644000176200001440000000213612674776750014416 0ustar liggesusers# Extract intersections vennMembers <- function(l, universe=NA, names, ...) { venn_object <- getVennCounts(l, universe, intersections=TRUE, ...) map <- attr(venn_object, "intersections") if(missing(names)) names <- colnames(venn_object)[-1] if(is.matrix(l) || is.data.frame(l)) { ids <- rownames(l) retval <- list() for(i in names(map)) retval[[i]] <- ids[map[[i]]] } else if(is.list(l)) retval <- map flags <- do.call(rbind, strsplit(names(map), character(0), fixed=TRUE)) rownames(flags) <- names(map) colnames(flags) <- names nameList <- list() for(i in 1:nrow(flags)) nameList[[i]] <- ifelse(flags[i,]=="1", colnames(flags), "") nameList <- do.call(data.frame,nameList) nameList <- apply(nameList, 2, paste, collapse=":") nameList <- gsub('::+', ':', nameList) nameList <- gsub('^:+', '', nameList) nameList <- gsub(':+$', '', nameList) names(retval) <- nameList sortTab <- cbind(sapply(nameList, nchar), nameList) ord <- order(sortTab[,1], sortTab[,2]) retval <- retval[ord] retval <- lapply(retval, as.character) retval } gplots/R/bandplot.R0000644000176200001440000000735212471456250013726 0ustar liggesusers# $Id: bandplot.R 1906 2014-12-02 01:46:35Z warnes $ bandplot <- function(x, ...) UseMethod("bandplot") bandplot.default <- function(x, y, ..., add=FALSE, sd=c(-2:2), sd.col=c("magenta","blue","red", "blue","magenta"), sd.lwd=c(2,2,3,2,2), sd.lty=c(2,1,1,1,2), method="frac", width=1/5, n=50 ) { if(length(sd.col) 1) { unname(sapply(col, adjust_hsv, h=h, s=s, v=v, alpha=alpha)) } else { # Convert color to HSV space col.rgb <- col2rgb(col, alpha=TRUE) col.hsv <- rgb2hsv(col.rgb[1:3,]) # Adjust h, s, v, a h <- if(is.null(h)) col.hsv["h",] else h s <- if(is.null(s)) col.hsv["s",] else s v <- if(is.null(v)) col.hsv["v",] else v a <- if(is.null(alpha)) col.rgb["alpha",]/255 else alpha # Convert new color to hexadecimal RGB format col.new <- hsv(h, s, v, a) # Remove alpha if original color did not have it and user didn't specify one if(!grepl("#.{8}", col) && is.null(alpha)) col.new <- substring(col.new, 1, 7) col.new } } gplots/R/reorder.R0000644000176200001440000000226313003720415013546 0ustar liggesusersreorder.factor <- function(x, X, FUN, ..., order=is.ordered(x), new.order, sort=mixedsort) { constructor <- if (order) ordered else factor if(!missing(X) || !missing(FUN)) { if(missing(FUN)) FUN <- 'mean' ## I would prefer to call stats::reorder.default directly, ## but it exported from stats, so the relevant code is ## replicated here: ## --> scores <- tapply(X = X, INDEX = x, FUN = FUN, ...) levels <- names(base::sort(scores, na.last = TRUE)) if(order) ans <- ordered(x, levels=levels) else ans <- factor(x, levels=levels) attr(ans, "scores") <- scores ## <-- return(ans) } else if (!missing(new.order)) { if (is.numeric(new.order)) new.order <- levels(x)[new.order] else new.order <- new.order } else new.order <- sort(levels(x)) constructor(x, levels=new.order) } gplots/R/plotNode.R0000644000176200001440000000152013700411374013670 0ustar liggesusershere <- function() {} plot.dendrogram <- stats:::plot.dendrogram environment(plot.dendrogram) <- environment(here) plotNodeLimit <- stats:::plotNodeLimit environment(plotNodeLimit) <- environment(here) # .memberDend <- stats:::.memberDend .memberDend <- function (x) { r <- attr(x, "x.member") if (is.null(r)) { r <- attr(x, "members") if (is.null(r)) r <- 1L } r } environment(.memberDend) <- environment(here) # .midDend <- stats:::.midDend .midDend <- function (x) { if (is.null(mp <- attr(x, "midpoint"))) 0 else mp } environment(.midDend) <- environment(here) unByteCode <- function(fun) { FUN <- eval(parse(text=deparse(fun))) environment(FUN) <- environment(fun) FUN } plotNode <- unByteCode(stats:::plotNode) environment(plotNode) <- environment(here) gplots/R/plot.venn.R0000644000176200001440000002073512675272210014044 0ustar liggesusers plot.venn <- function(x, y, ..., small=0.7, showSetLogicLabel=FALSE, simplify=FALSE ) { drawVennDiagram( data=x, small=small, showSetLogicLabel=showSetLogicLabel, simplify=simplify ) } ## data should be a matrix. ## - The first column of the matrix is the ## count of the number of objects with the specified pattern. ## - The second and subsequent columns contain 0-1 indicators ## giving the pattern of group membership drawVennDiagram <-function(data, small=0.7, showSetLogicLabel=FALSE, simplify=FALSE) { numCircles<-NA data.colnames<-NULL data.rownames<-NULL if(is.matrix(data)) { numCircles<-ncol(data)-1 data.colnames<-colnames(data)[2:(ncol(data))] # Order is reverted since later indexing starts with # the "lowest bit" and that is expected at the left data.rownames<-rownames(data) } else { if (is.list(data)) { stop("gplots.drawVennDiagram: This internal function is used wrongly. ", "Please call the function 'venn' with the same arguments, instead.\n") } warning("drawVennDiagram: Testing only, presuming first argument to specify", "the number of circles to draw.\n") numCircles<-data } m<-(0:(-1+2^numCircles)) if (! is.matrix(data)) { ##cat("prepare randomised data\n") data<-t(sapply(X=m,FUN=function(v){ l<-baseOf(v,2,numCircles) #print(l) return(l) })) #print(data) #data.names<-apply(data,1,function(X){ # return(paste(X),collapse="") #}) for(i in m) { n<-paste(data[i+1,],collapse="") if (is.null(data.rownames)) { data.rownames<-n } else { data.rownames<-c(data.rownames,n) } } #print(data.rownames) data<-cbind(sample(1:100,size=2^numCircles,replace=TRUE),data) #print(data) rownames(data)<-data.rownames data.colnames<-LETTERS[1:numCircles] colnames(data)<-c("num",data.colnames) } plot.new() h<-400 plot.window(c(0,h), c(0,h), ylab="", xlab="") if ((2 <= numCircles && numCircles <= 3) || (4 == numCircles && simplify)) { circle <- function(x,y=NULL,r=1) { elps=cbind(r*cos(seq(0,2*pi,len=1000)), r*sin(seq(0,2*pi,len=1000))); if (!is.null(y)) { if (length(x) != length(y)) stop("circle: both x and y need to be of same length") if (is.matrix(x) && ncol(x)>1) stop("circle: if y is not NULL, then x must not be a matrix") x<-cbind(x,y) } for(i in 1:nrow(x)) { ax<-elps[,1]+rep(x[i,1],1000) ay<-elps[,2]+rep(x[i,2],1000) polygon(ax,ay) } } #nolongerreguired#require(grid) ##cat("drawing circles\n") # draw circles with radius 1.7 equally distributed # with centers on a circle of radius 1 degrees<-2*pi/numCircles*(1:numCircles) # scaling factor s<-1/8*h # radius for circles r<-3/12*h x<-sapply(degrees,FUN=sin)*s + 0.5*h y<-sapply(degrees,FUN=cos)*s + 0.5*h ##cat("filling data\n") circle(x,y,r) distFromZero<-rep(NA,2^numCircles) degrees<-rep(NA,2^numCircles) degrees[(2^numCircles)]<-0 distFromZero[(2^numCircles)]<-0 for (i in 0:(numCircles-1)) { distFromZero[2^i+1] <- r degrees[2^i+1] <- 2*pi/numCircles*i d<-degrees[2^i+1] #print(data.colnames) text( # starting from the lowest bit, hence reading # lables from the right label=data.colnames[numCircles - i], x=sin(d)*5/12*h+0.5*h, y=cos(d)*5/12*h+0.5*h ) } if (4==numCircles) { for (i in 0:(numCircles-1)) { # Current set bit plus the bit left of it and the bit right of it distFromZero[2^i +2^((i+numCircles-1)%%numCircles) +2^((i+1)%%numCircles)+1] <- 2/12*h distFromZero[2^i+1] <- 3.5/12*h degrees[2^i +2^((i+numCircles-1)%%numCircles) +2^((i+1)%%numCircles)+1] <- degrees[2^i+1] } } #degrees[2^i+1] + degrees[2^((i+1)%%numCircles)+1])/2 if (3 <=numCircles) { for (i in 0:(numCircles-1)) { distFromZero[(2^i+2^((i+1)%%numCircles))+1]<- 2.2/12*h distFromZero[2^i+1] <- 3/12*h if (i == (numCircles-1)) { degrees[(2^i+2^((i+1)%%numCircles))+1] <- ( degrees[2^i+1] + 2*pi+ degrees[1+1])/2 } else { degrees[(2^i+2^((i+1)%%numCircles))+1] <- ( degrees[2^i+1] + degrees[2^((i+1)%%numCircles)+1])/2 } } } for(i in 1:2^numCircles) { n<-paste(baseOf((i-1),2,numCircles),collapse="") v<-data[n,1] d<-degrees[i] if (1 == length(d) && is.na(d)) { if (v>0) warning("Not shown: ",n," contains ",v,"\n") } else { l<-distFromZero[i] x<-sin(d)*l+0.5*h y<-cos(d)*l+0.5*h #cat("i=",i," x=",x," y=",y," label=",n,"\n") l<-v if (showSetLogicLabel) l<-paste(n,"\n",v,sep="") text(label=l,x=x,y=y) } } } else if ( (4 == numCircles && !simplify) || numCircles <= 5 ) { # Function to turn and move ellipses/circles relocate_elp <- function(e, alpha, x, y){ phi=(alpha/180)*pi; xr=e[,1]*cos(phi)+e[,2]*sin(phi) yr=-e[,1]*sin(phi)+e[,2]*cos(phi) xr=x+xr; yr=y+yr; return(cbind(xr, yr)) } lab<-function (identifier, data, showLabel=showSetLogicLabel) { r<-data[identifier,1] if (showLabel) { return(paste(identifier,r,sep="\n")) } else { return(r) } } if (4 == numCircles) { elps=cbind(162*cos(seq(0,2*pi,len=1000)), 108*sin(seq(0,2*pi,len=1000))); #plot(c(0, 400), c(0, 400), type="n", axes=F, ylab="", xlab=""); polygon(relocate_elp(elps, 45,130,170)); polygon(relocate_elp(elps, 45,200,200)); polygon(relocate_elp(elps,135,200,200)); polygon(relocate_elp(elps,135,270,170)); text( 35, 315, data.colnames[1],cex=1.5) text(138, 347, data.colnames[2],cex=1.5) text(262, 347, data.colnames[3],cex=1.5) text(365, 315, data.colnames[4],cex=1.5) elps <- cbind(130*cos(seq(0,2*pi,len=1000)), 80*sin(seq(0,2*pi,len=1000))) text( 35, 250, lab("1000",data)); text(140, 315, lab("0100",data)); text(260, 315, lab("0010",data)); text(365, 250, lab("0001",data)); text( 90, 280, lab("1100",data), cex=small) text( 95, 110, lab("1010",data) ) text(200, 50, lab("1001",data), cex=small) text(200, 290, lab("0110",data)) text(300, 110, lab("0101",data)) text(310, 280, lab("0011",data), cex=small) text(130, 230, lab("1110",data)) text(245, 75, lab("1101",data),cex=small) text(155, 75, lab("1011",data),cex=small) text(270, 230, lab("0111",data)) text(200,150,lab("1111",data)) } else if (5 == numCircles) { elps <- cbind(150*cos(seq(0,2*pi,len=1000)), 60*sin(seq(0,2*pi,len=1000))) polygon(relocate_elp(elps, 90,200, 250)) polygon(relocate_elp(elps, 162,250, 220)) polygon(relocate_elp(elps, 234,250, 150)) polygon(relocate_elp(elps, 306,180, 125)) polygon(relocate_elp(elps, 378,145, 200)) text( 20, 295, data.colnames[1],cex=1.5) text(140, 380, data.colnames[2],cex=1.5) text(350, 318, data.colnames[3],cex=1.5) text(350, 2, data.colnames[4],cex=1.5) text( 50, 10, data.colnames[5],cex=1.5) text( 61, 228, lab("10000",data)); text(194, 329, lab("01000",data)); text(321, 245, lab("00100",data)); text(290, 81, lab("00010",data)); text(132, 69, lab("00001",data)); text(146, 250, lab("11000",data), cex=small) text(123, 188, lab("10100",data), cex=small) text(275, 152, lab("10010",data), cex=small) text(137, 146, lab("10001",data), cex=small) text(243, 268, lab("01100",data), cex=small) text(175, 267, lab("01010",data), cex=small) text(187, 117, lab("01001",data), cex=small) text(286, 188, lab("00110",data), cex=small) text(267, 235, lab("00101",data), cex=small) text(228, 105, lab("00011",data), cex=small) text(148, 210, lab("11100",data),cex=small) text(159, 253, lab("11010",data),cex=small) text(171, 141, lab("11001",data),cex=small) text(281, 175, lab("10110",data),cex=small) text(143, 163, lab("10101",data),cex=small) text(252, 145, lab("10011",data),cex=small) text(205, 255, lab("01110",data),cex=small) text(254, 243, lab("01101",data),cex=small) text(211, 118, lab("01011",data),cex=small) text(267, 211, lab("00111",data),cex=small) text(170, 231,lab("11110",data),cex=small) text(158, 169,lab("11101",data),cex=small) text(212, 139,lab("11011",data),cex=small) text(263, 180,lab("10111",data),cex=small) text(239, 232,lab("01111",data),cex=small) text(204,190,lab("11111",data)) } } else { stop(paste("Venn diagrams for ",numCircles," dimensions are not yet supported.\n")) } } gplots/R/lmplot2.R0000644000176200001440000001330312675263172013512 0ustar liggesusersplot.lm2 <- function( x, which = 1:5, caption = c("Residuals vs Fitted", "Normal Q-Q plot", "Scale-Location plot", "Cook's distance plot"), panel = panel.smooth, sub.caption = deparse(x$call), main = "", ask, ..., id.n = 3, labels.id = names(residuals(x)), cex.id = 0.75, band=TRUE, rug=TRUE, width=1/10, max.n=5000 ) { .Defunct("lmplot2", "gplots") } lmplot2 <- function( x, which = 1:5, caption = c("Residuals vs Fitted", "Normal Q-Q plot", "Scale-Location plot", "Cook's distance plot"), panel = panel.smooth, sub.caption = deparse(x$call), main = "", ask = interactive() && nb.fig < length(which) && .Device != "postscript", ..., id.n = 3, labels.id = names(residuals(x)), cex.id = 0.75, band=TRUE, rug=TRUE, width=1/10, max.n=5000 ) { if (!inherits(x, "lm")) stop("Use only with 'lm' objects") show <- rep(FALSE, 5) if(!is.numeric(which) || any(which < 1) || any(which > 5)) stop("`which' must be in 1:5") show[which] <- TRUE r <- residuals(x) n <- length(r) if(inherits(x,"glm")) yh <- predict(x) # != fitted() for glm else yh <- fitted(x) if (any(show[2:4])) s <- if(inherits(x, "rlm")) x$s else sqrt(deviance(x)/df.residual(x)) if (any(show[2:3])) { ylab23 <- if(inherits(x, "glm")) "Std. deviance resid." else "Standardized residuals" hii <- lm.influence(x)$hat w <- weights(x) # r.w := weighted.residuals(x): r.w <- if(is.null(w)) r else (sqrt(w)*r)[w!=0] rs <- r.w/(s * sqrt(1 - hii)) } if (any(show[c(1,3)])) l.fit <- if(inherits(x,"glm")) "Predicted values" else "Fitted values" if (is.null(id.n)) id.n <- 0 else { id.n <- as.integer(id.n) if(id.n < 0 || id.n > n) stop(paste("`id.n' must be in { 1,..,",n,"}")) } if(id.n > 0) { if(is.null(labels.id)) labels.id <- paste(1:n) iid <- 1:id.n show.r <- order(-abs(r))[iid] if(any(show[2:3])) show.rs <- order(-abs(rs))[iid] text.id <- function(x,y, ind, adj.x = FALSE) text(x - if(adj.x) strwidth(" ")*cex.id else 0, y, labels.id[ind], cex = cex.id, xpd = TRUE, adj = if(adj.x) 1) } nb.fig <- prod(par("mfcol")) one.fig <- prod(par("mfcol")) == 1 if (ask) { op <- par(ask = TRUE) on.exit(par(op)) } ##---------- Do the individual plots : ---------- if (show[1]) { ylim <- range(r) if(id.n > 0) ylim <- ylim + c(-1,1)* 0.08 * diff(ylim) plot(yh, r, xlab = l.fit, ylab = "Residuals", main = main, ylim = ylim, type = "n", ...) panel(yh, r, ...) if(rug) rug(yh) ## GRW 2001-06-08 if(band) bandplot(yh,r,add=TRUE,width=width) ## GRW 2001-06-08 if (one.fig) title(sub = sub.caption, ...) mtext(caption[1], 3, 0.25) if(id.n > 0) { y.id <- r[show.r] y.id[y.id < 0] <- y.id[y.id < 0] - strheight(" ")/3 text.id(yh[show.r], y.id, show.r, adj.x = TRUE) } abline(h = 0, lty = 3, col = "gray") } if (show[2]) { ylim <- range(rs) ylim[2] <- ylim[2] + diff(ylim) * 0.075 qq <- qqnorm(rs, main = main, ylab = ylab23, ylim = ylim, ...) qqline(rs) if (one.fig) title(sub = sub.caption, ...) mtext(caption[2], 3, 0.25) if(id.n > 0) text.id(qq$x[show.rs], qq$y[show.rs], show.rs, adj.x = TRUE) } if (show[3]) { sqrtabsr <- sqrt(abs(rs)) ylim <- c(0, max(sqrtabsr)) yl <- as.expression(substitute(sqrt(abs(YL)), list(YL=as.name(ylab23)))) yhn0 <- if(is.null(w)) yh else yh[w!=0] plot(yhn0, sqrtabsr, xlab = l.fit, ylab = yl, main = main, ylim = ylim, type = "n", ...) panel(yhn0, sqrtabsr, ...) abline(h=mean(sqrtabsr),lty = 3, col = "gray") if(rug) rug(yh) ## GRW 2001-06-08 if(band) bandplot(yhn0,sqrtabsr,add=TRUE) ## GRW 2001-06-08 if (one.fig) title(sub = sub.caption, ...) mtext(caption[3], 3, 0.25) if(id.n > 0) text.id(yhn0[show.rs], sqrtabsr[show.rs], show.rs, adj.x = TRUE) } if (show[4]) { cook <- cooks.distance(x, sd=s) if(id.n > 0) { show.r <- order(-cook)[iid]# index of largest `id.n' ones ymx <- cook[show.r[1]] * 1.075 } else ymx <- max(cook) plot(cook, type = "h", ylim = c(0, ymx), main = main, xlab = "Obs. number", ylab = "Cook's distance", ...) if (one.fig) title(sub = sub.caption, ...) mtext(caption[4], 3, 0.25) if(id.n > 0) text.id(show.r, cook[show.r] + 0.4*cex.id * strheight(" "), show.r) } if (show[5]) { ## plot residuals against each predictor ## data <- model.frame(x) for( i in 1:ncol(data) ) { test <- try( { plot.default( x=data[,i], y=r, xlab=names(data)[i], ylab="Residuals", type="n") panel( data[,i], r, ... ) if(rug) rug(data[,i]) if(band) bandplot(data[,i],r,add=TRUE) abline(h=0,lty = 3, col = "gray") } ) } } if (!one.fig && par("oma")[3] >= 1) mtext(sub.caption, outer = TRUE, cex = 1.25) invisible() } gplots/R/plotCI.R0000644000176200001440000000616314676043125013316 0ustar liggesusers# $Id: plotCI.R 1948 2015-04-23 21:23:36Z warnes $ plotCI <- function (x, y = NULL, uiw, liw = uiw, ui, li, err='y', ylim=NULL, xlim=NULL, type="p", col=par("col"), barcol=col, pt.bg = par("bg"), sfrac = 0.01, gap=1, lwd=par("lwd"), lty=par("lty"), labels=FALSE, add=FALSE, xlab, ylab, minbar, maxbar, ... ) { if (is.list(x)) { y <- x$y x <- x$x } if(invalid(xlab)) xlab <- deparse(substitute(x)) if(invalid(ylab)) { if(is.null(y)) { xlab <- "" ylab <- deparse(substitute(x)) } else ylab <- deparse(substitute(y)) } if (is.null(y)) { if (is.null(x)) stop("both x and y NULL") y <- as.numeric(x) x <- seq(along = x) } if(err=="y") z <- y else z <- x if(invalid(uiw)) uiw <- NA if(invalid(liw)) liw <- NA if(invalid(ui)) ui <- z + uiw if(invalid(li)) li <- z - liw if(!invalid(minbar)) li <- ifelse( li < minbar, minbar, li) if(!invalid(maxbar)) ui <- ifelse( ui > maxbar, maxbar, ui) if(err=="y") { if(is.null(ylim)) ylim <- range(c(y, ui, li), na.rm=TRUE) } else if(err=="x") { if(is.null(xlim)) xlim <- range(c(x, ui, li), na.rm=TRUE) } if(!add) { if(invalid(labels) || any(labels==FALSE) ) plot(x, y, ylim = ylim, xlim=xlim, col=col, xlab=xlab, ylab=ylab, type="n", ...) else { plot(x, y, ylim = ylim, xlim=xlim, col=col, type="n", xlab=xlab, ylab=ylab, ...) text(x, y, label=labels, col=col, ... ) } } if(err=="y") { if(gap!=FALSE) gap <- strheight("O") * gap smidge <- par("fin")[1] * sfrac # draw upper bar if(!is.null(li)) arrows(x , li, x, pmax(y-gap,li), col=barcol, lwd=lwd, lty=lty, angle=90, length=smidge, code=1) # draw lower bar if(!is.null(ui)) arrows(x , ui, x, pmin(y+gap,ui), col=barcol, lwd=lwd, lty=lty, angle=90, length=smidge, code=1) } else { if(gap!=FALSE) gap <- strwidth("O") * gap smidge <- par("fin")[2] * sfrac # draw left bar if(!is.null(li)) arrows(li, y, pmax(x-gap,li), y, col=barcol, lwd=lwd, lty=lty, angle=90, length=smidge, code=1) if(!is.null(ui)) arrows(ui, y, pmin(x+gap,ui), y, col=barcol, lwd=lwd, lty=lty, angle=90, length=smidge, code=1) } ## _now_ draw the points (to avoid having lines drawn 'through' points) points(x, y, col = col, lwd = lwd, bg = pt.bg, type = type, ...) invisible(list(x = x, y = y)) } gplots/R/boxplot2.R0000644000176200001440000000147714676043125013700 0ustar liggesusers# $Id: boxplot2.R 2052 2015-06-02 19:03:20Z warnes $ boxplot.n <- function( ..., top=FALSE, shrink=1.0, textcolor=NULL ) { .Defunct("boxplot2", package="gplots") } boxplot2 <- function( ..., top=FALSE, shrink=1.0, textcolor=NULL ) { boxcall <- match.call() # get call boxcall$top <- boxcall$shrink <- boxcall$textcolor <- NULL boxcall[[1]] <- as.name("boxplot") box <- eval(boxcall, parent.frame()) mids <- 1:length(box$n) if(top) { where <- par("usr")[4] adj <- c(0.5,1) } else { where <- par("usr")[3] adj <- c(0.5,0) } tcex <- par("cex") par(cex=shrink*tcex) text(x=mids, y=where, labels=paste("n=",box$n,sep=""), adj=adj, col=textcolor) par(cex=tcex) invisible(box) } gplots/R/replaceTabs.R0000644000176200001440000000157012471456250014344 0ustar liggesusers## Function to replace all tabs in a string with an appropriate number of spaces. # handle a single character string replaceTabs.inner <- function( text, width=8 ) { spaces <- " " if(nchar(text)<1) return(text) text.split <- strsplit(text,"\t")[[1]] if(length(text.split)==1) return(text) else { nSpaceAdd <- 8 - nchar(text.split) %% 8 nSpaceAdd[length(nSpaceAdd)] <- 0 nSpaceAdd[nSpaceAdd==8] <- 0 retval <- "" for(i in 1:length(text.split)) { tmp.text <- chartr("\t"," ", text.split[i]) # one space here retval <- paste(retval, tmp.text, substr(spaces,0,nSpaceAdd[i]-1 ), sep='' ) # rest here } return(retval) } } replaceTabs <- function(text, width=8) { text <- as.character(text) retval <- sapply(text, replaceTabs.inner) names(retval) <- names(text) retval } gplots/R/col2hex.R0000644000176200001440000000025112471456250013456 0ustar liggesuserscol2hex <- function(cname) { colMat <- col2rgb(cname) rgb( red=colMat[1,]/255, green=colMat[2,]/255, blue=colMat[3,]/255 ) } gplots/vignettes/0000755000176200001440000000000014700167136013577 5ustar liggesusersgplots/vignettes/venn.Rmd0000644000176200001440000000453714700154745015224 0ustar liggesusers--- title: "Venn Diagrams with `gplots`" date: "`r Sys.Date()`" author: "Steffen Möller" output: html_vignette: toc: yes editor_options: chunk_output_type: console --- Venn diagrams [Wikipedia](https://en.wikipedia.org/wiki/Venn_diagram) allow for a quick overview on the number of elements that multiple sets share. When those elements represent traits of real objects, like observations in biomedical sciences, marketing, etc., this may direct researchers to further investigations or decisions. The `gplots` package provides Venn diagrams for up to five sets. The R code to produce the diagrams is straightforward. The plot function behaves the same, depending only on the number of overlapping circles to draw. Its input is a table that is produced by another function. The `venn()` function calls one after the other and is the only one to be seen by the user. The values shown are returned invisibly. The `venn()` function accepts either a list of sets as an argument, or it takes a binary matrix—one column per set—indicating for every element, one per row, the membership with every set. The common form with overlapping circles works with up to three sets, as seen here: ```{r, fig=TRUE, echo=TRUE, message=FALSE} suppressMessages(library(gplots)) venn( list(A=1:5,B=4:6,C=c(4,8:10)) ) ``` The names of columns or the list elements are the set names. To squeeze extra circles in, those circles need to become ellipses. This works for four sets: ```{r, fig=TRUE, echo=TRUE, message=FALSE} v.table <- venn( list(A=1:5,B=4:6,C=c(4,8:10),D=c(4:12)) ) print(v.table) ``` And maybe even more impressively for five: ```{r, fig=TRUE, echo=TRUE, message=FALSE} venn( list(A=1:5,B=4:6,C=c(4,8:10),D=c(4:12),E=c(2,4,6:9)) ) ``` The man page of venn() lists options to change the appearance of the plots, e.g., the names of the sets may be omitted, and sizes changed. However, there is ample opportunity to extend the functionality of this package, such as: * More dimensions * Colors * Variation of size of circles with the number of members in the set * Density plot rather than numbers, identification of individual entries The prime personal interest is in the increase of dimensions. Please send patches for features you are most interested in. gplots/data/0000755000176200001440000000000014676043125012503 5ustar liggesusersgplots/data/rtPCR.rda0000644000176200001440000006616013423343152014166 0ustar liggesusersý7zXZi"Þ6!ÏXÌã»ul4])TW"änRÊŸ’Øâª"¸èd[³:!Æõ';i!ÜÞ ÷ i·®9³S»DC6á+€¼ÓzõßÑ”ÀIÌž¸J9Ö½~aƃfEØÞ„PúÐÙ} £ó¯\WÔÆÈ2ÐùÙæ&XðO'¬®™€Þe UÒÖÚÓ‰+Ôp?h¸f€L)g°½… †éȃþæåüRð*—@¿†³üÕ(2äCÕå1n+ÃFH¨-­¹5Öʴ;Š»ÒIHÔ² ùy't½•BHyBi9j®¸åÔErQÚú³ÌѾ”n)¯é–8›+ô¤Cub½e×@ó3yá.BÚ÷% ÓS¿2v¼¤åƒnú RpF¢$»Ã¢Nµ¡güWÍDÌÌw/¿½,Õ^>±ÂpUË€ký¡Ú4Wq–Ez”ðšýiìì/Eç ë—²]7ÛwïR U˜?,ô¶R$$v ÈšøBØæ~uþÕ‘ÆK‹(¥çÀt23€„ƒ~Ü­"aŸW‚24%Ìc»µºýÂOŠ[NcðÕÚ}½ q8G~ý˜„6Aåá½·JæîlO¸öôžUkôïc-8ÀÅñ›Û ¼pŒ,ê…·‡G{ü£b²%!ÁAFº/.§ZjðÊóë®vИ̇ìú¯ø– õƒ´P ó GÍŒ;u¤&Í}g i¬­ÎÈó-ÐÛ¸lèŇEÇW¤[ÿÍ”ûÔÂQ(õQU·”»zh~ùF󔯰_ÉÙ…²Ãòãõ.Ù îúÍø•0}°7z ²G¡Å°Ä©Uß$G§U t5o $8Mñ}w€<>©ÎÙ5Ëœžç%Ó'â5»ëjæ±ó.ª¨Àÿë)!õ’í~¶1{BfŠ·Ð7½%ñ'ï*y[j~=5ßË9þÜó~QÝÏ6w„¦ƒ" `æª- ˆ3÷ÝRˆt}ûq‚ uÃ1Õ. hÜPo¥ê@ST›>Â;?¬â/ï»+½Y݈V5}µvTäUPhøs÷K¸ï÷Ïÿ79bïÅ"ŸÏKÇuE7½´zš¾)oÆçÊü,Õ‰£ÎÃ~a/—ƒëEòç]H0Š“c—Œæˆ“¿GbŒ÷ÃçØûˆIrNÙgj¤UÄêÜ ¾`€€µ ¶31÷„‰€ÙnfùëHÕUºU4*Ê g “ÚˆJ‹‘ËøÁ'éÏLÉÇ™OØ«ÞÊ-$ü ZŠ­”ZM²KѪ4 b5öý ®‘ಪßUÒg¦êÿO‚‚B€e”%wT9H’FçvJÙ‡(ÖCå¶´ÿž}ñ7¢ÀÒ™­ÕðõUh ŽE{+•€¦j]UÜkàßBbÝìZÄLýåeÇŽx^$.z€Q PÿB£Ü¸«g\¯V¦tnä“áÍ{,µ4cé°ž×F„&R\ܵò§¦Š*ú ¹×!AV±Ž;r޶{¬†ŒÀ¤ñª•/G ˆÂú‹*3œ—¸›ö)!$Ú½(8×/Ý«‘þsrÑŠh³üB§û ëÛxDWúC½h@fŒ3¡:ËžÿÆ)"Ûfž•aú|ÈZoæÕÇÜIsìUj£`ö †ßkÒßê ­ í"Ò¾m—q —µäR,-JÎÇñdž¼çEwÖæé=˜” ŽÚÆ °p¥:3†4±ß}nUhÉú>Ð wÎviû[Èi \•a± ¼í…ov2±p¨Û 1а+ ý·a0©m¾õ 6 êz¿X®šö ¬Ù®ý ‰³Ÿ…çE#à fÙè¯  \*ÌþÆ€¥jÜ–¡å„KYœ¼ÅlÀDÁ°iïÙðØÍaF‘ðÆÁž7e™U){‚^à]ôÎQ½Iæ1nK‡àNÁ^¯³%¾|FSVîÉu—ñ‰?ÎK Ƽ‡ßp¶ !‰qZ]­zqñuyiƒ¶hë]•´ÒÕ‰˜ªÁ.ÑuC†U‹kzƒˆl©~b]a‹ê”Ö¿z´OÉ%ñf>®»†óJÖw°ûŒIû:ÞÏo3^.nÿeh!¤ÁÚ(Ôøº¼ë,lŠy ®ºŒÿ¾t˜ÿLz¾Uâò™¹„«JÉ-OŽØQ|™ªHqQõìW1îÞÞåóøW-[€K%çC)&Ϙ¤¯—S°­Fí~±|5c‘—Þ\ÆÆÙR¹Ö‘¬‹É3«çß}Œ”ÉÚèx-ãþÁPÍ'ŸLrËÍ¢`E]Çå;¤ÖøÑÊ…}B_ƒF9ü|Ícúä ýˆnÜ;ã~mpîîïÄàݺÊ>‹i1F÷ œ6 ©`%û7¶¾t;ï[4ØzGjÑÜB¨ã†¼t°áYUé1ºö¼–œEšÏ(¥¥£k˜çË»à% iì6yܡБÚåN(‘l‹•„šC°i“0Õ­‘¶.ÒQ/CØè²™ut9‰òÀZñ‰Ëö…;?М¢D´â0#€»¤gšlßÈN̤´ Îà–$8á´²O¨Áš ÝaT­²+gÎ\“9-¼!|”ƒ^˲lƒ Ú´4ƒÔžãɉ*ÚEÏOªÃ(©Î/LcqqvÉ«K)ß̾È5½ƒ·aÂüH€s]ë4ŽÑ×Üå§‚ ½Ϥu§ÁèÔæ~–TJ4¦+`Í}ŸôÅ[ž’Úi¼ñEÅÀFªZ’OøØ*óŒ'éê!ºbíC¿%:܃Çöó‰C83z29; Ñ…[8õ™D:ïQ}̤߇øC›£ $¤îOÒ©©äéØ À§ ´!Y¼~¢µ®{úxÍwŒ·îŒìû›MôÕ v d²³ ‹¤Tû%DÓrxªg=Ú,8.ëÕ!šÊùôšN1œŠ ó¹ŽæÌk.ÔD¼B¾µî.)ÉÑÙïYÞcèjì~Í®3{M5[0)Óef'³”ðþ^Ï5èr+@D&+§šÀŒö¾[%zô’(ëÜL%7’zin&"r\ΖŠ{à—ð—6@n½”s¡¡úòÎ ½ •7´#ÿ·ô°ˆŸpê$ø ÿ¥³yA‘r+!Ú„æYÛß+CoÕÙ· k„gVðÌA±1TvcvyÛrýuï4¼Ë¢´ö9ÈÁ¸ü‚nû¹…a†`‡{Æö²h†6¤ã° ¤`¥4ݾđàìä‚ÇiÄIdD˜EË!4Ð_O2q«—+UHêt®bÒåU®‡ó@ªìl¯v2Aá®<†ÅˆÑŽ FêIÆúò´üÀì=85­b3áÄ¥@wPz1­ Ùã¶.‹êóÚ£”x(#ÖloõdÁÒÉÕЛê¢ÖYûÉ2›äɬ# ìCU}xdÄg6~ß…®Túà¶µ{ÜKi£ò›OÝÒ‹³†Îü'–±•ÊÄRûPðPKzÿÊWf¯,…Øúx:Óöw½îtÜ Ã{(Ь‹¬Ù-=/KÙ,NîÆc‡¤Ò=g~t¯ŸÂ=1ÜmÜí¥òaœZÆ-´¼¤†ux ú¶™ÏÈ ¯¹ñ^ê©¥G/ÆÝü޵ªìlK2õîPêÊ>‹ÍyäV ¸U°³‚!ò‚‹Iÿ8ùKø-E|–Þ_ß÷™IXõß±–Ï“© 9Ìé*Q@ˆ>Û.w· PE¬A*ÙÖîêTùÙSŠVI:´üêXsè}‹©ê5}0ŽÈ¥÷ ÄG‡Ù2Õ™eçC$:ê˜GÝ þÌLýÿÐ2ÞÆY“UÂt_˰ëBæ¨-íøÖPÿh Ò¸‡H¢I‰©­‰±ÁËí÷Þ:ÇÃö™úy*º“ý’AG$敨°íêD]/Å€]AU’^Ñ;ÚwfW”Íh¨»(ývºzêh¦îQ+*4¼'ÝÆ†Çòk£êýõÇžaÀH^ÇèÜ÷ lèrÔ^ßv³úöî(p¡/èðXe!1wq>ò&æ©>ô¸¤ŽügBz”‘"£{< AäuÓ Ä€_è¾›x –ʈ &—°1Eů¨çÂ¥~ù®Š>•f&e°´ãÀÅjŠÚ g£¢Ýæò­\«›+ˆEd6*€Vp²¼–ÅGºØã)Å¥8$à-Îø¸ CC2˜¹€Å“ì]Ζœz>Xu™©/Ê[Ï…½šŠÈx@Ù|9ñe^3×|ö÷¨8qÒk<©9<ñà%rÉEt!íÑš’+È;ÜÈ™§‘—½ÓX”Ì>ð»cì|ƒ“%Èø®´‹Wì’}Ê.ìýÿ¾õ‘¿Ë8ÍGæo½¬†»àyö..‰Œôæ9#б~‡cÿêáÖû¿HЛá˜÷ >bÑ'çø! †F%­gnÓDª£ÇH¾ÓgØc¶ N&æ½\?„³ÿ’± ÞD7 ªÈ‚—¿ä â Ïéˆ?0¢«IØà¢ì±¥ŸÃ](¬Ø.óÙØ#/„§÷°Af )²#4¢„˜9ì'Í’7r1òæô!+ºÊ~"?òfwÇ@ÊÅ{/A&:¢YPtdøZ[Ù^-ÙJ~•Ü3†d,,a(†jµ9ýCX#ªV}«¢%´¥ÑÊõ_â´ô‹{Œ/¦÷12|ô ƒ³ô@_gFðÙCk„2…§¯xzɾ%ÿ bê HLwn‹ZãT2tàþuù|Ú<£v¢DÒ çjË™ÀÛx9uþ¼¸6¦zï.)¡6#ŠJUäõž›¨³¥ ¦~‚ÍxŸ[ü™»ãg_ÅH†ÈH›Ü¼Ç´1‹¦¤Õ%ªÒ2ëÜÑã“”Î?³ÛÝ\ƒJ~å*Û=`b6ž$и%/º•2öã%w¼}¤u&åÌ&µ)“@“Øb}C””LÆî3çG%“›šeÍ mzÔgpÿš½¹Óu ƒe=6M=BÎ!Øg–hRe'‹Ù—Öô´ÊSÛœ±ÝEys°$æýt9H£ŽË]áØé­ú€=]nçù~¹î=!çÕx] À18ž\„Á#TÊïsëÕò®Ú„·«Ô¢¸¤>;ä'ɺ2¡mK7ƒ€ýð½»÷2<_%ª[ZÃS=Ã] §ZJR1'lÿ‚ýfή?^)Á7#€ŽÑ×'ˆ®{ ùèú­"wéxÁÞšœÃbBœëç‘Wùt ©oÑbÀE³Rê‚‘j€TF§Üq~ÆÑÐaonx­±¥YXâùP 3FK%Dpó&ƒXº …‚cBD-YAЬÄô@ÚV‡ðëã:„:Ì@]R®ŽÊÛånõIû +[…·­fÉáµ®{.â-þ [m ,F¨T³ï8G„€†Ùw‡¿±RAb­+š×–(´|Íûd?Y?r/TË~TΜº@äUxÀ@}10Õ‚HÒú7e_•Xp÷cÁqeLìÔ{‰& ¬"ÞaëMDÓTŸýìç¼Nˆë ï»2{.+D…Q¥SS!4Œ'Úá9úðv¢ÌæQpIm· y©ä¨ÞààZõUœ—ëtÍÒÕUøqŒ^2{õ#ëÓ;žž~pÈYéàî+ùõ¦“Qñ©î6Õ)Sô<Û1£þø©Ë§µ¹ëÁ6#XÅÛ[8Ê8ËÄÄV_Çã¯L “6xË“o« &ËEÐRŠ#Ù'9°AW°O†(aŸ§k§«@q¯FÁ2ÓF†å»_5È ìØÆî9Æû,`t,ÎOÍ$gT£ÞdÚ¯NÌ`ZÊF¾—øAÕRÖCÒéÓÔD5üñp¬ÿÄ ‹Þôv{;½+BBˆ‹ø•.u•JÅÖºªlſՙt1Rh0‹8Ç=LÐ$¿·@œ"Kµ-i\ñ¼¸h/À¡ëkð=õ!í¨ÑN”oã§´Õ¹Ô¿‰Ê(Óš¹SœÐóCÕö¡ põÀíh¶ÍÖ(zùãzHc=‘ÆÝF"{¦Ò>¹ƒ54­}‚Õ]æ”?ñýtõð4Y¿ÖJŽyÿHdÜ<¯ž¯+dñ6Ð>ƒ iZYÀ _òŽOìoœKeLÞ]ÌO{¹Ÿì‰şö1·2¦Ê_‰k•©U¸63€ÕT¡D`©×!»+y'Aa—;¸nJ{ª v+èé5BsPWbã»#† eýoÇñ5 î ¶žÁ’h©(:D²$o"@Á;j#èC æýB©Ç$˜`ìûøüŠ»òìƒVzÕ¤èðt¥±ºwJjÅàÚ{m#NU¼É¯¿:Þ×Ö¯^µHuonö%à ªó—pÃÓùjm¢  ×ÞsÎv.&Ÿà°6¢Ñrj²x„ììë)a.ÔMƒí«~õ||°Ù6‰5g’Öaoq_w É'•õGñ¼÷Ö~Ç:ÎPuQ{¤°Dìs£úi5 _àºÌ…!˜Ž¶× ˜ÎL6ˆB€{°Ä ìõ0¥þ² µÄÊôŸDçÞýÆ•BÜ‚Ú}—(úJÚ©À a}Ìóe§«!ïHcstR‹ô™¥¿ÄzeÅByÊ0|æ(8ˆ‘SÎáDÿd²‘•t¯ä í¿ïõÈE=£‘™UÝTÝ…AÒɼûX‘“Qê°ŽôLõ³¼ãn|™@ ¿8«¥ í{&vÊñ’±KPJ2>2þ’,44»sÃIòIºþvšW¡ßzë"ýòa»ÂšÃVR¥&;±¤i¢eÏ\–½ŽNB4 ͪ|Å ‹«î¼óY3›zú>ž<ÜìH(çMÉú5hî/‹LÔëMùÉåfqø3äæõÕr)bg˜üƈÏÚÛŸCÀzI5T]²eFòæe[VNË‚@Ðg< ÷0k¬èä5, T“4UJB3iå5iBR‰OÓ%tà_t5—ш‚² Tì³ á’Î0!½}Ƥ’eJ#¤ú(íÖ@u W-A&<Ó½“Ë‘Œ#€âÎÀüZ¨ÐÀF/ŠÉžÌˆÑ@ r)£àl/†ÿ„·:E7µ,WcwÙXaR¶%‘!ÄÌѲÏ1ãgϦŸë7\Ì£uK¬w.wöÁïŒtJ•©\/ û9<›Á>SK”ÿ ãs;¡JkûjÊ](¿=‹<°°x¸Äg=ÈŒ‘H³ˆÄÀë{Ì Òz»:j£í먖YEq 2ù4Ég]‡µ[¦Îj‡$ݤb \å¬nPȪÊâæ8`wUœ•qñzå­² G!ÆupÍ× !¼ 3Ïל·†KØi삟Œ(ší7$ÇdÎÑٜ쩷VÖÿé}0ƒ—_=5)€ØsXOL’:³•Þâ}8ßÔ^[UÏ¿$‚ÍŸÓvDW¨<ü³zû7‹#Žq:_À=‡ƒaá¼aÈ„@!HlÌÌ(Ьÿæ0 ×§Ë턈©l’šN’‰n.z¡ dÜìDN¸ï—±êBìèøRÄ|SYü˜Oå(Xµ””6l†XAd§P.?òÉ:ï{=MÇ›¥;Þú/yý Ì`®x 9„¹Ý!ùGn…[¢É ítõNfkkƸÞߤ¨¤qO2ŽaÑ+‹È†Ñ§_TÁ$F²@¡dÎc»Sèï?ëÙâà¹\¶Ô„r¥0c…—©ÅStõûÔMõ/š©¹NyH‡úâÈq_°DJq†§§…b¢‡Oj°iî'·ÛhS>Þ‰È]C‚/X’³F¨i+”r/7ºd•”ÂùÜbz«óNÇ¿;Äh·êvg."‡^M ÁIùÞBsõd1 µ)0^í÷t˜~Г^òÉt§˜µãÀ˜™åo¯elêD§D zoŒ52r1Ð0¢Ùìöí\ûüö¯µüˆ\p¬X‹q›Ô’ÞQ‡7lyNçÁÛÇieM²°9W)S”t^:Ÿ»¹$nÕ(yc'mv­¤‡ (‹Æ³ÖuU–¼/¸OÈ3­T ‹öI÷ª]ûIT ¾]5|øXeѼº8Pñ{"þî3 ¯KþÊ8ˆJ ô:©µX©›pCaïª_«Ž—¥1P-YGã†û«45 È` &¨ß7JjVäÿk9Êå_Ê’2c4+ wJHº¡o‡Ea>´Bre.îÄØÀ‘pËV+®M€hÆ`èœb<»h„÷¬Ý=­kÓóõBãÀwJN&œÃ…>ðÅ £<ïJ˜(•Ê|ñØQÇ·]Mϵ@Ìý.ßM•²/=ºÅ£¿[-·ñ<>:Ù¿[¸{G‚ZÞ¡§PÄ-ïhXÑÐIyÖùeezÐ\¦ €ðçÙ9Í%†ƒ1«b+M…Æ+ðkžJ¤ÐHy¹¹{/EÑ›WaÏ>Õãq=½“ÝÊ¢õà"ÕG–Jô/R³½QŠŸ<Õ‹¤ÂI »43æêfû0zéwÒ ×÷ÿÓ’Á‡ô—ebþ\U hf@5>çÑ /¡5ÂkHYó{KëDÁë7zh -}¾³àíF`Á?]!ÍPœQ=·—J¨e5ˬ P0€ÿ]É㻾ê•ÿ©`þú‰ŸrÕmìœf3´p‚åHeÇ:ÏkíÖqŸo=“¹-¥Ö¹y˜µšQï5(mÃZf„…¹ñëQchnz b‰„ùc#ÙN²ãÜ$³já:šÁ_˜0fJñ¿;©²c’¬­m·ƒ6¤Ý7U•J6êþ8¿àYý.xôunÇÉ~ YLÙz¼Ê4Ý“ÒÌ/—l{¶¶îñí»,zJ ó?✠duc´ÿXwh¦³ª5ãÍ ‘Á€€‹(ä9^öÈ”ÓU°oÂ=Ür|>œ{_%Fñ‰“KË =ÙS¹vß§sG`/5r‡÷œ¦@á¦Ç¢Máö8ÀÙ¿ ÄȰ‰+=tãE¸Ððη!ýü#Úï•}CˆþB9 ŽMƒ¸òÜ zg _ÅâgV¤uQô’§gs-tÕTüꛋmzÕŸî·îÙD `Ìœ0»Ô]O¾•ÊGÉý¸ZÐRÙÕgh¸¹â.Úò`ò³Ìì6Hø?ÃÎgð»²fTjæçgÝC. ª) Ø,yZmG¦Ó¥V|R(¼Ï0Ú?ÿ*©?-…ž,»µâ½Gs—Ô%n ƒóOœ sŽÃ? ù¸‰'Žòϵ.¬bØ­™õ«œ3˜ zuø y,‡3=ºo˜oÍ1JòðŽÙ^ŨŒÍv|Zd6¿3å¹?˜¶9¸[?úŒIÏbÍVæÚ„‚&¶ý˜ì0èä¼àH(ZÔ¥`‰JrÔÖVÆZ³ŸÌQƒ"^¸´úÈóÒ>b¶/î›]aLhÃBŒæhÑü¸è½e<¬aɪbOCû³Rm8?>“7˜¿ý¬iª€|ÆîŨǽ—|@6”m ±¬¡5½Ö"ÉF™ß\¶fH®|i,“ËæÏ´pÆ6c‹i/­‚Tƒ§;p¬éâ„qɽ:ê¥V`8‘P¥@W?Ñ1³;iâI«äýŠ0o#®_ÆD¶Žs¶‰®–#8Ñÿ_86ç‚?U+êùkôýË0'5etŒ°Ó¤rÒ¯[Ãöè#£òO6K´ ŸYmøñ8 ª»@…í£ ÈàQMÎÑ3¸rOk&&½*– ¦n¿žµ¬È&¹¬FèÚ+zû“«?N¯x€„ã´š2Fárº®,ÆI…1Ð×TÒɤT_• {éJ!¶bLøÑÚRôøÝƹ›¸Æü² #÷C\K&Þ|JŒÜ!,-ôF¸Ö:ËçëŠñkâ)œ“ßö·U»]½4†úfèÇaâ(Æ™‰À¬„Ø©ßt‚5§! KÒ¶À@¼*îIŽ‹H0õ ]ꮾ.ëÜœo`§í›øq‚¨à„`n˜4z$Ɠ襸tA¾\ï#`NiŠú.øH&F²Ôlõ2íHx?£ÖÕN‚O‰N ƒaµ+ÔG2ê—äç zZÃÿrmÆÞFÕhàŽÝ©-­0–|‘Üû¼&pÚÛqà¡ 0ø•çë­ÔWÉ›6Ec'îOï¾&Èázòm”ÛX,Af1œXÑYû3€ö}ÏN6šTL> q§€šN b ÎT šhç–Tï‘Ûl힃u ðÃöYs«ƒIÍ›jgèúGæb¢K¦øA˜"¢Eì}'°P˜‚|(Q7ÔžX:¬|ÖIFÒŽ£‹Î€EË]ð!÷ØmPÞeÔÊÝø1äG~€míV~lšnÇâüp‡“È*ņ?º¦KhdVò ê,þ " ö͉>BJD-ê¬6z{Œdш@ËT’ÐÚ¯ÇÖÔ¨=tÿÑÀˆ~Y½Ì&°ïÖ…Äck*m‚ºä¯[EÎ\‘¥4|DºqÃeÇ¡†“¸áæQYˆ@þ˜úó èD ,´ÓW¯^f–¡‘žìÿ†xø«…lãá¶Í[Lù¦±Dc>'Ÿ†{æbâ8¥Ìˆ÷öS7}uùJ)§Ü2,^ìãà•;ær4{á‡#àÒóÏ@5ÂÖRnüÅr ªÂ­ÂsTÌ'ù‹Äy&ÚuTZ›1v]{z_@3B/CÉ•žx醉1š8LwC;7lÂÛnHG—œUlËÐé$«Ý±U¥ftTxiHÛ”%®ÙsF¶l­—<¯¢Ýœ–S^о4ggl³:€¸˜‡zD*MÅ45Z;ùîó®ÞR…ªøàŒ d^Y\L䦉yÓ}RÛ'ú 6Lw™Üö“¹ŽÛÁÍr}étØrVΈ%¿=áéRj|B.FÐ{­ <0~“ç0øfvXðñ-·ïq/ii§ ß6W¹n³Þsª¿Ã”&Yh\Ïd8 ߨBÝ OÄ3ýWWºŒÝY±K‡8iOž­í²ëƒ†ÃJZ4‰Ù H^7'^â)Êï§®3˜™ÇmŒF¡1mVð›‡-ì æ}Ð"þ™¢YÈc-‰¯as¢}ã%Ï×XKÈ«ßøÄÍ£µ*U&…¯ÚÛ½aõËkB_ûF®­Ûº<•ôy” ñPŒB%´QæÀ䔺àJölF¹v[–è]‹Í! k*Ûër½t$fL!újwSiÉ>Ë õɵ&Á½ç5¿ ²Äs€%Ý …,öæ&ŠB¢!§pU5>ûºØ.ùäPå¿òrÒÚ*;"ÙØ¹ÀÁæ*ø XZD¢*“jÓI¥áF JO–ø×[2r(Òò~Ž‚€cmõŠs€!…|p<Í -^.‰UXÛêíü¡±àª«7ZÛÏvžK€„éj¢<>£ð‡G·N+–ü*BÉÊ_¼yN¬p5¥•AX !ìÌ€ã„Xz5=]¤Óðßk3Ö@û°p™Ñ²^h­?ðež Ï»VdçœÏ0£bÕòÚ0ô $IèÛ¬ë:AÝß½æ œ¢Pw<1rf!M>í7|ü;¼°Æ”mêkG£ÞP¨æÖ`2Vâgj ¼0­&Åq:äœ7[P¯ZL•5œÛDÿ/Ì„’ö° ßä‡qsåi‰#4+æÏGÖûÍXCçÙšŽWK#%ivÛQ:U¤ÒPû‘¹ 6¨¡ãOYÎ\Õ¨²^F»¡%9¨¡S<™± ?jÇJ©z%„ÒΪ¬Èí†V€ )cÉÿ¢—8ÁôöjœíSÀ¼Pºø–õXA¿÷TbŒ´ýÜö@‰cx«ï¯~ýÌ4àÑûJ aÈP®JUd ÅmE÷üñÝcÚ½ÉFÒU[€Ö«0ÛŒ*Ê…Øs9]': ux)U=_aUª³Ô…§gãÁñÄ•Ò%BÞ –-˜Œ,íT½^vzÀ ×!=!äéöÂe?¬Ù›‘tE“íGi«cÖ]÷ÏYý+( rÊ¢‡ÎÄåZ“H9”F7kö§]oV+ó…Z¤†ež¦oÄ–GÉ“ŠÒ4sJ7 @oK]CÖ«mîH±ä ¦SX€·«$Œ*¹”è1~i¨[{$0²»¾ c/H*­˜™ÿaoÌeø[ÿ3±{àÉhø€‡™Q4âԱôúEWÍ ÂwÙ ¥k¯)Ç$ —N4ÅÅ)¶†Ówµ¶ƒyX´¸NŸÎM—õÍÊ ö-Óæ_jYŽ3MÂ3#IÜhýÂxRW‹ Œ×;íB¦bþ7pÇÚ镈â@Ošàká¾-÷&O¼º±W›ÆqQŽÕ—Ô»'l™AJÊèÔ¦9bµqTï»7ʲfѦàc¶Þàà¶•6‚úÅ““Ô€$[‚n¡kÄÞðH«Îôèf‰ÛÄá¥H>莞:ÞStöf½n1l‡Y‘d-»É_hÀÿ³Ü_½ °ÔÊ•š›•‚gœ Ž ©÷/AÊ‹¨-þêQº:°)ûVGÖÑ9®{Róå@2PG'çŒeøõF•û@6¸¢BìZ`ù½™…-©‘ö±â5F”È;}<¤n³l¥¬¯­¥´ÿ’Åí*ZÆ.tÜ3‚CäŽß©ЉîÀHã`0Üö*ðÒ!u8£òGÁãjäé &¾ia£óí Ê˜B{" ö1vÑv{¡‹Z峉ˆÉ5¼t­i0ìJlgÄœ¾7™‡-*ռ䡰»I€¼’©çq:µvßa¾RîÂè¸à¼o‘p÷\yG„H¼ôý Að㡬܌—TÄ&‚Dÿ4СJõˆ*%åž-Ìg}q­¯ö“7ý·HîÓŸN•YÙÆu†|Îç ¥2¸Ñë9š#J:HD÷4xÞºðƒI6!à §äÔZÅ"ÄEˆ/¦…E…;=èà¯êh ØuÙ¿ŽçòPÛþÔmŽšs”;7{gÊÏÎÀê±2zühi†è@æfæ°µ`ËC‡ ¦CÏ}#ØÜ8}Š@˜.øáÎKaÏLoý•g!:简©b‹gmºQ?8Cf§øõà|ÙͰ TÝ'Šá<ä·´åXFVO7#Éuã\vo±ËêuÛS ×#øÑ6+:öæ¤?ÎÓAPüðF4˜Qc·¹žƒ¶ÝXrF‰ÆjtíЈƒDú =2•ñ²Î¡m¯Ë Ôï\ÌO½‡ø y$ ÁÒ$ü>)É—eÇ/=/Š L“l¼ÏÛÕŸõÃ?¦´µ€¼I¹wöiUñòÙXé?.úÁ¬zw©]@”avw5éà* à˜DÍUÇŸWÚ|TÐÒ¢{Õ¢ÄI¹³|`kËÈQ¶·1f¶Ê#1\˜ý|7¥'ä›÷KËÐ 8FÂà›leg!‡4G…|·¤‚÷£ywü”¢Î¢Ú„clI%Æ¡PO0ý>ÿ\ïÚÅÁ?÷<oH÷𬶰d›“¿ukØzÅÉdlãfã'ë*€2ž—7õý| ŽÒ¬Òb8OEßS’2 o¶ËVšhÝë`±/;òÔ¾<×ð"CŽX#_ªbîвøA?y$dfÛX°ªv³lÑ^1zΘ4Fu)†1EØ‘œBœÃ+4Yy["!L„à?Ýáö}ýŠ$Ùb´>¾P>Nl.-âò… Ë4uÉœ=:¯¨ÿÛ5Ëõâ–‘0±ä[rê> H–9ßó¬š8C‡{I°Oß_=8ƒíKÙÊ^qy¨¤Ìð~Oó/Sƒ±‡ùP”8t B#D†¬„ãܦsÌ'qÚZÝãí[K¼·øù{ü§è˜KässÖ‹ƒ)‚ÊQ2¶ƒÌ°²?Š×} íF ŸÈ¬ÿÀ=ÏjZªî/Ô2”°8È¢øDÍKn’w‘PŸºþ$qâ°û¤•w¢­%Ñ«‹„4Z­ž¥LªèG|ðïИgRÌÑ[¢®;·ž‰Ó¤“xÛ:šC¡ö>ä+Î}½0oN ˜Þî€xT<”0@u›9ÈSÀ#o¡xØâ•&ºæëM#ºÆ•¬’¼â:’©$ätÕ¥°7/œ¾¿Ç¤Ý°|†(×ÁyVX‹ð‰[øH —Fê¦å]Ãå‘<\À*$ ¿º]¥.â†ËÌšÍÏ¡ÖçÈ=ò­=S·`È*íEû8mÙ´/‚캉ØÔ@b0‚éÃócrvŠž]Åç…ú‘íRZ,ZJ§þG0‰Zùu XBümÉ@p®B¢äoù‹”üÛ9¢/v–‘Šì©wkH¾… àëF%9p˜W¡Z#Ãì@"'Þ‘;ªãݨ'Ft¨xúôì4ø"–þ×PàТbtE‡HHÁ¹`„ð óŽ:1u±_BÔrIöEŠ>l§CÃ,á5ô„òíë ´É¹Š("úi_Lƒˆ±¬‚*ª¶9À'[zôD ïLØF:3®ƒhZ%bYÖåJ¨ø„Ùð¨ñA`Îíô†Ðòk2®]Ïü³tÄÍð÷áÀfPöÉ™€È­YijE Gz|ýaýX¦ÕQË?¼Þc8¬yû†Õš³3FáKŽ‹´“f¸&ï|j´ `ö ¬Ï÷ÙÏÙ…øÍZƒqÇÌ'ãúqš òt/ ¡:ñN„k­ËÔ¤è¶i2h‰ $„lïrÆè-š‰÷¥›áòf×!¦Úš?CÊ‹n]©Ÿâ1·%1ƒ ¶ìäjwzg5§²kv˜òLݢnjD F¥ï%È‹ƒˆ ‘õ·|ÝCàr‚Ó«uùá-Ç×µÂ)µñ‡‰fŒ˜(Fi¬»`‹ª¯ªå*˜•N¯¼õbnÍ1Çt‡ƒÃgöÒ¢ïûÈ\s²'­ôü×E­:WËV2Vg­Sq˜-áŠnØHÁ¿ùëú‹Ïí!c„Bˆ z îY–lt`ý)&ÕÞ²á\’ÙÐÖ 5%jž©÷é£Êo° ×È‚¹^}0³nSt£§iUla£ý ©•ÃÝôûÉ3G‡ð–X1…õò”ÓôVÜ€²ö¡—ÒzøNSZº” dP_å·‚ÜpùI÷²\Zg-Ž?ßÖ8º¹uvß—²M¸·}R³½¥9÷Tš‘C•€{¸#¸ŽÃP²“ej{]€ªƒî{ó"¹TI ôbðØ*mXôà) Jj@TzC£¥ØY€“D~0I{7öŒ´}3DqÚreõÿóx3eÒÆ=ó`í’F†Æq Ì•gà¶e†E†› qØå(ߥøj<§ØËq› Ÿ[9VFÛÆæ©<µ>‚qih}üiÝ9“Ú*é ô%ÇWƒKhýmý×Oši HÆê’ W¸üÓ ³€”‰è=дbµãåÙ\ùi‘쵨MoýKTÑ÷/¥Õ  ·Ÿ(¹²påøËò'L­7w‘þÉ÷N]~='Ø”ø”tG¢7ñ›B ©š{.¡ìBÓ:¼wä啽ñ&â°Í³Ú× Ãà,4zúï¦<L‡]Q$ÈîvYÿ¸¼¤V;BI„´ØËï0-F–üDaø‡°ŒJéc…±µP†ñ/ty$z¸¯•“–á!“šfԬ毉¦¦ëË2 .0•Ù@p(f,x/±¦TcÃØ¯N ‰k övd«!öÁìeDõIiŸ5C* ò/ª¢HݳBæ]ÅRºe%ÏŒ |£Éô°—ðRÐ6©?Ú•¢¦Ó” ÆOr÷‚w¿\ÉL §‘“j·î¯Ïàe„Ó·\gZ²¸³}ôðüÉO|W€“:–[IFà ˆ¶fÉ?\Ê]™` äóŬóvÃÓ<ç'ôD¶­Ù3•DET*Ï J€ögZ9#(Äf6xÞ.¼[zÁÇ5»ÊÇéóh!šçÝ ãåy«ñÏ~ŒÐ[Tñž„;F6am‘à¦ÛAKР-˜ýÐS›PÿÞQ¡vq 1K”«uEˆL¢8Î2ñ<$÷çé¿Z^ÖãüÇÿÏ fs‡¥q›õ.?”–wN63…§vÅ(~ß+ jŸõT¨¸ãÍ&£¬nºN@>žï˜âüü˜d©p6‚0ú`½ÀèNƒE)¦¯›µÉ“&GûŽ£Ø}º-7d Ó ¦SK—p…OaaϾŠB§Dfë~UzçPÝfñÞîdök  .M#øý¤ —Y¶=òŠtÅ*hvÀØÍÕiy]¡²]?áï¼<¨ñ•óBÊžº·xP%*à¦(9›'òon?FÓõÂeÅë¾Ç'Ã":·…IkÂ0ßWΞBäbz$× ïWC꜄è\'.UCH‘xõ5Ùº$Y»öÝÀ4z^^À%lxg 1‘/"\Á~—Ú ŽAùV:lÃlÇ´ÿbJyN©â_"…³ù¢ïQ÷BrƒRÛàeÇj:¤ã«B1Ð&" ±MrcœüÒ,„m¹%ô7èKv o>ðÄÆí‡Dø ó¹è/Ë^v39SM]ÏHçóß:¤R³šœÚ~KÉò{7•)%åû×ÝWé~|ˆˆ{o_÷O÷)há¨J(.ÍÜr‰ÕÆr…ŨéâäL­ÚfF&Ù½-°ÍõèFßHú‹ám¶§?„¶ìê]º}×èÓeîn%#„Ÿ’s€–Ä^Ô¥Dpsœl‹Ç¤ü¬þ´hÀ¸B]7DÜ}‹\?Æw-`OìªÊ.vð†Gz³Ÿj0–Õ(ªû'…Í^÷‰´PËrâ¼Sɧ•3¿£õ•ÆtÓô0¹’«\ëÌv;òÆ®{ÙU–ç¢%*¾„÷0 ÛÈBÏ9÷O¾ùP‡‡‹›ê‹Æ^ÀRïðU´é« jîó›;7! KÊaºŒ2n'ö'AÑÛ}a#ÞW¢%{xð1±wµZ•U{ÂÈ(—YS/å…Óè´±ò …ÉØLäüÀŸ~HJè 7¸Œj` Só[à ÏB*H_ÍO=¶Ååù8h!²)K*kš‚]USûC&õíIÇù×¼Xÿ±I3Û° ïøæûlFA¢ÌÌÎî(8»¤Æ;ó«ZzF(»FÉø÷ïÖÁµà•h]‡éVdŸ"›\n¢ÖÁ\‘´œ»“ó.6dÈ?'ê?=ù!D̼~®*êLp=s0ØÌCLÙ±+ÈA )`¹‚ ’ øÃ„9 |e-h­r¦üÞY°ñâÁœÝ@ö-'«H§{¯ŠÃlÚÉ'ŽÿÓÿ±v û°òĬ?þ<¾âäInö’‹r°úòJ¡Fa”îàK#ŸÆR5³Æb·ïkÅø'µNµigŽñq­МÌW eº·D–¡€:_CRœ²’ÆtÀlQØê-'4—ÆsÜOõÔŒçvÞ°˜¾y¸ å„nÓµ_–ve‚m‡Eðh`ŸcëÄï°vɰ"µÔÑÔà$[ÝHî`»‰1ÒÎõq[Öô7I®ÊAž1§ÎTKU‚x6wÞ3)˜1;S6†º¿ÆlD“ñÇ|±f¶†ŒäVñm^Ϭ¼¥bi¾¥—P{åYK+ª­”!à,Wͧ +j2k"É¿ê¢Mâ•™Ú‘óႾ@Fþ„êBúç05Æecç{Zü9ÄØ÷êæ]i1@^ÛÕŸ&~­ÇìµÇ R„ØŸå¸ÅÃ>ž­\¤Tw"öú·dg+ñÒ°Tyz/§þiúdüFc•0 ¡¼GÙ?ÌêW™UcŠv„ õk(*¢¤1~æÅ$ƒ¶l´Âƒ­Æn‡rp58Ó !8ôéh†ÕØåÝ«¦NÄÊÎëÎ#çPÎâ Œ"wOðaÉ 6XèЮÚw±´!i“y/å·Ú—c^&¦ÞÈÒ¸ˆÉ”m9XðÙ¡*ô,ïa¤{1‘{þšÒüôx.)±‡½(Ý mƒÝƇ„;ó¨=Ê0/í¸¶æ»~¦xE”qãkEKå–­¼`×$f ):ÈÏÔAó?ÈÂC´ÎÝJàcs ÔåÇí@ëøòT†µ ð…U)%ªCÛL;Òq”¤‹Hä SŠÕ/Xš{œ|ù:}¨×d“d3õ•Ê$ƒ@r.ª3[çA'Ó; FÈá÷•(1TãÞ[¡ö&²ê`LàüÊ3Ü _l——SÉ®QïÏ5‰ÓÙß}ŹlF}q U9Úè¤Èû…*ëÝ˽–ò¡J´Ÿ¤@‹}€GBZGëÖ ÜžWHF`"›ä –êCsû¨…JbN&´™ä æ†6JôÒáìüg%o³h£6²þz#¸!#žgi›³Ÿ)ÄÉ<ôÙÆ5'³Ê‚¦ñFÕä‹hE¾„"¼L µ3ئõxó6Dæ;&xâüìÆÜ¶œˆ¹Yh×ÈèB»*êóA:k&½´2»qF+æ¡%ÆtLâzîŸìJˆb,ˆ¿ûÓ^ŸŠÜ$ ‚J€ßU‰B-ì” Ã,Ö•|9·Ï3¨˜FQÝA’Cs|Hˆsph-ä§<Èl6™‘» VòX|ª§Ü:ƒÄ6°yMxU€ãc-a™gñ˜]]shI͸ø…©Ù^îT‰›iˆŠ_òÅ’§{-ÿîÛí’@Çæm{”“è´aQź]×@Þ~å¶K¤£+S÷.ª3õ@–fœíÊ6!áu ‹éý|ÂØÉZ‰Ù£vÄoK}>l$Ú¤Â;cæîóF?ñ_ã~̱OŸÚ˜ëdÄ3ÔuIØàw)ÑfûÍ8 ½u.Mé˹ ÄòÈkG¥ol‰yrƒ[` Æç-é<ÇÐíHó\Fb°ÝDeˆD€ {ÿƒüënDí TÊ'¡’ бjˆ)Ffr"3z{Ü×4«/ÈÍ®¿òýéLfúÙv—«1:IQ\4OÕ&؈o¡&Ê ƒI!Ïæ¥# ›¾¡µzÅ)èºüOì ×%²° Y™‘T'O‰6ÚG³x·*íC:c„Œ>ÐC0ÊA]*UJØ„`–ÃÉt¨iGçÈr›Ž3/«îðD9‚EÕ4¡¨ÞS™ÇÎ_'ßÿTŒ#¿#Ñeq¥ó|›µ¯‚e 7bðWÿ—£”EÌ<‹OÐZaþ¢’ÆÂÆÅ\ƒÙ:J$=gzšG:jÁ•³ôß`$t…¯É«pÌJÒ×#ÛÔÊ ”ºFn Š‚Ž2ÛwAn†ùg•Y¯7påZ°Pà–‚çæÁ˜ÜrIAYñBpcù0€-v£6·ù´´:\ " ó”F@ܵÊCäp±ù`EÔkyåƒëa:߈t/ß”[hú•®.ø#È"X·¦*2’z¶«j ®ÈUQĵ|¡Æ1¹3îH‡0ûÄæáŒÄWX…¯¥Ÿà6aFòOzIJ¦˜ÇÉú:¶]ãm ´ö¨"ÑUÔ–ʾт–“‡ë¬Cž±çNR}ÚòÞ!âÇ.½­ÍE‹#Ë|flÅ(ÂËH}wéú'¡"aŠS0²³AËnd¢H Ð]`ÇÎÞÁ|Dƒªà鄼QúîňÜËÒdÜi5IQ)#rCÆV­ã¶ò¿8B €Ü+µx²#èïè-ŸLÐÖò¹¡X§@2)ÏÛN[C<Ôÿ«ºõ…HúÝü)ø§E~³‰‡ªÌŠ· #²mœzØðþÊWSvsŽÑ<8 ÿ_›(VðyìÚa‚0ÎLÞº:à‡}‹¿ ÓU ùÊ I€dGjþ$Ñ[ØL“Rý^;ݭɦÅ\·ÎôÉX›È’z4FêKGÃ"¥˜sK¸dyø<°Ššõ44Žâû\ÌU*ðÃðgsq_·%¼œ ,$5Ö$†ã)‰@}fÏ:N_"#ú.çp¦Õ}“÷·ñ„.Æ!Ë%ͼ ³óAȬ:W<àºä/:Ü®j/ÎyïÁF¥§²@ãG ŒXòª,ëXÃÈTØ2lÆ5ôRR­<ïô¥dëË÷ëà<}–'z iú0£¤ýÚ‹¤‚T9J/9ôr*Ö’Œˆ=&9¨èãñ sqï¶€OÓemQ2ðR~‹ t‚Ò'çæ·|`ì³øª9µ‘T´·¯`¿kù\^§nÁÁ¢Žê´I5™ìº›¤.³v4Ê—^F^QÄÿKÆaj†ü¾êP «3úA¼s<Éb/¢‘=ŽÞ„U…s [Ú#`„n|ùLúst÷7gcÅ‹jªÞ¡Ë8jU§GoTgÍ\på1Ä$” ‰ý=½$¿õjWŒktpâ0xÙÓ)|"¹« íÿ2¸{ü=÷V"¯œêÕ/½'­dE°feî~¡lPí!©mHÛ1! ,w•÷×Å‘2¾Ÿt£iÆ3Ƚç“%·òGW1×^k_ÿÖåÉÒÉGB— µžÍ×4#:é—“ Ûö]ì5£ôÄr™±ÉÔWÜ)š¤/}`>(E_Þa¦ìYñ¤‘r$GÓ8¾‚—‰ÛîÜîÙqi+ójnøñê¡&5âÇËU&a=³§:Íu-Þ…c=ˆÂðKÕ+ç‘Ïl, a››ïÒ*îò v:œ9 (cLÌ3ÚO‹{›™½¡kÅL›ULj0œ¼+ÞX nF],¦ÆÒYŒ´Þ°ÿ°Ùr hZ¤T¾13„è ØuË^ÿúǺž/t†ò¨_Pãäè²PÛËïsa&Nu´ÏáëMSye$KË×}1ÝÜþ²P%ƒÈæ’‚Vj2L·àhVÊÐ ¼yŽ Û.¨5)¦gÌBÉi‡¸RK‚_¹Ê»e18xy_ÒØ•¬àïÁã¿‚i2ø Zmû9,¶W1gP û-£ÿJº½€|í×+ “Ô‹Ým.…rk,$kvZ}ì‘ÊZ Š×ëuI 6´±ªž]WõÌXƒ¿lçeâáûà5¿5AOq9»²g·¡å%!2‹›uÛÊÄ”9~õÂ2}">«¥¬—»‰ü–åE D›Cøa˜”ç»”á) .ˆzqó‚º6ùG=ö‘+(g°‡Íxsöû<¸îÈþ¡Á&þ³ +ø´!X(|Ì;Ƈº>¡œMêS…i &#ð¸óóÊ®rCZaµÿÄgê •€mFb[¸+Ã’ÌÞ:;žôÂ×må<¥î5ŒDÖÁµÒͨ·Ç:•”¶wج, ™ÍçFXæD "söê¯õçš6ÌM˜‹GÏzG˜»gãõ­k‘ÈÚB¯z5j”‡ú*„³¢ïƒ|I©ˆ:_ ’ä„vÞÚ u)vÃr<ÔùÀãÑx³<+îl|³e»Ó:]tkÇ%B âš6,hkÙñVU)mý)‰›l똌ՒáÕ ­‡`;•cÉI8Ó0Šv[Nšv{"+`ƒ5‘Ù;‰t³p1¹hÖ?šà‡wë‰|Ë÷ùttnæò6Ñ´ rWKKÁûPÜ``ÇЋaa8´|„&[þ3õôC|4j¼r¤©w #S@m(¾1ÕÖ=)|›#¸•C…Û)­CN騎’×bTî˜Ù=|]l4yÕÒ£OT°'ÌüŸ-ª3¯9ꋌ¢“% ÝÞ÷Cˆ3=—ŠVuÉÈšŸDû˜2‰e¹KÇ’€UÜù ܳ¥6‹ëf yq°iåá‡Ûá‰.LO÷!›th> "+ô JÖWÒ!>ù÷Ž5([IH¼;Ëk§š@‹Y®šÍ·bÙËoºôÍSVEV_&åÏnŒ€1†CÐ ÜÁÊ×y¸Š>^Úv ·L wœ4-•í@OìDüC$:G¿GO¨»dß°&&Äcãž’NÞ²x»Hí™]fçh³¹„/ÉñÂ5Xeå•ì, F8ŸÆUåòõjÕåWtõϺRJ¤å ƒ»üA^’‚ö•\Š"¯áµ¨øˆï8¸hJö°‡Þq¥És!ž¸×É1þHèg鬕¨Âå>R6it‘ë­ŸC*rÕ˜´Òjª H±y­†/)]„Á‘ÝLOæd!KDgÞ«³ŠÇ˜g[ü²5Hß=á —'¤3Íö`u©v #k+À†ß˨‘Âö[Ù¦w^âK´Ø²¶n>º(n?­¯”ˆy0¯¦ƒa¼õdó_¥±Ðâ7Ó€]׿+mó-ô4n@‰ïvl/e?x&gîû†Íô>€übùœ`“ˆ9"t)aÐXäGJ¿9_µ‡•#ž4ûOÌS\ø_ÑÏ»:æI;Ìм§[Éaì×¼£ñ¶0EP}ò8ûÑbœÕÂ3.½8oþ§'Ý(¨£!QcŠËQƒ]¥µ°Ò!Lì’ ÝMÖ!¡ø¶ðrû=Üj ÏÁ—úE„Η@»Õ!üòŽ•ŠL›ŸÓC25rÐé’o$u1R¯O@œfJa;Sn¼ê? ”bìä!§$=å "° óýXzûq² 3kZ•6ÚøšŸläðÀ­ÊÖ舱B$7ô•{Ê`G8ßFåiôß@ÁcX¬wCÆo–{h:ªµ”#7 ¥¡Ôð³u°nØ$6Ñ‚|OUô™°ã¢§êíƒõ=ÿLo™øÞQ«À¾8˜òd»Ô~ÔI--œªl§­C’6 ;ªÊÈÎtž‰æ³BÿÁOÜf¦Úä‚6‹ÀBû+)÷¾pïæ& tôÓáÆÙ³)˜—™dʉC\a@jä§ë,•7¹´B–1µK÷€¨´¼¶ê²Ö…CˆJG®Ï„º†Ôê#a¸ó8ƒÚú'¬PéË™–›£`¯jQåèáôuIèZ÷Í_âªW.nuóÌyh×.H¿µý+0º–ÆÒ^<<¾hE[ù甇²ç=Ÿ'÷‰z­vVX é£|íÇYÇ5Éÿ1£ïÅ›rÃ]T¤fº,âÊs·ÃÇ¢s7›+³:É+±ãLÖØÀ_ôL©;½ä¿sOç×[yð¬a³&!‹–¡%ÔHÛ“„ÕF±½¿2°4àöíHšMý$Ïýòöéoö~ì êE-¨ÞWdÅ Á½eı/©N?¶„"k×Tº¥S8ˆ‡éa£ÛÖ!ˆØ3ûÝ—À£<ùÄŽÔB¯Œ_™!ž$À»UõV+KiÕ OûB ›XÓE+åÛ~ìvH‹ƒôÇ^xïðmEöäö€²_*SZƳ,iD´vY…TÉ×¼‚]æ)Î\ˆ3ÞDÍäí>T Â)UAˆ”èPŽ/ªÞ´!‘~ ¢£_€ÚšÏæÿ|£n’…„²÷sSd¶T5Ö~ä¶ØïB^gYê‡ìÇ.â_áÛ«Ù n¤: Ûä³{àô?6BTj3ÉOP6ÄMK€ŽïŽ>zWœŸ,í §7¯þ:â³P rqšíÏd¨üЃã&× Ýáo]Xy3ÒQV -ó"2€2ãîbùû¦Œ¶¶{:ýpëŒeˆ=îå5‰ð»F“ÒÁ7 –S:éÅÖ-ÀNíÝ"¢s =Þß'~ðôÌ«Ðr+&+È_(Ž6W䋞àøÜ"‚G‚ ­âÔ ÏY¬¦/üi¹LˆQþ‡KŸŒ´xŸÞûW´_û#b!Ýeæh&kñèëvŸ&„/DË7 Ç”5B :v«v¸f¿ ëK|A(Ð 3¢ã`ú|8»‘ 6ÑÄÙ“j&ÃÍ;H-jÂî0+âÃ8êWJMW€é€.ج½zVš¸÷Ì]ùS¿/“á zÖ¨/“a¼ª —õvJ1ÈóáÜ·à°À¦*´¨‚8Î ýC^F ÷ø8xV…bkôÆÑ7di^sIK[Û,`ÖШÆ<â/“ç J~V…iAËD1éÏÈ `ß/ð}Û74a0ôÖ½uĹGõ0ò±Éi§W @lV.4‘HAµM1™ñ¦1âú™UI]üYSûr)½”¶DVÏ8¨½–>/ÚéÒ±tÎäÁ DÞúq¶nZòÌ6­w'Ú™Þe˜(pyÈÂNï.Å8ÐZ· ås}Q"‰KÉL/eÞßLŽEAÌ>Ìq¶ª’ð‡Õ¨ ë…‡÷û?òÀê8+t b+MJ_‚¶m­{¬xºÐä÷ÐG9°Á»MÇ÷‡MÌ?>ù‚Â,¦„<²JØ=Ós᫬‚Å{??€¯“ð?#à'ÂxÜM FÚÿ¦¼É‹W_·ŠºyPÅZB"¨&¥P­îÌn,Žª"¼7m¼X2Ñý­.ÿ:à7rÖ‡ÂÖ*”v˜ÒœÆœl'‡“>ª]%¢v†Iék$+ãVh§=wÅvv5®&O9käð$°P‡ÂsÀ&yH/\ ‡ÓÛ.‰A+‹bÆSZÉWUüÎ ceɦÔïÁ …*îý´Ì¤íÿ|ò8°ÖO¹9tré ßÖÒ 1Ðg0Ÿø¹âÀyÎkƒ\OÁ¾‰A ·]Ƶl‘$Àµ¡žbóÔ†<²C¥;:_k †?ž{™¢t³ ;¼d≜I¯æj¸‚y]’¸Â}nµ_/Ýos¶Ô%Ц NE»“eW\9»;øýînæDÎpÂÞðÎc´P1"âM¾6á6« g@–µ õ @<†Ÿ²2ëÔqëÍqƇ5@Œ¥‹ýþÑl˜‡,°æ‰üà©<¹›pêż p€|ñ«Ë6ªO‚äöõK´ríHÕ†Áï,@[ø®‘ÂËn¶ø×\èwd‰ÍÊt×*À™ÝÃÜ»…ÙÞ¨ÿ7é“d=76ò#Us~·¨Q@ÕõŽÊTÊ%jsëmaS³â$­cL>¿SN1Ì‹´~fëfˆd áVQÀaÀB©]‹AEñ‹F@¥\厙ç‹7{ð´/#i’BŸ¬˜m>øèB£Û}|IäKç%IQ§€_ÎhâÊ\Síò…5äû@ÒŽ‚‡µû– š0PÄ4"2{Wñ?âuhz$pø35fÔþÍ&8Sß6QÄOÓfÏ‚âÌQ–Ç:Fû)°‚·Ÿê ÿ‹d.9:j¥®Ð?>„Åo à늙1¨<Ø´„îðQà{oä0 Oå*AÍ‚µf[”%…ÊÈnhpmßÄÎzI¸!ˆP)ÍV1ñT\e%;ón Ô5ÊãOÙ¿ÆMd¢Ú-ãÙYp:ÕöÅž²ƒ³,´“U”ðõŽ;ý˜žÏ¾„Ô°%µD´74]ülE÷¬œ•:wõ¼k'5Ä÷/á ›¦Ý¿áB?ÖeDe®Y]Ys“W;AÔÕ»•,Ä^(¾™â3ëseåFئSñÍ0Ô. kPž]bZà[7“f“–Ìç+D¿µq-&„|•¸,;kePÅ"R´75 åÓF´d¯äúyƒ*¥ eˆhÍjÒQ­¾c¼6+uÊIˆ1†ü£]ÊËåüÑKTVzd^ѵ]OXñ®LŸ0ÍáðT«ÒxÔ#kiW;ÁaVúÓ0Ÿ<‚°å~ÈF¾»»B·÷Qh>ØsýÌôQi=Mp4pe‡‡ó#Ø4øðÛø¶Ãÿ'ÛH•„3F~÷M¶”S¦F®n–åoâ\*·ëuÃ~f¥MwÜñh¬D´1[Q n{€g°I"0tG0xÜ Âqûx6†p²†¿â*P@LÍ%t ôhò¥½÷ՉׄQ4O’«%53 ųÞ¢¶«_7÷¸Û† î£3NxÈ åÑ«k±¥õ=Î?aYxͽ¡ãw# äkv”^âÕ¨Œ¬BÍK·ÒÎ+¶0q+ÃAîl%7*YãLW'¥b%heÈço RL$ÔQ´Š~ÛD¤à•OÝÍrK娾4à ÿóÑhaWŸçèiGã_&Ñ‹ÆÅ0*0´¤ŠsµéZ¼B=0‚¿ÍÜÄ‚p–üO˜þµª+KÔ­)s|GDj8ùg;Úõ!ÔÌ0²g1ì|c,!å!ÑB&Í^’H3^d 'öÁa7D|€‹WùXÇ Z´Ÿ )¢¤™‡œr]ú½CŽâ2‘¶qC`ån38ïµ° ÅéäàøU¨oݰRŽˆŒÎKÝø!‘á ²É4$KdÌ­ÛÐ3í^À¿K^”@+ãÉ9Î(½1×ÕÂlÊiÄm¶„¢fnªB½ ï0(UruA¼$>Vâ†sR‚ *v ÆN  ãÝ2.¢¢Ä2àxá«‘â¼+çÿè²E“»†wà6i¶.”«#? ˆ67ˆSጒH¢[HÊ.ºìÛ*Pù|òO Âhg8\‹ˆXàKœ×r2ÜTçV,Eÿµ!RºðŒSI} ªóQû¸Ê­hú4kRÍlâ;©NŠgôTf!í9¬ÿÖ§b$n+}/òg&í øÞ°"¶Æ0ùøE!'Ë &’0HºÓÃ+¹Åü×R3þTö¼tº¬xYŠ·³•""•Ñö¦ª}’åÇ´77dâË¡z/”*Èö¤˜ ‰ù~Ù"P%²lO*ö„Œ|cœj ¸K}é&¯^iãHiªû2»1H¸#½U/½ìïç*´v§4… ÖWÂÝŠdü5ß¹` õ´Û°i‚­x°ó‹/N˜A¤vÏfD%¶BÖc:îޞ>sœ $ “^£(®Açé‹üó†³ “6ôÊãý$uêE\«ßI 5ó÷çÒ®[ŸÀÉ-yÛúƒ‡@µÙ.½%S8üîLàDgJCtB98…E›W¯I–3ù}…¼¡GåñöéÛA›úá¾– ­¿ûþœô>¢…ŠîM’øÜÎíð¬%. /Á7~}Fc*Éö߀ڮ5³| zò-t¬oš÷m)@óýCDÝŠ,RéÅ%LÔ›ç£& NÒ X‚U¨Üì!ÖNmw@6(‚—N´ ‚ ‡øÑ"'ªšõ$î6(› äõ.ƒŽkAÈ€•ÔéÚJÒ {þ‹©¿ÊlgÕìÒ± ¡¬ÜˆÂb3Á` ¿¡ß¸PЉXH4£à׋–€;´¬æø:oôì"‹`u'( ¸¯Îaèï{;X»=”ibúa©è'ÞÒÀ”ƒ¹ É¥ûâ&eÜù"IãªD?,nqò¥^ ¸ƒ"ð âp´ÌÐex“W§>ÜÀ§\’ÑÕØØ†?‘fÔ$îüyqãY¹><½ÐäˆÔ•øDð[ÊÑK©š•r¼‰Á‹êÿò€É”ƒ?g`ÚNƒûBa†ä£Fát¯ÿe,TnëmrwâEê¢’ÅÆ` •¾MGFdeë2Žù˜"kôxkü*›·¸E^Å]{T‹{‹|x.ívì.8»“…¥L”ãQžGÁ â=*𦙳ޫ¬Ñ`ž—?(@Çð!Wì$8_À¸vÁHgO–c~ØMN4”mv‡£²Ã?´MzF)/\p3b`Y~7ãT7ƒ»b¸¯9ÆÄR+N˜™üªÓš2Ýîf“}F>.É „ÚÁü®ü Ȭ¨s؉ç XÛ»†Y= ƒUº¶B‡&|¬gp¦.ŠO©ê'r¼¹ÕQ µø«{€½„‡Š UÿlãØh²Í¹Ãœ7áÕÒYc\ù&Ã4ý‘B¹oËÍ3`-²\Q=JDÉW¸–Â0ôàéÑ&wÂò4(ð†=4˜–ô½jwqì<{ŽëëJG1Ž@#šsd÷a RIÉå©©x鯥h”µdš”q~¬l$­O£¸?+Ãy-±íž°¾ý9ÉZÂd|×GÆ…B©ïòä4)@ ä§§lºÈ]™óqÝF“V—¾yÅ6¦ ŸFýnÏk1ü3à£pƒr?Ë]¯zˆ¬\—ª•—ÅÄLÿ¸øÆB„̃ª.x+Š2 ã<0ÜkmLÙºU>'èÉúÒ{øž¤ÁhåÈ4Úóâ­¥34àtÝõÜŽ°²*0AÜ$âadLÊœ|B3ò‘^\Šgàïz!þÅO¥þü ´!ßÍ0ñsÇ+'0Ù_³¦l¬0«†9ïîÇš×ÿñ(†N¬$&jÊ®“–¨„".?éŽæY û¬¤=Sps- ôÀ-£UÈœ ®eqF%»D¢Fþ¼B•j`ìûÆ‚÷ šÄ)æàè€Ì>–~mI‚)‘‰t8—›\^䥢ØÊTUÈhË&¿ãç(ÔÓd &ìƒ,Ê>É{Qæ½€Ú@Lž…vJ. <á'ô~v®¤è„Ð~¾)»Y“>öœ€ }ØQf°Ç{é k&n&­r¼œõí*ü8¢§å$›íð±ñ ‚ÉnG 9àŽ!·t£àűk¾ºf‚5slûÙ€TÌàÅ)¢ì4Ä·Q•ÉèAÖÕø{”¢…]ù >V—F!Æ>WŸí‹LlFiD™OŠtЀ\ƒ5Rí×BÖZ…¹òŠ#gpFÛü\d“åLþj˜÷sÁ¨DÌžýzæŠL‹µq‡¸Ê\ÖÉÑH'çröFİœUýƒéÑîÐñ"[MåÖ¥í^…ôºò£Áãmö&Á/aç×’¹¯¶ètcSÈI\!lPkoX–oŸ.ÿÿ²Ê,æßn¹ µ˜Ù‘{ïåÔ*מ‡Ü-ÞÊ­¼·7Ž ’r]8Ï2aŒI× ,¸Ïèi#ût!äQ–CßFÝåÒ½ºPÖà|Ñþ–‘iw0ySé?“_QqÝÓ·±DCáCZÒP©û]¬ °Ï,Û¾3’bj…õY‘G–ògó…(ÐiP¾Â‹¬ƒ2Xév§»÷Z1o© ÕcGÙt>’Dæ¯øiôZfo'Ú?¸vÜD ‹¬©¤ŸÿþZ Ȇ4ĹQí¡í!Ç3BT†kS”Pùfûêã8‹êS#T3qœŸ2UùN>T‚pö2ö£KH‰Eï–Ó´ÅóÚ)xI’=ÚöhátÚÛx¼ÜÈ,ëLd}­ ûm\n£ĹÁ^"?¼û kÂþÂäVM\‰{à´ð’û¤`ʃ« ­ S,êŒ<.\òïE-{ç´Uçÿ×Œó®«æ¡0LÜÃUéh– sV‰(Ï• ®ÏìÞÒ«`WyQ­fžÀeÙá}þ=[DدßÐó>n#Æ.äÓÇI49vÒÛ¨št'uG!¥¤Õlä@ÔðâLz72iOÇE¾a©fuLß«~4Ø<³Åtý &Óòž?qžîqâeëÑ–‡3Ã+jÁæ[yK«ø-ˆ`"á ÃÑÄb;q¥–•!½c„!™P j¦åÂ܆? ¡?Òµy@ÅBn.üކ½Þøs°óQ{kL/GBú"ÂZ›EïkîWÑ& Ú+j<š|4î?z‹w“X=,ü ˜Å”cMïðªâ:Ö¾íàG] _õÜeP*L‰‹Ý»Õu, qÝPÿA˜•¡5J]­¢ªÒÔjŽ»Q@ ÿiî˜FwãN>¼ç`~bÜrr0™ÑO ‰®šæÕGUôí.…FH>Wf «%C¡Û2°øÄ5Üa<öTưV̓rúÏÓÀàQSáëâh8ÕŒjogoC£“?åTzQç<œ6Dͯ§îÅßeû§¦¢t”Äüë]¦¸°4²r×ñO—á D5á ÂÔlgÅðôýû¹¡×œ?.MìüB~JT7Ú±âXô*.Á’Ý{­Òó¿âýׯ_”µÊ[”¬-sÞ&ùdfIº)4¢Ðà ÿ5ŸD½d¯›•F¾&’5t×Wç'&@pÌ{è>Ú æ+õeq˺ ùt´J'²Léd¶".öÐ…þ‡„•]UWÇe¸¨‡~ãbÝ>jΣMí¬wøl÷>$v¼è Ï½Ó—^ÿm‰ X¯§ØÕ¢”ÂÔ@4CÂᎳ+ë÷Þã¸Õ¨ÎœEIîˆû¯:i¾ƒV_Ü^>Ã9zx"`„‰9`À‘Ÿ7Þî]ZëS¦&l‚PõHj¡=(ë6Wñlåå™|Ûº³¶w ¡QBZ±ßyò©{OܽÜr#CŠJkL ¿2åuÓÄŒi5à\©÷„9ðÑ©Äh8jç:M ‡Ö²kQ[aÝí].;»qúË@ýðŠ~,B‘Ú¦ÿü›vZG]Q[@§Ê—×FìO ¡¶—Åzçƒ4² ˆd°ïçÙ”"~¡¹õ¹r$T?yP'ê{¿¤Æ!Ùü>ôûϼ”Õtñ+s½,"fIËáùÕÏJAä '`©%Öø¬7Úç‚K‹·(ôL_.DóF›æ&}¡žÕ–x® t¾•Þ¼ñJúQùQÅzµ0½ ë”N Â*rô~‘‰HEáÒb³½Ì½`nö§™±0÷ðü[ºß?ÛŒ ÎV)WWÉI©["ܰù„ñsnqw&xk/J¡vj±!m–à`”½;DÅûºî6@ ®<^‡V8›Nt€Âƒ2䲌PŒ +uß «þTKQ%8QY•º¨^B!Ö¦úl¹œ3S­}ž©¹ÆŽ%T†WŸ•­%·yG–‚È)/Ë^²á]ŠËÅô˜ýP›éŸ»þeÅP÷òñûá¨s9mŸð&Jã1JïòÏë3@{‡Èçæu pã=½ŸVÊ·´Zº]þâTb»‘º²ÛAé{½®_BÚ>³ÉM¯nª…Ñ‘Oµå‚á­ª—$¨Ã<{ìUÄG$´?Ì/ñílˆÎð¬AeôzeÿöYB Ï7‡K÷…š:Uüµ¼z'÷»á±¶q¿¿c_QA½Ê\ªlT&ŠÑhƬË-Ÿç4#æ Ü$nüIÑîZÿŸíôÀá/3³„ãšk ¡•´öwg›)ÆÄíL¯|¹þoîksËt×ë—èGŽ@t@ÝP£Øgk¿BÀcY(Ά›‘€º?ýQ0Œ3‹´ƒò§§[oT_ðæ§G}Ï)•i.$N^Ô4¥„›Û.±'¯6×cC•¼ú |t‘*¡J{¦Ø|Kš9öë#€íQ&Ž.è³j›É÷Ñßwþóˆ]+ÚHÊT#?§›!U†¶¿ìºl8(:cKÖ?}T¹Ñ§Åù;3E•„Î-¯ZÏÞfÄ{;IÅQð‹¦ªô(äÂ¥›qx”eÔu—5‚9›®ÕëÜæœ]ÐÃ7Á9Ldy&užtk—9æ”ßâ#ÜÑæo:Œëk[¿+0Þ…Í´uªôŸ™ñ­iD5ìõÛ£`U~e…AàHŽUVWhû܆€ Øf.qåñ*tUé\óB4A]S_°÷ÌuG> Üéè"ì@å/¨‰½ˆ *?ãN{˜²H¯ ](¦`"Š> rÔÉ»¾Þ€lsÀ"Ó.rŠ¿ÕŠ"ZÑ4jæ}·ùgZ¶à~TnUŠzüðG~ý…Ü!ÂeP¢Ã”êõÁw¬¡Þ õÖy(ªã}7Q«¯U¢R1N›šçv5>úÓÜÅ ŸÌyÎ%™]ö$5­žå7ƧáÌTõgš~rÊ_¦VXlaÄÿeC&$¬Ó_§ÄÄãXvæàAM|ºi,šµC·– ØÓÌ¥'b軋¥#ÞÙȯ۾¥ñ k«‰„$]\mÅÍ)>|ú“Â‡í”ø  ?“Tä®É£)’óÉkJMD!ÄÑCWQ.ÜEŽ¢†­DNvÆéÛÞ¤Jè°¿#Md—qlˆέ~¶©ˆÃÕ3f¤'ŸÉ…Pôžœ®šoƒ×üIjE.iÅ€³{ëÎ!¡²Ñ¤‡àUt7Ùì¾0fPúm½›<»º ‹Ôx6?³¹m “}ÆVåLïÁâ¼èSé`îñg. Žt2+27Þü’¼IH2zª‰åeSžj 6Ó©Y¾‡ò¾7üúð%äçy"2UìÒ à9Ƴ"Êè¶Twêì—Â" Ïèƒ]">7d8®ÈZÚ/0W"é ñ)™9û)£ÃlØÛ,^äÄzx 6¿n±Ë « ·MÊ·ñi‡>|G-<•i6myéF<8bø­IìkY'Ð#Ûqu@+=KÏ‹twCãíš=y=¤<³Pl ‡÷Σ©„ª‹0ú”!÷–¬DÀÜѬ Žcÿ¦èŽ –eàÈÁËT7ûLø©,˜ ½›\AMªEq PÖÉ/"ê¼B»‡k†> 'êOO§8SîÛG©Vc³¼„ƒ²êèÛ³¨> ¸0/Ò¬?ëZ²’(‰šëÇ¡þ‚¬¾ÁÕºÜ@g¿³Çæu à¾Õ=^Po áa.mfG۲à zÝT£Œ¢D±pK#Ì.›Q2 ‰›¯ › î4uðg}E‡!qAz‚Ž»âŒ­…G–1ƒÿ_z„§ßìëßìûó ³¨¥¯¥¹Ã#XòN~‚LÝõ&,úU¢Ìö©8l-ÓArëüw˜q¡VUÇ/ùŸµÄæÁÊJ¸ÂM™Šd©çâØaP­˜* (ÁŸ|ízdX,tŠý ìà‚v±Œôµ«0-í0 ‹YZgplots/data/catch.d.txt0000644000176200001440000001144414676043125014554 0ustar liggesusersYear Age Catch 1980 3 275 1980 4 2540 1980 5 5214 1980 6 2596 1980 7 2169 1980 8 1341 1980 9 387 1980 10 262 1980 11 155 1980 12 112 1980 13 64 1980 14 33 1981 3 203 1981 4 1325 1981 5 3503 1981 6 5404 1981 7 1457 1981 8 1415 1981 9 578 1981 10 242 1981 11 61 1981 12 154 1981 13 135 1981 14 128 1982 3 508 1982 4 1092 1982 5 2804 1982 6 4845 1982 7 4293 1982 8 1215 1982 9 975 1982 10 306 1982 11 59 1982 12 35 1982 13 48 1982 14 46 1983 3 107 1983 4 1750 1983 5 1065 1983 6 2455 1983 7 4454 1983 8 2311 1983 9 501 1983 10 251 1983 11 38 1983 12 12 1983 13 2 1983 14 4 1984 3 53 1984 4 657 1984 5 800 1984 6 1825 1984 7 2184 1984 8 3610 1984 9 844 1984 10 376 1984 11 291 1984 12 135 1984 13 185 1984 14 226 1985 3 376 1985 4 4014 1985 5 3366 1985 6 1958 1985 7 1536 1985 8 1172 1985 9 747 1985 10 479 1985 11 74 1985 12 23 1985 13 72 1985 14 71 1986 3 3108 1986 4 1400 1986 5 4170 1986 6 2665 1986 7 1550 1986 8 1116 1986 9 628 1986 10 1549 1986 11 216 1986 12 51 1986 13 30 1986 14 14 1987 3 956 1987 4 5135 1987 5 4428 1987 6 5409 1987 7 2915 1987 8 1348 1987 9 661 1987 10 496 1987 11 498 1987 12 58 1987 13 27 1987 14 48 1988 3 1318 1988 4 5067 1988 5 6619 1988 6 3678 1988 7 2859 1988 8 1775 1988 9 845 1988 10 226 1988 11 270 1988 12 107 1988 13 24 1988 14 1 1989 3 315 1989 4 4313 1989 5 8471 1989 6 7309 1989 7 1794 1989 8 1928 1989 9 848 1989 10 270 1989 11 191 1989 12 135 1989 13 76 1989 14 10 1990 3 143 1990 4 1692 1990 5 5471 1990 6 10112 1990 7 6174 1990 8 1816 1990 9 1087 1990 10 380 1990 11 151 1990 12 55 1990 13 76 1990 14 37 1991 3 198 1991 4 874 1991 5 3613 1991 6 6844 1991 7 10772 1991 8 3223 1991 9 858 1991 10 838 1991 11 228 1991 12 40 1991 13 6 1991 14 5 1992 3 242 1992 4 2928 1992 5 3844 1992 6 4355 1992 7 3884 1992 8 4046 1992 9 1290 1992 10 350 1992 11 196 1992 12 56 1992 13 54 1992 14 15 1993 3 657 1993 4 1083 1993 5 2841 1993 6 2252 1993 7 2247 1993 8 2314 1993 9 3671 1993 10 830 1993 11 223 1993 12 188 1993 13 81 1993 14 12 1994 3 702 1994 4 2955 1994 5 1770 1994 6 2603 1994 7 1377 1994 8 1243 1994 9 1263 1994 10 2009 1994 11 454 1994 12 158 1994 13 188 1994 14 82 1995 3 1573 1995 4 1853 1995 5 2661 1995 6 1807 1995 7 2370 1995 8 905 1995 9 574 1995 10 482 1995 11 521 1995 12 106 1995 13 35 1995 14 13 1996 3 1102 1996 4 2608 1996 5 1868 1996 6 1649 1996 7 835 1996 8 1233 1996 9 385 1996 10 267 1996 11 210 1996 12 232 1996 13 141 1996 14 74 1997 3 603 1997 4 2960 1997 5 2766 1997 6 1651 1997 7 1178 1997 8 599 1997 9 454 1997 10 125 1997 11 95 1997 12 114 1997 13 77 1997 14 43 1998 3 183 1998 4 1289 1998 5 1767 1998 6 1545 1998 7 1114 1998 8 658 1998 9 351 1998 10 265 1998 11 120 1998 12 81 1998 13 85 1998 14 85 1999 3 989 1999 4 732 1999 5 1564 1999 6 2176 1999 7 1934 1999 8 669 1999 9 324 1999 10 140 1999 11 72 1999 12 25 1999 13 28 1999 14 22 2000 3 850 2000 4 2383 2000 5 896 2000 6 1511 2000 7 1612 2000 8 1806 2000 9 335 2000 10 173 2000 11 57 2000 12 33 2000 13 17 2000 14 7 2001 3 1223 2001 4 2619 2001 5 2184 2001 6 591 2001 7 977 2001 8 943 2001 9 819 2001 10 186 2001 11 94 2001 12 28 2001 13 28 2001 14 13 2002 3 1187 2002 4 4190 2002 5 3147 2002 6 2970 2002 7 519 2002 8 820 2002 9 570 2002 10 309 2002 11 101 2002 12 27 2002 13 15 2002 14 11 2003 3 2284 2003 4 4363 2003 5 6031 2003 6 2472 2003 7 1942 2003 8 285 2003 9 438 2003 10 289 2003 11 196 2003 12 28 2003 13 29 2003 14 15 2004 3 952 2004 4 7841 2004 5 7195 2004 6 5363 2004 7 1563 2004 8 1057 2004 9 211 2004 10 224 2004 11 157 2004 12 74 2004 13 39 2004 14 11 2005 3 2607 2005 4 3089 2005 5 7333 2005 6 6876 2005 7 3592 2005 8 978 2005 9 642 2005 10 119 2005 11 149 2005 12 89 2005 13 46 2005 14 12 2006 3 1380 2006 4 10051 2006 5 2616 2006 6 5840 2006 7 4514 2006 8 1989 2006 9 667 2006 10 485 2006 11 118 2006 12 112 2006 13 86 2006 14 31 2007 3 1244 2007 4 6552 2007 5 8751 2007 6 2124 2007 7 2935 2007 8 1817 2007 9 964 2007 10 395 2007 11 190 2007 12 43 2007 13 36 2007 14 20 2008 3 1432 2008 4 3602 2008 5 5874 2008 6 6706 2008 7 1155 2008 8 1894 2008 9 1248 2008 10 803 2008 11 262 2008 12 176 2008 13 87 2008 14 44 2009 3 2820 2009 4 5166 2009 5 2084 2009 6 2734 2009 7 2883 2009 8 777 2009 9 1101 2009 10 847 2009 11 555 2009 12 203 2009 13 134 2009 14 36 2010 3 2146 2010 4 6284 2010 5 3058 2010 6 997 2010 7 1644 2010 8 1571 2010 9 514 2010 10 656 2010 11 522 2010 12 231 2010 13 114 2010 14 64 2011 3 2004 2011 4 4850 2011 5 4006 2011 6 1502 2011 7 677 2011 8 1065 2011 9 1145 2011 10 323 2011 11 433 2011 12 244 2011 13 150 2011 14 75 2012 3 1183 2012 4 4816 2012 5 3514 2012 6 2417 2012 7 903 2012 8 432 2012 9 883 2012 10 1015 2012 11 354 2012 12 277 2012 13 173 2012 14 99 2013 3 1163 2013 4 5538 2013 5 6366 2013 6 2963 2013 7 1610 2013 8 664 2013 9 375 2013 10 537 2013 11 460 2013 12 124 2013 13 118 2013 14 78 2014 3 668 2014 4 3499 2014 5 4867 2014 6 2805 2014 7 1276 2014 8 725 2014 9 347 2014 10 241 2014 11 312 2014 12 199 2014 13 128 2014 14 74 gplots/data/catch.r.txt0000644000176200001440000001250314676043125014567 0ustar liggesusersYear Age Resid 1980 3 -0.79 1980 4 -0.60 1980 5 0.25 1980 6 0.16 1980 7 -0.08 1980 8 0.22 1980 9 -0.05 1980 10 0.22 1980 11 -0.30 1980 12 -0.41 1980 13 -0.70 1980 14 -0.04 1981 3 -0.51 1981 4 -0.26 1981 5 -0.56 1981 6 0.36 1981 7 -0.16 1981 8 0.06 1981 9 0.12 1981 10 0.28 1981 11 -0.85 1981 12 0.93 1981 13 1.19 1981 14 1.88 1982 3 0.84 1982 4 -0.25 1982 5 0.13 1982 6 -0.37 1982 7 0.24 1982 8 -0.03 1982 9 0.37 1982 10 -0.36 1982 11 -1.20 1982 12 -1.15 1982 13 -0.53 1982 14 -0.10 1983 3 -2.48 1983 4 0.94 1983 5 -0.67 1983 6 0.11 1983 7 0.46 1983 8 0.20 1983 9 -0.01 1983 10 -0.80 1983 11 -2.43 1983 12 -2.79 1983 13 -5.17 1983 14 -3.83 1984 3 -4.23 1984 4 -1.61 1984 5 -1.29 1984 6 0.22 1984 7 0.47 1984 8 0.79 1984 9 -0.45 1984 10 0.43 1984 11 0.96 1984 12 1.03 1984 13 3.47 1984 14 4.90 1985 3 -0.28 1985 4 1.23 1985 5 0.58 1985 6 0.08 1985 7 0.27 1985 8 -0.19 1985 9 -1.16 1985 10 -0.75 1985 11 -1.41 1985 12 -3.07 1985 13 0.65 1985 14 2.46 1986 3 2.28 1986 4 -0.72 1986 5 0.24 1986 6 -0.32 1986 7 -0.09 1986 8 0.10 1986 9 -0.41 1986 10 0.93 1986 11 -1.09 1986 12 -1.39 1986 13 -1.83 1986 14 -1.75 1987 3 -0.99 1987 4 0.16 1987 5 0.32 1987 6 0.22 1987 7 0.09 1987 8 0.07 1987 9 0.06 1987 10 -0.18 1987 11 -0.08 1987 12 -2.91 1987 13 -1.91 1987 14 -0.24 1988 3 0.92 1988 4 -0.31 1988 5 0.06 1988 6 0.04 1988 7 -0.14 1988 8 0.20 1988 9 0.79 1988 10 -0.66 1988 11 0.48 1988 12 -1.69 1988 13 -3.27 1988 14 -6.88 1989 3 -0.84 1989 4 0.61 1989 5 0.01 1989 6 0.23 1989 7 -0.58 1989 8 0.04 1989 9 0.27 1989 10 -0.18 1989 11 0.71 1989 12 0.37 1989 13 -1.13 1989 14 -3.73 1990 3 -1.78 1990 4 -0.54 1990 5 0.07 1990 6 0.01 1990 7 0.34 1990 8 0.06 1990 9 0.11 1990 10 -0.37 1990 11 0.07 1990 12 -0.78 1990 13 0.16 1990 14 -1.61 1991 3 -1.96 1991 4 -1.11 1991 5 0.06 1991 6 0.33 1991 7 0.03 1991 8 -0.08 1991 9 0.01 1991 10 0.72 1991 11 0.23 1991 12 -1.38 1991 13 -3.92 1991 14 -3.95 1992 3 -0.22 1992 4 0.58 1992 5 1.05 1992 6 0.43 1992 7 0.06 1992 8 -0.83 1992 9 -0.25 1992 10 -0.40 1992 11 -0.28 1992 12 -1.17 1992 13 0.48 1992 14 -0.88 1993 3 0.98 1993 4 -0.16 1993 5 -0.33 1993 6 -0.14 1993 7 -0.20 1993 8 -0.08 1993 9 0.40 1993 10 0.04 1993 11 0.33 1993 12 0.75 1993 13 0.65 1993 14 -1.28 1994 3 1.09 1994 4 0.98 1994 5 -0.12 1994 6 -0.69 1994 7 -0.43 1994 8 -0.46 1994 9 0.20 1994 10 0.41 1994 11 0.51 1994 12 0.80 1994 13 1.87 1994 14 1.79 1995 3 1.59 1995 4 0.28 1995 5 0.10 1995 6 -0.02 1995 7 0.04 1995 8 -0.08 1995 9 -0.20 1995 10 -0.19 1995 11 -0.26 1995 12 -0.87 1995 13 -0.68 1995 14 -1.83 1996 3 1.45 1996 4 0.17 1996 5 -0.12 1996 6 -0.51 1996 7 -0.34 1996 8 0.19 1996 9 0.27 1996 10 0.03 1996 11 0.39 1996 12 -0.15 1996 13 1.33 1996 14 2.41 1997 3 0.25 1997 4 0.33 1997 5 -0.30 1997 6 0.08 1997 7 -0.03 1997 8 0.29 1997 9 -0.10 1997 10 -0.40 1997 11 -0.30 1997 12 0.37 1997 13 -1.12 1997 14 0.20 1998 3 -0.36 1998 4 -0.07 1998 5 -0.47 1998 6 -0.76 1998 7 0.18 1998 8 0.00 1998 9 0.84 1998 10 0.70 1998 11 1.24 1998 12 1.15 1998 13 1.57 1998 14 0.84 1999 3 0.38 1999 4 0.03 1999 5 0.00 1999 6 0.08 1999 7 0.00 1999 8 -0.20 1999 9 -0.35 1999 10 0.33 1999 11 -0.65 1999 12 -0.57 1999 13 0.31 1999 14 0.17 2000 3 -0.07 2000 4 -0.20 2000 5 0.11 2000 6 0.07 2000 7 -0.16 2000 8 0.48 2000 9 -0.49 2000 10 -0.27 2000 11 -0.22 2000 12 -0.93 2000 13 -0.09 2000 14 -1.12 2001 3 -0.09 2001 4 0.23 2001 5 -0.27 2001 6 -0.14 2001 7 -0.03 2001 8 -0.18 2001 9 0.39 2001 10 0.06 2001 11 0.13 2001 12 0.04 2001 13 0.37 2001 14 1.00 2002 3 -0.62 2002 4 -0.08 2002 5 0.18 2002 6 0.36 2002 7 -0.17 2002 8 0.12 2002 9 -0.26 2002 10 -0.35 2002 11 -0.09 2002 12 -1.20 2002 13 -0.10 2002 14 -0.36 2003 3 0.40 2003 4 -0.28 2003 5 0.42 2003 6 -0.02 2003 7 -0.02 2003 8 -0.61 2003 9 0.04 2003 10 -0.20 2003 11 0.04 2003 12 -1.24 2003 13 0.24 2003 14 1.21 2004 3 -0.16 2004 4 -0.39 2004 5 -0.11 2004 6 0.27 2004 7 -0.10 2004 8 0.28 2004 9 0.61 2004 10 0.41 2004 11 -0.05 2004 12 -0.47 2004 13 0.75 2004 14 -0.26 2005 3 -0.39 2005 4 -0.32 2005 5 -0.31 2005 6 0.44 2005 7 0.34 2005 8 -0.23 2005 9 -0.13 2005 10 -0.01 2005 11 0.31 2005 12 -0.07 2005 13 -0.31 2005 14 -0.43 2006 3 -0.69 2006 4 -0.16 2006 5 -0.35 2006 6 -0.03 2006 7 0.56 2006 8 0.07 2006 9 -0.33 2006 10 -0.10 2006 11 0.76 2006 12 0.95 2006 13 1.05 2006 14 0.12 2007 3 0.79 2007 4 0.22 2007 5 0.14 2007 6 0.25 2007 7 -0.13 2007 8 -0.04 2007 9 -0.40 2007 10 -0.48 2007 11 -0.82 2007 12 0.30 2007 13 0.25 2007 14 -0.26 2008 3 0.11 2008 4 0.36 2008 5 0.18 2008 6 0.23 2008 7 -0.11 2008 8 -0.23 2008 9 -0.24 2008 10 -0.30 2008 11 -0.60 2008 12 0.10 2008 13 2.71 2008 14 1.70 2009 3 0.75 2009 4 0.49 2009 5 -0.11 2009 6 -0.27 2009 7 -0.16 2009 8 0.29 2009 9 -0.34 2009 10 -0.12 2009 11 0.10 2009 12 0.42 2009 13 1.08 2009 14 2.54 2010 3 0.46 2010 4 0.28 2010 5 0.11 2010 6 -0.46 2010 7 0.03 2010 8 -0.12 2010 9 0.47 2010 10 -0.43 2010 11 0.07 2010 12 -0.06 2010 13 0.84 2010 14 1.18 2011 3 0.14 2011 4 -0.06 2011 5 -0.05 2011 6 -0.30 2011 7 -0.04 2011 8 0.29 2011 9 0.14 2011 10 0.36 2011 11 -0.24 2011 12 -0.01 2011 13 0.48 2011 14 1.41 2012 3 -0.57 2012 4 -0.37 2012 5 -0.27 2012 6 -0.20 2012 7 -0.24 2012 8 0.06 2012 9 0.66 2012 10 0.55 2012 11 1.38 2012 12 0.12 2012 13 0.55 2012 14 0.91 2013 3 -0.50 2013 4 -0.04 2013 5 0.33 2013 6 -0.02 2013 7 -0.19 2013 8 -0.11 2013 9 0.28 2013 10 0.12 2013 11 -0.36 2013 12 0.35 2013 13 -0.53 2013 14 0.01 2014 3 0.16 2014 4 -0.20 2014 5 0.50 2014 6 -0.04 2014 7 -0.22 2014 8 -0.37 2014 9 -0.24 2014 10 0.45 2014 11 0.28 2014 12 -0.38 2014 13 1.99 2014 14 0.16 gplots/ChangeLog0000644000176200001440000013231112676760017013351 0ustar liggesusers2016-03-30 warnes * [r2122] R/plot.lowess.R: plotLowess() wasn't finding objects in the caller's environment. 2016-03-28 warnes * [r2121] DESCRIPTION, inst/NEWS: Update gplots version to 3.0.0. * [r2120] man/heatmap.2.Rd: The 'layout' element of the list returned from heatmap.2 is a named list, not a named vector. * [r2119] man/gplots-deprecated.Rd: Used wrong comment character. * [r2118] man/gplots-deprecated.Rd: Comment out arguments section to avoid R CMD check warning. 2016-03-25 warnes * [r2112] man/heatmap.2.Rd: Update URL for RColorBrewer * [r2111] DESCRIPTION: Fix typos and quote uncommon words to make R CMD check happy * [r2110] DESCRIPTION, inst/ChangeLog, inst/NEWS: Update files for gplots 2.18.0 * [r2109] NAMESPACE: Add imports recommended by R CMD check on WinBuilder * [r2108] man/heatmap.2.Rd: Add trailing slash to make R CMD check's URL testing happy. * [r2107] tests/heatmap2Test.Rout.save: Update test output to match corrected messages * [r2106] R/plot.venn.R: Warning message didn't have spaces between words. Minor code reformatting. * [r2105] R/lowess.R: Remove obsolete function to add '...' to argument list for stats::lowess(). * [r2104] man/lowess.Rd, man/venn.Rd: Fix errors identified by R CMD check * [r2103] R/heatmap.2.R: Fix error when Rowv=FALSE or Colv=FALSE * [r2102] man/gplots-defunct.Rd, man/gplots-deprecated.Rd: Fix documenation issues identified by 'R CMD check' * [r2101] man/venn.Rd: Correct discrepencies in man page * [r2100] man/venn.Rd: Correct discrepencies in man page * [r2099] man/lowess.Rd: Correct differences between calls on man page and in code * [r2098] R/lmplot2.R: Fix name of replacement functon in defuct message generated by plot.lm2 * [r2097] man/lowess.Rd: Improve lowess() man page * [r2096] NAMESPACE: Add plotLowess() and plot.lowess() to the NAMESPACE * [r2095] R/plot.lowess.R: Ensure lowess plot methods (invisibly) return the lowess object. * [r2094] man/lowess.Rd: Update man page for lowess to reflect new lowess method for plot(). * [r2093] R/plot.lowess.R: Ensure extra arguments are properly passed to the plot call. * [r2092] R/heatmap.2.R: Corrected a bug causing "Error in plot.new() : figure margins too large" to occur when 'key=FALSE'. (Reported and patch provided by Sveinung Gundersen.) 2016-03-24 warnes * [r2091] R/lowess.R, R/plot.lowess.R: Rename plot.lowess to plotLowess to avoid confusions with plot() method for class 'lowess', create a plot() method for class 'lowess' and modify the lowess.default() and lowess.formula() to add the 'lowess' class to the returned object, along with a 'call' list element. * [r2090] R/venn.R, R/vennMembers.R, man/venn.Rd: The 'intersections' attribute returned from venn() has been improved to use set names instead of indicators, and is ordered from simplest to most complex set interactions. * [r2089] R/smartlegend.R, man/gplots-defunct.Rd, man/gplots-deprecated.Rd: The smartlegend() function has been made defunct and is no longer available. * [r2088] R/lmplot2.R: Indentation changes * [r2087] man/heatmap.2.Rd: Update heatmap.2() man page to reflect addition of to the returned object. * [r2086] R/lowess.R: Remove observations with missing values when lowess is called using the formula interface. * [r2085] R/heatmap.2.R: Add layout infromation to object returned from heatmap.2() (patch provided by Jenny Drnevich). * [r2084] DESCRIPTION: Correct spelling 2016-03-08 warnes * [r2083] R/plot.lowess.R: Add function to plot points and lowess using formula interface. * [r2082] R/lowess.R: Remove old code for S-Plus and modernize formula handling code. * [r2081] R/heatmap.2.R: Set srtCol default if missing and colCol is set 2016-02-26 warnes * [r2080] R/venn.R: venn() now support matrix arguments. * [r2079] R/angleAxis.R, man/angleAxis.Rd: New angleAxis() function to create axis labels with rotated text. * [r2078] R/heatmap.2.R: - heatmap.2() can now be used to plot subsets of a previous heatmap. - Remove stray 'browser()' debuggint statement from heatmap.2() code. - Decrease the granularity of the carpet in heatmap.2()'s color key to avoid visual artifacts. 2015-11-23 warnes * [r2070] R/heatmap.2.R: Remove debugging print() statement. 2015-07-22 warnes * [r2062] DESCRIPTION, R/heatmap.2.R, R/layout_set.R: Renamed 'test' directory to 'tests', commented out tests for lme4 which has a changed API 2015-06-02 warnes * [r2052] R/boxplot2.R: Defunct message for boxplot.n was recommending the wrong function 2015-05-02 warnes * [r2018] Rename 'trunk' to 'pkg' for compatibility with R-forge 2015-05-01 warnes * [r2014] Again... * [r2013] Update ChangeLog (again) * [r2012] Summary: Correct man page name * [r2011] Summary: Forgot to add \alias for smartlegend. * [r2010] Remove leftover alias * [r2009] Commit ChangeLog * [r2008] Update NEWS again. * [r2007] Mark boxplot.n and() plot.lm2() as defunct. * [r2006] Make ballonplot.n() and plot.lm2() 'defunct'. * [r2005] Update NEWS and ChangeLog again. * [r2004] Summary: Punctuation. * [r2003] Correct URLs in man pages. * [r2002] Correct URLs in man pages. * [r2001] Update NEWS again. * [r2000] Improve package description. * [r1999] Mark 'smartlegend' as deprecated * [r1998] Summary: Mark smartlegend() as deprecated. * [r1997] Summary: venn example used 'F' instead of 'FALSE'. * [r1996] Update DESCRIPTION, NEWS, and ChangeLog again for gplots 2.17.0. * [r1995] - heatmap.2: row traces could be plotted in the wrong order. * [r1994] - heatmap.2: column traces could be plotted in the wrong order. - heatmap.2: add support for plotting sub-clusters of the full row and column dendrograms 2015-04-23 warnes * [r1955] Update NEWS and ChangeLog * [r1954] In heatmap.2(), the color key now properly handles color breaks that are not equally spaced. (Issue reported by Tim Richter-Heitmann.) * [r1948] - plotCI() was not properly respecting the 'type=' argument. This has been corrected. * [r1947] - Remove stray browser() call from overplot() * [r1943] Explicitly specify argument to gplots:::reorder.factor to prevent error. * [r1942] - The returned object from venn() now includes a 'interesection' attribution containing a list of which items are in each set intersection. This can be turned off by settting 'intersection=FALSE'. * [r1941] Patch submitted by Ilia Kats: - easily extract and plot subclusters from a big heatmap using the same colorkey, by passing a dendgrogram of the subcluster together with the full data matrix and, optionally, the breaks of the full heatmap in order to obtain the same color scaling. This is useful if one wants to plot several subclusters as different panels in a paper, but maintain consistent color coding. - Improves the behavior of the color key axis labels, as they now honor par("cex") and par("cex.lab"). * [r1940] In heatmap.2() split calls to distfun() and hclustfun() into separate steps to make debugging easier 2015-04-22 warnes * [r1931] Update DESCRIPTION, ChangeLog, and NEWS for gplots 2.17.0 * [r1930] heatmap.2: add new 'colRow' and 'colCol' arguments to control the color of row and column text labels 2015-04-06 warnes * [r1916] Add ChangeLog files to repository 2015-01-02 warnes * [r1913] Update for gplots release 2.16.0. * [r1912] Change default group count lable back to 'n='. * [r1911] - plotmeans: Pass optional graphical arguments captured in '...' axis function used to draw the x axis. - plotmeans: Add an new argument 'text.n.label' to specify the text used for labelingthe number of elements in a group. * [r1910] - Remove S-Plus-specific code - Simplify model frame code 2014-12-03 warnes * [r1909] Update stored test output to account for new startup message from KernSmooth package * [r1908] Fix package title capitalization. 2014-12-02 warnes * [r1907] Add descrioption of node stack overflow issue and work-around. * [r1906] Move '...' argument to bandplot.formula to match man page. * [r1905] plot.dendrogram isn't exported by gplots, so it must be referenced using the ':::' notation. * [r1904] Man page fixes. * [r1903] Add exports of new bandplot methods to NAMESPACE file. * [r1902] Code cleanup. * [r1901] Simplify model.frame code for bandplot.formula. 2014-12-01 warnes * [r1900] Update for 2.15.0 * [r1899] Convert bandplot to S3-method dispatch and add method for class formula. * [r1898] Improve whitespace 2014-09-17 warnes * [r1895] Minor reformatting. * [r1894] Explicitly reset namespace for dendrogram functions copied from stats. * [r1893] Update DESCRIPTION and NEWS for gplots 2.14.2 * [r1892] To work around recursion limit issues triggered by deeply nested dendrograms, (1) create a local *intepreted* copy of stats:::plotNode(), (2) detect recursion limit error message within heatmap.2() and generate a more user-friendly message. * [r1891] Add test case for exceeding recursion limits when plotting deeply nested dendrograms * [r1890] heatmap.2 was not properly handling integer vectors for Rowv and Colv. * [r1889] key.title=NA was not being honored when density.info=NA. 2014-09-16 warnes * [r1888] Add plotNode code to allow modificaiton of algorithm from recursive to iterative for the purpose of avoiding node stack overflow. * [r1887] - Correct statement of default color for 'notecol' argumemt to 'heatmap.2'. - Modify default arguments to 'symbreaks' and 'symkey' to make the logic more evident by replacing min() with any(). (The previous code executed properly, but relied on implicit coercion of logicals to numeric, obscuring the intent.) 2014-06-30 warnes * [r1823] Fix typo in dendrogram size checking code. 2014-06-19 warnes * [r1822] Fix typo 'ColInd' --> 'colInd'. * [r1821] Update for gplots 2.14.0 2014-06-17 warnes * [r1820] - Document new 'key.title', 'key.xlab', 'key.ylab', 'key.xtickfun', 'key.ytickfun', 'key.par' arguments to heatmap.2 (belated commit). - Document new 'reorderfun' argument to heatmap.2. * [r1819] Allow user to specify function used to reorder based on the dendogram via a new 'reorderfun' argument. Suggested by Yuanhua Liu. * [r1818] Fix typo in heatmap.2() reported by Yuanhua Liu. 2014-06-05 warnes * [r1817] Check size of Rowv and Colv dendogram objects to ensure they matches data. 2014-04-17 warnes * [r1812] Add see also to r2d2::freq2d. * [r1811] Add reference to r2d2::conf2d. 2014-04-09 warnes * [r1802] Add padj=0.5 to better align margin labels. 2014-04-05 warnes * [r1781] Update NEWS * [r1780] Add 'extrafun' argument to heatmap.2 to allow the user to perform additional customization by providing a function to be called before heatmap.2 exits. 2014-04-04 warnes * [r1779] Update for gplots 2.13.0 * [r1778] Fix handling of row trace (hline). Bug report and patch provided by Ilia Kats. 2013-10-21 warnes * [r1744] Handle 'ask' argument in lmplot2 function proper, rather than in (depreciated) plot.lm2 wrapper. * [r1743] Correct release number * [r1742] Handle 'ask' argument in lmplot2 function proper, rather than in (depreciated) plot.lm2 wrapper. * [r1741] Fix typo 2013-10-15 warnes * [r1740] Add boxplot2 and lmplot2 to NAMESPACE * [r1739] Update for gplots release 2.12.1 * [r1738] Rename boxplot.n to boxplt2 and plot.lm2 to lmplot2 * [r1737] Make lmplot2 manual page from plot.lm.2 manual page. * [r1736] Make boxplot2 manual page from boxplot.n manual page. * [r1735] Create deprecated man page from boxplot.n man page 2013-10-12 warnes * [r1734] Update NEWS with latest changes * [r1733] Mark one example dontrun to avoid --as-cran warning. 2013-10-11 warnes * [r1732] Allow standard S3 method handling to locate the correct function. * [r1731] Fix error when a subgroup contains no finite values * [r1730] Update test output * [r1729] Move several packages from Depends to Imports, Suggests * [r1728] Use gdata::nobs in example * [r1727] caTools and KernSmooth now have namespaces, so import from them. * [r1726] Update files for gplots 2.12.0 * [r1725] Update files for gplots 2.12.0 * [r1724] Add parameters to control row and column label positioning, rotation, justification, and offset. * [r1723] Fix bug in getVennCounts.data.frame when number of TRUE cases in each variable are equal. 2013-06-28 warnes * [r1680] Update PDF file, including new email addresses 2013-06-27 warnes * [r1679] Update for gplots 2.11.3 * [r1678] Update for release 2.11.3 * [r1677] Update with tests for only 1 row/column separator * [r1676] Fix typo * [r1675] Add test for one row/column separator * [r1674] Add more in-line comments * [r1673] Modify sinkplot to use a local environement to store its information instead of the global environment. 2013-03-24 warnes * [r1647] Update news for release 2.11.2 * [r1646] Add ci.width argument to barplot2() to allow varying the length of the 't' at the end of confidence interval bars. * [r1642] Update for release 2.11.2 * [r1641] Update manual page for lowess.default() to match changed argument list for lowess() in R 3.0.0 2012-12-14 warnes * [r1631] Fix typo: warn() instead of warning(). * [r1630] Fix syntax of VignetteIndexEntry in venn.Rnw. * [r1629] Add generated vignette pdf. * [r1628] Add required VignetteIndexEntry metadata to venn vignette code. * [r1627] Update DESCRIPTION and NEWS for release 2.11.1. * [r1626] Improve venn() to work with PDF and Sweave/pdflatex. Provide a vignette for venn(). * [r1625] Fix error in processing the colsep argument to heatmap.2. * [r1624] Clarify that plotmeans is intended for a *continuous* outcome based on a *factor* grouping level. * [r1623] Replace corrupted BalloonPlot.pdf file and remove svn properties that were causing it to be corrupted. 2012-06-08 warnes * [r1558] Update NEWS for 2.11.0 release. * [r1557] Fix R CMD check warnings. * [r1556] Move incorrectly placed closing brace. 2012-06-07 warnes * [r1555] Object returned by hist2d() has been changed: - $x and $y now contain the n midpoints of the bins in each direction - $x.breaks, $y.breaks now contain the n+1 limits of the bins in each direction The function print.hist2d() has been updated appropriately. * [r1554] Correct error in handling binning: (N+1)x(N+1) bins were being created instead of NxN bins, and the highest row/column in each direction was being omitted from the results and plot. * [r1553] Add default value for lwd argument to plotmeans() 2012-05-31 warnes * [r1533] Properly mark up S3 method. 2011-12-09 warnes * [r1519] Add 'lwd' (linewidth) to arguments handled by plotmeans. 2011-09-02 warnes * [r1505] Update NEWS for release 2.10.1. * [r1504] Increment version counter. * [r1503] Add necessary alias statment to man files for for 'hist2d' and 'ci2d' print methods. * [r1502] Fix naming error * [r1501] Provide print() methods for 'hist2d' and 'ci2d' objects. * [r1498] Correct dependence on R >= 2.10 2011-09-01 warnes * [r1491] - Correct issues in ci2d() man page. * [r1490] - Comment out import from KernSmooth in NAMESPACES, since KernSmooth doesn't provide a namespace. - Update a test output. * [r1489] - Update NEWS file and correct version number * [r1488] - Depend on KernSmooth package. Increment version number. * [r1487] - Depend on KernSmooth package and import 'bkdeD2' and 'dpik'. * [r1486] Improvements to ci2d(): - Add option to utilize KernDensity::bkde2D to estimate the 2-d density (now the default). - Add option to display points for original data on generated plots - Name elements of returned contour list according to the significance level to make it easier to select desired contours. - Improve handling of x and y labels * [r1485] Remove log tag and comments from top of the file. 2011-08-26 warnes * [r1478] Update NEWS for 2.10.0 release * [r1477] Add dependency on R>= 2.10 to handle compressed Rda data file. * [r1476] Compress rtPCR example data set to make distributed package smaller. * [r1475] Remove '1.0' confidence line from ci2d(..,show="contour"). 2011-08-25 warnes * [r1474] - Add 'ci2d()' to compute 2-dimensional emipirical confidence interval. - Fix parse error in help page for 'rich.colors()'. 2011-08-16 warnes * [r1473] Update DESCRIPTION file for 2.8.1. * [r1472] Add 'alpha' argument to rich.colors() to control transparency. * [r1471] Accellerate hist2d by replacing for() loop with tapply(), and allow user to specify summary function applied, per suggestion by Peter Hagedorn (PHA -at- santaris -dot- com). 2011-05-02 arnima * [r1470] Added argument 'alpha' and removed argument 'rgb' in rich.colors() 2010-12-13 warnes * [r1463] Correct error that arises when data includes NA values, identified by Melissa Key 2010-06-11 warnes * [r1446] Fix errors detected by R CMD check * [r1445] Fix errors detected by R CMD check * [r1444] Use 'TRUE' instead of 'T' for true in venn man page * [r1443] Update for gplots 2.8.0 * [r1442] Moved baseOf() into a separate file * [r1441] Update Greg's email address * [r1440] - venn() now returns an object of class venn() and a plot method for this class is provided. - Manual page for venn has been improved, based on contributions by Steffen Moeller 2010-02-17 warnes * [r1420] Improve performance of hist2d thanks to suggestion by Joerg van den Hoff. 2010-01-22 arnima * [r1372] Renamed files rich.color.* to rich.colors.* and renamed rich.colors args 2009-11-16 arnima * [r1367] Minor reformatting only. 2009-11-12 warnes * [r1365] Correct bug reported by Alan Yong: plotmeans() crashed when 'bars=FALSE'. 2009-10-22 warnes * [r1364] Fixed typo in bug fix. * [r1363] Update NEWS and DESCRIPTION for gplots 2.7.3 * [r1362] Fix transposed display of data (but not labels) in heatmap.2 when symm=TRUE 2009-10-12 warnes * [r1361] Update version number to 2.7.2, 2.7.1 was already up but apparently DESCRIPTION wasn't commited with change. 2009-10-10 warnes * [r1360] Various minor changes to remove new R CMD CHECK warnings. * [r1359] Update DESCRIPTION and NEWS file for 2.7.1 * [r1358] Fix bug reported by Ken Lo: col2hex had blue and green components swapped. 2009-05-08 warnes * [r1324] Add test of using a dendrogram created by heatmap() with heatmap.2() * [r1323] heatmap.2: handle NA for RowV or ColV the same way as NULL * [r1322] Fix typo * [r1321] Update NEWS for release 2.7.0 * [r1320] We don't want the Changelog in svn, since it is autogenerated from svn logs! * [r1319] Update Greg's email address to 'greg@random-technologies-llc.com' * [r1318] plotCI now properly handles 'NULL' and 'NA' values for ui, li, uiw, and liw. * [r1317] heatmap.2: Add option to create breakpoints symmetric around 0, provide additional information in the return value * [r1316] Fix Rd syntax error 2009-04-22 warnes * [r1315] VADeaths data set has move to dataset package 2008-08-14 warnes * [r1302] balloonpot() was incorrectly displaying warning about z values below 0 when scale.method="relative". Fixed. 2008-08-07 warnes * [r1301] Update DESCRIPTION NAMESPACE and NEWS for 2.7.0 release 2008-06-16 warnes * [r1296] Add TODO list to gplots 2008-05-20 warnes * [r1274] Update man page to match recent changes to plot.lm2() * [r1273] More work on documentation for venn() * [r1272] Fix code/doc mismatch due to recent changes to bandplot() * [r1271] Add Venn Diagram plot submitted by Steffen Moeller 2008-05-07 warnes * [r1264] Improve performance of bandplot by calculating running standard deviation using caTools::runsd() instead of (ver slow) window() call. In addtion, the standard deviations are now only calculated once, rather than once for each band. * [r1263] Improve performance of plot.lm for large lm objects by using fitted() instead of predict() to get y-hat 2008-05-05 warnes * [r1262] Use caTools's runsd in bandplot for a dramatic speedup for large data * [r1261] Add import of gtools::reorder.factor for ballonplot man page * [r1260] balloonplot: Add option to scale balloons so [min,max]->[0,1] (relative) or so [0,max] <- [0,1] (absolute) 2008-04-07 warnes * [r1254] Fix typo in barplot2() man page * [r1253] Updates for gplots 2.6.0 * [r1252] Add ability to control location of individual heatmap.2 components 2008-03-27 warnes * [r1251] Fix bug in handling rowsep, per suggestion by Steven Paugh 2008-01-04 warnes * [r1238] Fix examples for overplot() 2008-01-02 warnes * [r1237] Update Marc's email address 2007-12-20 warnes * [r1235] Two letter clarification of help text for heatmap.2() * [r1234] Restore plot layout at end of ooplot() example 2007-11-06 warnes * [r1222] Remove extraneous closing brace in the hist2d documentation file 2007-11-05 warnes * [r1221] Fix typo in NEWS: col2hex() is the new function, not col2rgb() which is part of grDevices 2007-11-02 warnes * [r1219] Updates for gplots 2.5.0 * [r1218] Update saved test output due to changes in how R reports warnings * [r1217] Create soft links of gmodels/ChangeLog -> gmodels/inst/ChangeLog, and gmodels/NEWS -> gmodels/inst/NEWS for my convenience * [r1216] Move actual ChangeLog and NEWS files to gmodels/inst so they will be copied into the installed R package area * [r1215] Fix code/doc mismatches * [r1214] Update plot.lm2 to match changes made to bandplot 2007-11-01 warnes * [r1213] in textplot(), convert tab characters to spaces before processing to avoid problems with computing height and width of text including tabs when using pdf() * [r1212] Minor reformatting of overplot code and docs 2007-10-22 warnes * [r1196] Clarify GPL version 2007-08-14 warnes * [r1141] Correct error in balloonplot when z contains NA values. * [r1140] Augment balloonplot() with control of character size and color for text and label items * [r1139] Correct balloonplot.default to properly show specified x and y axis labels when explicitly provided 2007-03-09 ggorjan * [r1073] use of \method in Rd markup - issues a warning with _R_CHECK_RD_STYLE_=TRUE env. variable with R 2.5.0 2007-02-08 warnes * [r1052] Bump version number * [r1051] Update documentation for textplot() * [r1050] Add col2rgb() function to convert color names to rgb hex codes * [r1049] Add paramaeters 'col.data', 'col.rows', and 'col.columns' to textplot.matrix to allow specification of the color of the matrix data, rows, and columns. * [r1048] Add parameters to control line width and line type. 2006-11-14 ggorjan * [r1012] Removed executable property 2006-11-14 warnes * [r1010] Update output file to match (trivial) changes in the test code. * [r1008] Update ChangeLog and NEWS files for release 2.3.2. * [r1007] Update version number * [r1006] Update version number and maintainer * [r1005] Correct problem with labeled correlation matrix example. Thanks to Jean Vidal for reporting the error.. 2006-08-02 warnes * [r977] Update my email address 2006-06-26 nj7w * [r967] Fixed a bug which displayed warnings when Rowv and Colv were specified as dendrograms 2006-03-10 warnes * [r937] Remove code that added a local path 2006-03-09 nj7w * [r935] Added the correct library path where gplots is installed locally and corresponding .save file * [r934] Updated the tests file * [r933] Removed the condition Colv != Rowv as it has already been taken care of * [r932] Deleted rtPCR.rda from the main directory * [r931] Added ChangeLog 2006-03-07 nj7w * [r919] Updated ChangeLog and NEWS * [r918] Added the tests and fixed corrupted files * [r917] Replaced the corrupted rtPCR.rda file in data directory * [r916] Removed the corrputed tests directory * [r915] Replaced the corrupted rtPCR.rda file in data directory 2006-03-03 nj7w * [r914] Updated the code and man page to make sure the Rowv and Colv values are properly handled 2006-03-02 warnes * [r908] Adjust row total placement to adjust for width of the totals * [r907] Row totals in ballonplot were in reverse order. Fixed. 2006-02-23 nj7w * [r899] Add ability to scale the color key using the new 'keysize' argument. * [r898] Add tests for heatmap.2 * [r897] Move heatmap and ballonplot paper source materials to their respective cvs modules * [r896] Moved balloonplot paper materials to BallonPlotPaper cvs module * [r891] Remove heatmap paper files and move them to the HeatmapPaper cvs module. * [r888] Added figures for heatmap2 paper * [r887] Added the .Rda files for the heatmap2 paper * [r886] Added the source - (tex file) of the heatmap paper * [r885] Added the code for the figures of heatmap paper 2006-02-21 nj7w * [r884] Minor updates to heatmap.2 - fixed Rowv, Colv and dendrogram behaviour. Now Rowv=NULL or FALSE both imply no dendrogram computation. 2006-01-12 warnes * [r844] more updates * [r843] Add Biometrica bibliography style file * [r842] A little more. * [r841] Updates to respond to referee. 2006-01-12 nj7w * [r840] Added references 2005-12-13 nj7w * [r811] Fixed Nitin's company name * [r809] Updated NEWS and removed ChangeLog 2005-12-12 nj7w * [r802] Fixed bug in plotmeans - based on Stefano Calza's suggestion 2005-12-07 nj7w * [r787] Updated version number * [r786] Added plot.lm * [r785] Changed the default grey colors to heat colors, if height is matrix * [r784] Changed the default greay colors to heat colors, if height is matrix 2005-12-06 nj7w * [r783] Fixed minor error in documentation of barplot2 2005-12-02 warnes * [r777] Remove .Alias calls, since .Alias is defunct. 2005-12-01 nj7w * [r776] Updated Greg's email address 2005-11-23 nj7w * [r764] Updated Figure 2 colors 2005-11-18 warnes * [r743] Latest version of the pdf files * [r742] Nitin works for the Cambrige Group, not Pfizer. * [r741] Minor text rewording. * [r740] More edits. * [r739] Recent changes to align row totals with the overall total broke how the marginal cumulative fractions were displayed. This patch fixes the problem. * [r737] - Update documentation for balloonplot to match the latest code. - Correct spelling of 'show.zeroes' to 'show.zeros' * [r736] More changes: colorpanel now allows only 2 colors to be specified if no 'middle' color is desired. 2005-11-17 warnes * [r735] Allow user to control removal of duplicate entries in balloonplot. * [r734] Extend colorpanel to handle just two-colors in addition to three. 2005-11-09 nj7w * [r733] Updated the pdf file * [r732] Updated the changes * [r731] Modified figure 4 * [r730] Updated code * [r729] Modified figure 3 * [r728] Modified figure 2 * [r727] Modified figure 1 2005-11-08 nj7w * [r726] Updated Greg's email 2005-11-07 nj7w * [r725] Minor modifications to fit the code properly on pdf 2005-11-07 warnes * [r724] Add R code that generates plots * [r723] Add figures to CVS * [r722] Text changes 2005-11-04 warnes * [r721] Fix some alignment issues. * [r720] Remove Table.pdf since it is no longer needed * [r719] Nitin's Changes * [r718] Add figure plots * [r717] Fix paths 2005-10-20 nj7w * [r705] added the eps version of figures * [r704] Updated BallonPlot.pdf * [r703] Removed Old Figure * [r702] Added the new figure - for total popluation - Balloonplot * [r701] Modified the BallonPlot article * [r700] Added references 2005-10-19 arnima * [r697] The last example now displays the correct heat.colors. Default 'palette' argument is now a single string, not a vector. * [r696] Default 'palette' argument is now a single string, not a vector. 2005-10-14 warnes * [r694] Formatting fixes: - Handle multiple row or column category variables - Separate rows/columns of category labels by lines - Fix handling of 'cumsum' plots on row/column labels - Improve display of row/column sums 2005-10-13 warnes * [r693] Add example using Titanic data that exercises the multi-factor display. 2005-10-11 warnes * [r692] Initial changes to allow multiple x and y factor variables. Yet to be done: 1) remove extra 'boxes'. 2) omit duplicated values 2005-10-04 warnes * [r691] more minor fixes * [r690] fix spacing * [r689] Inlcude Rnews.sty * [r688] Some textual edits. 2005-10-03 nj7w * [r687] Added figures for the R-News Article 2005-09-29 nj7w * [r680] Updated the documentation - added the name of the person who asked the question * [r679] Added R-news article 2005-09-12 nj7w * [r671] Updated Greg's email * [r670] Updated version of balloonplot - by Romain Francois 2005-09-09 nj7w * [r669] Updated the version and ChangeLog * [r668] Changes in ballon plot based on Romain Francois (francoisromain@free.fr) suggestions 2005-09-06 nj7w * [r666] Updated package dependencies * [r665] Added NEWS 2005-09-02 nj7w * [r655] Added ChangeLog 2005-08-31 nj7w * [r644] Added DESCRIPTION file * [r643] removed DESCRIPTION.in 2005-06-09 nj7w * [r625] Updating the version number, and various help files to synchronize splitting of gregmisc bundle in 4 individual components. * [r624] Changes based on Marc Schwartz's suggestions to handel 0's and NA's appropriately. 2005-05-13 nj7w * [r621] 1) Using dQuote.ascii function in read.xls as the new version of dQuote doesn't work proprly with UTF-8 locale. 2) Modified CrossTable.Rd usage in gmodels 3) Modified heatmap.2 usage in gplots. 2005-04-04 warnes * [r603] Explicitly reference package containing lowess.formula in panel.overplot(). This should fix the error reported by Troels Ring . 2005-02-26 nj7w * [r565] *** empty log message *** 2005-02-25 warnes * [r563] Integrate changes submitted by Arni Magnusson * [r559] Add dependency imports from 'stats' package. 2005-02-22 warnes * [r555] Fix problem in passing graphical parameters (xlim,etc).@ 2005-02-08 warnes * [r541] Improve package title. * [r540] Ignore missing values when computing symmetric range. 2005-02-02 warnes * [r530] Add more extensive example. 2005-01-14 warnes * [r516] Code can be simplified because R now supports selecting a fixed width font. 2005-01-12 warnes * [r515] Add dependency on R 1.9.0+ to prevent poeple from installing on old versions of R which don't support namespaces. 2004-11-30 warnes * [r495] 1. Add new parameters for controlling color key: - If `symkey==TRUE', the color key will be made symmetric about 0. - The `densadj' parameter can be used to modify the smoother width (see the `adjust' parameter under `help(density)') for the density plotted in the key. 2. Fix handling of rowsep/colsep. 3. Vector of length 2 giving the width (colsep) or height (rowsep) the separator box drawn by colsep and rowsep as a function of the width (colsep) or height (rowsep) of a cell. 4. Appropriate changes to the corresponding help page, plus some minor formatting changes. 2004-11-03 warnes * [r474] Fix bugs in layout of cell notes. They were being plotted top down rather than bottom up. Further reordering of the x matrix didn't also reorder the notes. Both issues should now be resolved. 2004-09-27 warneg * [r461] Updated to pass R CMD check. 2004-09-03 warneg * [r453] Provide explicit package for call to nobs. * [r452] Fix typos. * [r446] initial bundle checkin 2004-09-02 warneg * [r442] Initial revision 2004-07-29 warnes * [r426] Integrate changes from the version of plotCI maintained by Martin Maechler. 2004-06-30 warnes * [r393] Remove commented-out code. * [r392] Fixed text size calculations 2004-06-28 warnes * [r391] - Default 2-d color set to grey as in (v2.0.0) r-devel - The default (v1.9.1) barplot method now handles vectors and 1-d arrays (e.g., obtained by table()) the same, and uses grey instead of heat color palettes in these cases. (Also fixes PR#6776.) - Updated to reflect the addition of 'offset' argument in base - Fix bug in stacked barplots, which would not be plotted properly 2004-06-24 warnes * [r385] Add ability to specify color of NA cells. 2004-05-27 warnes * [r349] Fix spelling error. 2004-05-26 warnes * [r347] One more fix to get it right. * [r346] Use triple-colon operator ':::' to access plot.formula from the graphics package. * [r344] Replace 'F' by 'FALSE' to pass R CMD check. 2004-05-25 warnes * [r338] Work around bug in R 1.9.X due to plot.formula() not having the same arguments as plot(). * [r336] Add rich.colors() submitted by Arni Magnusson . * [r328] ?? 2004-05-24 warnes * [r324] Modified to use invalid() to check arguments instead of missing(). This fixes some build errors under R-1.9.0-Patched. 2004-04-22 warnes * [r319] Integrate changes from Lodewijk Bonebakker 2004-04-13 warnes * [r318] Add ability to space points along 'y' direction. 2004-04-02 warnes * [r313] Fixed smartlegend() positioning when x and/or y axis are log-scale. 2004-03-30 warnes * [r311] - Fix bug in textplot() reported by Wright, Kevin . 2004-03-26 warnes * [r305] Update to match changes in textplot() code. * [r304] Remove Windows EOL characters. * [r302] - Remove some commented-out code. - Remove cvs log tag. * [r300] Misc changes. 2004-02-17 warnes * [r290] Minor fix to ooplot documentation. * [r289] Integrate ooplot updates provided by Lodewijk Bonebakker 2004-02-02 warnes * [r287] - Add colorpanel function, which generates a smoothly varying band of colors over a three color range (lo, mid, high). 2004-01-21 warnes * [r283] - Correct arguments to halign to match code. * [r281] Track R 1.9.0's move of 'lowess' from the base package to the (new) stats package. * [r279] - Fix sinkplot() example by replacing 'T' with 'TRUE'. * [r278] - Add some more details to the ooplot() documentation. The documentation is *not* complete. * [r277] - Mark sprint() as depreciated. - Replace references to sprint with capture.output() - Use match.arg for halign and valign arguments to textplot.default. - Fix textplot.character so that a vector of characters is properly displayed. Previouslt, character vectors were plotted on top of each other. 2004-01-19 warnes * [r276] New function sinkplot(), as requested on R-devel by Kevin Wright in https://www.stat.math.ethz.ch/pipermail/r-devel/2004-January/028483.html. 2004-01-15 warnes * [r274] Add initial code and docs for ooplot() function submitted by Lodewijk Bonebakker . 2003-12-03 warnes * [r253] - match function argument defaults with 'usage' * [r252] - Fix buglets in heatmap function - Make a slight enhancement to the example code. 2003-12-02 warnes * [r251] Integrated some suggestions from Sean Davis . * [r250] - Make final example use 16 colors instead of 8. This looks nicer. * [r248] - Remove '%' character from example code to avoid errors. * [r247] - Add '...' parameter to call to text to allow user to control size/color/etc. 2003-12-01 warnes * [r246] - updated to match changes to barplot() in base. * [r245] - Renamed rtPCR.Rda to rtPCR.rda so that R will properly load the file when data(rtPCR) is executed. * [r243] - Follow patches applied to barplot() in base. 2003-11-24 warnes * [r242] Fix unbalanced braces. * [r240] Fix errors reported by R CMD check. 2003-11-21 warnes * [r239] Added missing closing brace. * [r238] Initial addition of these files. Used in examples of overplot(). * [r236] Applied my enhancements to the heatmap() code from R 1.8.0, and added documentation of these changes. * [r235] - Discovered that axis(N) does the right thing without needing to be given location for tick marks. This allowed simplification of the code. - Minor other changes for distribution - Addition of overplot.Rd documentation. * [r231] - Integrated my extensions into the R 1.8.0 version of heatmap. - Add Rd documentation. 2003-11-19 warnes * [r228] Remove extranious NULL that confused R CMD check. 2003-11-18 warnes * [r226] - Tiny fix to remove R CMD check error. * [r225] - Added missing closing brace. * [r224] - Convert from MS-Dos to Unix line endings. - Reformat to 80 columns. 2003-11-10 warnes * [r220] - Add files contributed by Arni Magnusson . As well as some of my own. 2003-08-19 warnes * [r219] - Copy of local changes. * [r218] - Checkin before re-integrating local changes. 2003-06-19 warnes * [r201] - Added enhanced heatmap function. 2003-06-09 warnes * [r200] - Add help text for smartlegend. * [r199] - New function smartlegend(). 2003-04-22 warnes * [r191] - Fixeed warning messing caused when 'connect' is a vector. * [r187] Update from Marc Schwartz, modified by Gregory Warnes: - Modified dim() checks for 'ci.l' and 'ci.u' against 'height' to remove R v1.7.0 if() based error msgs for vector conditions. 2003-04-04 warnes * [r182] - Change occurences of 'T' to 'TRUE' * [r179] - Updated to match changes in textplot function: - Added textplot.character - Renamed arguments "col.margin" and "row.margin" to "cmar", and "rmar" so that specifying "col='red'" is possible. - Fixed R CMD check errors - Improve comments in example - Add textplot.matrix example * [r178] - Added textplot.character to handle character strings. - Moved test for vector and matrix arguments to textplot.default. - Renamed arguments "col.margin" and "row.margin" to "cmar", and "rmar" so that specifying "col='red'" is possible. 2003-04-02 warnes * [r175] - Added textplot function and friends, as well as documentation. 2003-03-08 warnes * [r171] - Forgot to update arglist in \usage section. * [r169] - Added parameters for rotation of and amount of space allocated for the row and column labels. 2003-03-07 warnes * [r168] - Minor changes to code to allow the package to be provided as an S-Plus chapter. * [r167] - Add 'NULL' as the last element of if statement that defines lowess.default so that when the file is sourced, S-Plus doesn't display the function definition. * [r166] - Specify where the defualt lowess function should be found. - Use getFunction in S-Plus instead of 'get' 2003-01-30 warnes * [r159] - Added argument 'add' to allow for the addition of a barplot to an existing graphic. Default is FALSE 2003-01-20 warnes * [r156] - Updated balloonplot help page. * [r155] - Updated wapply.R to allow specification of evaluation points when method is 'width' or 'range' using the 'pts' argument. - Updated wapply.Rd to add 'pts' argument - Fixed typos, spelling errors, gramatical errors and lack of clarity in wapply.Rd help text. 2003-01-03 warnes * [r154] - Initial checkin of balloonplot functions and documentation. * [r153] - Added reference to and comparison example of sunflowerplot. - Added code to put example plots on same plot window using par(mfrow=...). 2003-01-02 warnes * [r150] - Changed assignment statements that used "=" to "<-" to avoid syntax errors in older versions of the S language. * [r149] - Added wrapper code so that R-specific fiddling won't be executed under S-Plus. * [r147] - Renamed first parameter to match qqnorm generic. * [r146] Added additional help text from Kjeitl. 2002-12-31 warnes * [r145] Initial checkin of qqnorm.aov function and documentation submitted by Kjetil Halvorsen . 2002-11-04 warnes * [r143] Updates from Marc Schwartz: - Updated underlying code to be based upon the new barplot() in R v1.6.1 - This now uses the 'axis.lty' and 'border' arguments - In R v1.6.0, R Core introduced a new function called axTicks(). This is an R equivalent of the C code for CreateAtVector in plot.c. This now enables me to get the axis tick mark positions consistently when the 'height' related axis is either linear or log. Thus, I can now have consistent tick marks and can plot grid lines in either situation. If 'plot.grid = TRUE' and 'grid.inc' is specified, then I still use pretty() to determine the tick marks and lines. - This code now depends on R 1.6.0 or later. 2002-10-30 warnes * [r139] - Commented out plot.lm() code since recent changes in R have broken it. 2002-10-11 warnes * [r131] - Fixed log scale errors in legend() call 2002-10-01 warnes * [r130] - Added examples of using 'contour' and 'filled.contour' for display. 2002-09-24 warnes * [r121] - Changed digits=options("digits") which produces a list of length 1 to digits=getOption("digits") which returns a vector of length one. The former was causing an error when passed to round(). 2002-09-23 warnes * [r119] - Fixed syntax errors in barplot2.Rd and CrossTable.Rd - Fixed incorrect translation of 'F' (distribution) to 'FALSE' in glh.test.Rd * [r117] - Modified all files to include CVS Id and Log tags. * [r116] - Added CrossTable() and barplot2() code and docs contributed by Marc Schwartz. - Permit combinations() to be used when r>n provided repeat.allowed=TRUE - Bumped up version number 2002-08-01 warnes * [r114] - Corrected documentation mismatch for ci, ci.default. - Replaced all occurences of '_' for assignment with '<-'. - Replaced all occurences of 'T' or 'F' for 'TRUE' and 'FALSE' with the spelled out version. - Updaded version number and date. 2002-04-09 warneg * [r109] Checkin for version 0.5.3 2002-03-27 warneg * [r107] Added "..." argument to lowess.default. * [r106] - Added code to append "..." to the argument list of lowess.default. - Fixed a wrong default for f in lowess.formula. Was 3, but should have been 2/3. 2002-03-26 warneg * [r104] - Changed methods to include '...' to match the generic. - Updated for version 0.5.1 * [r100] Initial checkin. 2002-03-20 warneg * [r94] - Changes to add compatibility with S-Plus 2000 * [r93] - Changes to add compatibility with S-Plus 2000. * [r92] - Updated to work in S-Plus 2000 as well as R. 2002-03-05 warneg * [r88] - Replace "T" with "TRUE". Problems arrive when there is a variable named "T". 2002-02-20 warneg * [r81] Minor changes, typo and formatting fixes. * [r80] - Generalized to allow specification of the multiples of the standard deviation levels to be plotted (0=mean, 1=1 sd, ..). - Now (invisibly) returnes computed smooths. 2002-02-16 warneg * [r78] Added bandplot documentation. * [r77] - Fixed Bug: When method=="range", the absolute range of x was being used to compute the relative width instead of the (correct) relative range. * [r76] - Corrected problem removing missing values: The missing values of $x and $y were being removed indepdendently, leaving an uneven number of points in the result. 2002-02-04 warneg * [r74] - Add na.rm parameter and make the default TRUE. * [r73] Initial checkin. * [r72] - When err="x", 'col' was being used to plot bars, rather than 'barcol'. * [r71] - fixed typo, when err="x", lty was 'slty' causing an error. 2001-12-12 warneg * [r54] - Quoted underscore character in my email address. - Added correct keyword. * [r52] Added documentation for xaxt parameter. * [r51] Updated to explicitly list control arguments to lowess.formula. * [r50] Initial checkin. Code copied from R source package and extended. 2001-12-07 warneg * [r46] Fixed an problem where \code was incorrectly delimited by parens rather than curly brackets. * [r42] Initial checkin. * [r41] - Added cvs tags. * [r40] - Leave first point at center, rather than shifting by s/2 to the left. This looks better when there are more than 2 'spaced' points. 2001-12-05 warneg * [r33] - Added ability to use the t-distribution to compute confidence intervals. This is controlled using the 'use.t' parameter. * [r31] - Added documentation of use.t parameter. * [r30] - Clarified how the width of the window is computed when method="nobs". * [r29] - Added a better default for "width" when method="nobs". For this case, width=max(5, length(x)/10). - Allow omission of x values which result in missing y values via 'drop.na' parameter. 2001-10-26 warneg * [r28] Added correct handling of 'xaxt="n"'. 2001-10-16 warneg * [r27] Fixed unbalanced brace. * [r26] Added minbar and maxbar parameters. * [r25] Forgot to add minbar and maxbar to usage section. * [r24] Added description of minbar and maxbar. * [r23] - Added minbar and maxbar parameters - Added cvs id and log tags to header * [r22] Added cvs id and log tag to file header * [r21] Added minbar and maxbar parameters. * [r20] Added description of minsd parameter. * [r19] Added minsd parameter. 2001-09-18 warneg * [r18] Release 0.3.2 2001-09-01 warneg * [r16] Release 0.3.0 2001-08-31 warneg * [r15] Used wrong character in header (% instead of #). Fixed. * [r14] Used wrong comment character (% instead of #) in header. Fixed. 2001-08-25 warneg * [r10] Initial checkin. * [r9] Added CVS header. * [r8] Initial Checkin 2001-05-30 warneg * [r2] Initial revision gplots/NAMESPACE0000644000176200001440000000501314700154745013007 0ustar liggesusersexport( adjust_hsv, angleAxis, balloonplot, bandplot, barplot2, bluered, boxplot2, bubbleplot, ci2d, col2hex, colorpanel, greenred, heatmap.2, hist2d, lmplot2, lowess, ooplot, overplot, panel.overplot, plot.venn, plotCI, plotLowess, plotmeans, qqnorm.aov, redblue, redgreen, residplot, rich.colors, sinkplot, smartlegend, space, textplot, venn, wapply, reorder.factor ) importFrom(gtools, invalid) importFrom(gtools, odd) importFrom(gtools, mixedsort) importFrom(stats, reorder) importFrom(stats, na.omit) importFrom(stats, nobs) importFrom(caTools, runsd) importFrom(caTools, runmean) importFrom(KernSmooth, bkde2D) importFrom(KernSmooth, dpik) importFrom(utils, type.convert) S3method(balloonplot, default) S3method(balloonplot, table) S3method(bandplot, default) S3method(bandplot, formula) S3method(barplot2, default) S3method(bubbleplot, default) S3method(bubbleplot, formula) S3method(lowess, default) S3method(lowess, formula) S3method(ooplot, default) S3method(plot, lowess) S3method(plot, venn) S3method(print, ci2d) S3method(print, hist2d) S3method(qqnorm, aov) S3method(textplot, character) S3method(textplot, data.frame) S3method(textplot, default) S3method(textplot, matrix) S3method(reorder, factor) # imports recommended by R CMD check importFrom("grDevices", "col2rgb", "contourLines", "dev.flush", "dev.hold", "dev.interactive", "heat.colors", "hsv", "rgb", "rgb2hsv", "topo.colors") importFrom("graphics", "abline", "arrows", "axTicks", "axis", "barplot", "contour", "filled.contour", "grid", "hist", "identify", "image", "layout", "legend", "lines", "matlines", "matpoints", "mtext", "panel.smooth", "par", "plot", "plot.default", "plot.new", "plot.window", "points", "polygon", "rect", "segments", "strheight", "strwidth", "text", "title", "xinch", "yinch") importFrom("stats", "as.dendrogram", "cooks.distance", "density", "deviance", "df.residual", "dist", "dnorm", "effects", "expand.model.frame", "fitted", "hclust", "is.leaf", "lm.influence", "median", "model.frame", "order.dendrogram", "ppoints", "predict", "qnorm", "qqline", "qqnorm", "qt", "residuals", "sd", "var", "weights") importFrom("utils", "str") importFrom("methods", "is") gplots/TODO0000644000176200001440000000052212471456254012263 0ustar liggesusers plot.lm2 -------- - Upgrade to match current plot.lm code - For predictor vs resid, use boxplot when predictor is a factor - Rug plot or histogram for residuals/fitted values in both dimensions - Confidence region for normal distribution with equivalent number of points on QQ plot - display "bad" cutoff line for cook's distance plot gplots/NEWS.md0000644000176200001440000004517114700157267012701 0ustar liggesusersDevelopment - YYYY-MM-DD ========================== ## New Features: ## Bug Fixes: gplots 3.2.0 - 2024-10-05 ========================== ## New Features: * New function bubbleplot() draws a scatterplot with varying symbol sizes and colors. Provides an alternative to balloonplot(). * New example dataset catch.d containing catch at age for the 2015 Icelandic saithe fish stock assessment, and catch.r containing model residuals. * New function adjust_hsv() to adjust colors in HSV space. ## Bug Fixes: - Improved heatmap.2() so the 'revC' argument correctly flips the RowSideColors and row labels. Code contributed by Jarkko Toivonen. - Removed escaped LaTeX specials in Rd files (barplot2, colorpanel, qqnorm.aov, venn) that were raising R CMD check NOTEs. - Removed invalid URLs from README.md identified by R CMD check --as-cran. gplots 3.1.3 - 2022-04-24 ========================== ## Bug Fixes: - Fix warning: checking Rd files ... [1s/2s] WARNING checkRd: (7) barplot2.Rd:219: invalid email address: marc\_schwartz@comcast.net checkRd: (7) venn.Rd:59: invalid email address: steffen\_moeller@gmx.de - Fix note: checking Rd cross-references ... NOTE Undeclared package ‘r2d2’ in Rd xrefs - Fix note: Found if() conditions comparing class() to string: File 'gplots/R/heatmap.2.R': if (class(col) == "function") ... Use inherits() (or maybe is()) instead. gplots 3.1.2 - 2021-01-09 ========================== ## Bug Fixes: - heatmap.2: Also use key.title in cases without density #4 gplots 3.1.1 - 2020-11-28 ========================== ## Bug Fixes: - Fix "Error in plot.window(...) : need finite 'ylim' values" in "Running examples in 'gplots-Ex.R' failed" gplots 3.1.0 - 2020-09-18 ========================== ## Major change: - Removed gdata from imports by bringing into the package the functions nobs and reorder.factor. - Removed the gdata package from "imports" since it is currently broken and is scheduled to archive in 2020-09-25 (leading to gplots to be archived as well, unless this is resolved). By removing this connection, gplots will be able to remain safely on CRAN. In prectice, I've moved reorder.factor and nobs into this package, as well as removed the use of 'nobs' from some examples. - Added the reorder.factor and nobs function (from gdata) gplots 3.0.4 - 2020-07-05 ========================== ## Bug Fixes: - Fix "no visible global function definition for '%||%'": The package imports .memberDend and .midDend from stats in an unsafe way (i.e. using :::). I've moved to manually copy-pasting the functions into the package in order to keep it a bit safer. It has the downside of not using whartever improvements/bugfixes are intrudced to these functions moving forward. But for the time being, it's a reasonable solution. gplots 3.0.3 - 2020-02-26 ========================== ## Misc - Tal Galili took over to make sure the package stays on CRAN. - Moved to knitr gplots 3.0.1 - 2016-03-30 ========================== ## Bug Fixes: - An error in plotLowess() prevented it from finding objects in the caller's environment. - The manual page for heatmap.2() stated the incorrect type for the 'layout' element of the return list. It is a named list, not a named numeric vector. gplots 3.0.0 - 2016-03-28 ==========================- ## New Features: - venn(): - now support matrices of indicator values. Previously indicator values were only supported when supplied as a dataframe. - The 'intersections' attribute returned from venn() has been improved so that goups are labeled using set names instead of indicators, and are ordered from simplest to most complex set intersection. - New angleAxis() function to create axis labels with rotated text. - heatmap.2(): - heatmap.2() can now be used to plot subsets of a previous heatmap. - Decrease the granularity of the carpet in heatmap.2()'s color key to avoid visual artifacts. - Returned object now includes 'layout' element that contains layout information. (Patch provided by Jenny Drnevich.) - lowess(): - New function plotLowess() to display a scatter plot with a superimposed lowess curve. - The lowess() functions now returns a list object of class 'lowess' - A new lowess method for plot() method for 'lowess' objects that generates a scatterplot of the raw data with a lowess curve superimposed. ## Bug Fixes: - Defunct message for boxplot.n() was recommending the wrong function. - heatmap.2(): - Remove debugging print() statement. - Now properly sets 'srtCol' default if missing and 'colCol' is specified. - Corrected a bug causing "Error in plot.new() : figure margins too large" to occur when 'key=FALSE'. (Reported and patch provided by Sveinung Gundersen.) - Corrected a bug causing an error when "Rowv=FALSE" or "Colv=FALSE". - Corrected message when "Rowv=FALSE" or "Colv=FALSE" and the the "dendrogram" argument requested the corresponding dendrogram. - venn(): - Fix warning message that was missing spaces between words. ## Other Changes: - The smartlegend(), plot.lm2(), and boxplot.n() functions are now defunct. Please use grephics::legend(), lmplot2() or boxplot2() respectively. gplots 2.17.0 - 2015-05-01 ==========================- ## New Features: - heatmap.2() has two new arguments, 'colRow' and 'colCol' to control the color of row and column text labels. See the man page for examples. - heatmap.2() has been modified to make it easier to extract and plot subclusters from a large heatmap. Simply pass the dendrogram of the subcluster together with the full data matrix and, optionally, the breaks of the full heatmap in order to obtain the same color scaling. (Suggestion and patch contributed by Ilia Kats.) - venn() now returns a list of the members of each set intersection in the attribute 'intersections'. This can be disabled using the argument 'intersection=FALSE' (Patch by Steffen Möller.) ## Bug Fixes: - In heatmap.2(), the color key now properly handles color breaks that are not equally spaced. (Issue reported by Tim Richter-Heitmann.) - In heatmap.2(), row/column traces in could be plotted on the wrong row/column. - plotCI() now properly respects the 'type=' argument. (Bug report and correction by Wiktor Å»elazny.) - Remove stray browser() call from overplot() - In the balloonplot() examples, explicitly specify the 'neworder' argument to gplots:::reorder.factor to prevent errors. ## Other Changes: - smartlegend() is now deprecated because the relative positioning feature ('top', 'right') has been added to graphics::legend(). Calling smartlegend() will generate a warning. - boxplot.n() and plot.lm2() are defunct have been removed. Use of these functions will now generate an error. - Update out-of-date URLs in man pages. gplots 2.16.0 - 2015-01-02 ==========================- ## New Features: - plotmeans() has a new argument, 'text.n.label' which specifies the text used for labeling the number of elements in a group. ## Bug Fixes: - plotmeans() now respects (optional) graphical arguments captured in '...' when drawing the x axis. gplots 2.15.0 - 2014-12-01 ==========================- ## New Features: - Convert bandplot() to S3-method dispatch and add method for class formula, so that 'bandplot( y ~ x, data=dataframe )' now works as expected. ## Other Changes: - heatmap.2() now uses a local *non-byte-compiled* copy of plot.dengrogram, because the byte-compiled stats:::plot.dendrogram uses a recursive algorithm that generates a 'node stack overflow' error for deeply nested dendrograms and the node stack size cannot be changed at execution time. Instead, tne local non-byte-compiled gplots:::plot.dendrogram will trigger a recursion limit for such dengrograms. heatmap.2() will detect this error and recommend that the user increase the recursion limit (via, e.g. 'options("expressions"=20000)' ) and rerun. gplots 2.14.2 - 2014-09-17 ==========================- ## Bug Fixes: - heatmap.2() was not respecting key.title=NA when density.info="none". - Correct the man page for heatmap.2 to state that the default color for 'notecol' is cyan. - In heatmap.2(), modify default arguments to 'symbreaks' and 'symkey' to make the logic more evident by replacing min(...) with any(...). (The previous code executed properly, but relied on implicit coercion of logicals to numeric, obscuring the intent.) - Calling heatmap.2 with deeply nested dendrograms could trigger a 'node stack overflow' error. Now, this situation is deteceted, and a message is generated indicating how to increase the relevant recursion limit via options("expressions"=...). gplots 2.14.1 - 2014-06-30 ==========================- ## Bug Fixes: - Correct heatmap.2() bug in Colv dendrogram object dimension checking introduced in 2.14.0. (Reported by Yong Fuga Li.) gplots 2.14.0 - 2014-06-18 ==========================- ## Bug Fixes: - heatmap.2(): Fix typo in heatmap.2() that caused an error when 'Rowv=FALSE'. (Reported by Yuanhua Liu.) ## Enhancements: - heatmap.2(): Add new 'reorderfun' argument to allow the user to specify an alternative function to reorder rows/columns based on row/column dendrogram. (Suggested by Yuanhua Liu.) - heatmap.2(): Center margin labels. - heatmap.2(): Check size of user-provided Rowv and Colv dendrogram objects to ensure they match the dimensions of the data. - Add references to man page for hist2d() and ci2d() to the new r2d2 package which implements an improved algorithm for 2-dimensional emprical confidence regions. gplots 2.13.0 - 2014-04-04 ==========================- ## Bug Fixes: - heatmap.2 was not properly handling row trace reference line ('hline'). Patch submitted by Ilia Kats. ## Enhancements: - In heatmap.2, when the row or column trace is enabled, show the corresponding reference line in the color key. - In heatmap.2, a new 'extrafun' argument is provided that allows the user to specify a function to be called before the function returns. This allows the user to add additional plots to the page. gplots 2.12.1 - 2013-10-14 ==========================- ## API Changes: - boxplot.n() has been renamed to boxplot2() to avoid potential S3 method calling issues. - plot.lm2() has been rename to lmplot2() to avoid potential S3 method calling issues. ## Enhancements: - Add heatmap.2() parameters to control row and column label rotation ('srtRow', 'srtCol'), justification ('adjRow', 'adjCol'), and space from plot edge ('offsetRow', 'offsetCol'). ## Bug Fixes: - Fix error in in venn() when all groups contained the same number of TRUE cases. - Correct error in overplot() when that occured when a group-category contained no finite values. ## Other Changes: - Changes to overplot() to avoid warnings from upcoming enhancements to R CMD check. - Move several packages from Depends to Imports or Suggests. - Packages caTools and KernSmooth now have namespaces, so import needed functions in NAMESPACE. - Mark one example in manual page for ci2d 'dontrun' to avoid timing warning in R CMD check. gplots 2.11.3 - 2013-06-27 ==========================- ## Enhancements: - Modify sinkplot() to use a local environment rather than the global environment, to conform to CRAN policies. ## Bug Fixes: - Fixed typo/spelling error in plotmeans() man page. gplots 2.11.2 - 2013-03-24 ==========================- ## Enhancements: - Add ci.width argument to barplot2() to allow varying the length of the 't' at the end of confidence interval bars. ## Bug Fixes: - Fix error in heatmap.2 when colsep argument had length 1. ## Updates: - Update manual page for lowess.default() to match changed argument list for lowess() in R 3.0.0 gplots 2.11.1 - 2012-12-14 ==========================- ## Bug Fixes: - Replace corrupted BalloonPlot.pdf in inst/doc. gplots 2.11.0 - 2012-06-08 ==========================- ## New Features: - Objects returned by hist2d() have been changed: 1) $x and $y now contain the n midpoints of the bins in each direction 2) $x.breaks, $y.breaks now contain the n+1 limits of the bins in each direction. - Add lwd argument to plotmeans(). ## Bug Fixes: - Correct error in handling binning in hist2d(): (N+1)x(N+1) bins were being created instead of NxN bins, and the highest row/column in each direction was being omitted from the results and plot. - Changes to fix R CMD check warnings gplots 2.10.1 - 2011-09-02 ==========================- ## New Features: - Make results of hist2d() and ci2d() into objects, and add print() methods to display them. gplots 2.10.0 - 2011-08-26 ==========================- ## New Features: - New ci2d() function to create 2-dimensional empirical confidence intervals utilizing KernSmooth:bkde2D and gplots::hist2d(). See ?ci2d for details. - Add 'alpha' argument to rich.colors() to control transparency. ## Improvements: - Accellerate hist2d by replacing for() loop with tapply(), and allow user to specify summary function applied (per suggestion by Peter Hagedorn). ## Bug Fixes: - Correct error in heatmap.2() that arises when data includes NA values (identified by Melissa Key). gplots 2.8.0 - 2010-06-10 ========================== ## Improvements: - venn() now returns an object of class venn() and a plot method for this class is provided. - Manual page for venn has been improved, based on contributions by Steffen Moeller gplots 2.7.5 - ?? ========================== ## Improvements: - Performance of 'hist2d' improved thanks to a suggestion from Joerg van den Hoff. gplots 2.7.4 - 2009-11-12 ========================== ## Bug Fixes: - Correct bug reported by Alan Yong: plotmeans() failed when bars=FALSE. gplots 2.7.3 - 2009-10-22 ========================== ## Bug Fixes: - Correct bug reported by Rudolf Talens: heatmap.2() incorrectly transposed the displayed matrix when the option symm=TRUE. gplots 2.7.2 - 2009-05-08 ========================== ## Bug Fixes: - Correct bug reported by Ken Lo: cox2hex() had blue and green components swapped. gplots 2.7.1 - 2009-05-08 ========================== ## New Features: - Enhancements to heatmap.2() - New arguments 'lmat', 'lhei', and 'lwid' that allow controlling component plot layout. Users can now resize and rearrange plot components. - heatmap.2() will now compute color breakpoints that are symmetric about 0 when the new 'symbreak' parameter is TRUE. This parameter, as well as the symkey parameter now default to TRUE whenever negative values of x are present, and to FALSE othewise. - the heatmap.2() return value now includes additional useful information, including: call, rowMeans, rowSDs, colMeans, colSDs, carpet (reordered and scaled 'x' values), rowDendrogram, colDendrogram, breaks, col, vline, hline, and colorTable. Of these, the most useful are breaks, col, and colorTable. The latter is a three-column data frame providing the lower and upper bound and color for each bin. See the manual page for complete details and examples. - New function venn(), contributed by Steffen Moeller (Thanks Steffen!) to generate Venn diagrams for up to 5 sets. See ?venn for details. - Performance of bandplot() has been dramatically improved, in part by using runsd() and runmean() from the caTools package. As a consequence, gplots now depends on the caTools package. - Improved performance of gplots::plot.lm for large lm objects by using the new bandplot() and by using fitted() instead of predict() to obtain y-hat. - Add 'scale.range' argument to balloonplot(), option to scale balloons so [min,max]->[0,1] ('relative') or [0,max] -> [0,1] ('absolute'). ## Bug Fixes: - balloonplot() now properly handles dimension labels provided by 'xlab' and 'ylab' - plotCI now properly handles 'NULL' and 'NA' values for ui, li, uiw, and liw. - Corrections of minor typos in man pages - Update Greg's email address to 'greg@random-technologies-llc.com' gplots 2.6.0 - 2008-04-07 ========================== ## New Features: - heatmap() now allows control of the location of individual plot components (e.g. color key) ## Bug Fixes: - Fix bug in handling rowsep, per suggestion by Steven Paugh - Fix examples for overplot() - Two letter clarification of help text for heatmap.2() - Restore plot layout settings to default state at end of ooplot() example - Various typo fixes gplots 2.5.0 - 2007-11-02 ========================== ## New Features: - textplot() now converts tab characters to spaces before processing to avoid problems with computing height and width of text that includes tabs. - Add col2hex() function to convert color names to rgb hex codes ## Bug Fixes: - Correct balloonplot.default to properly show specified x and y axis labels when explicitly provided - R/balloonplot.R: Correct error in balloonplot when z contains NA values. - Fix typos and code/doc mismatches identified by the latest R CMD check ## Other: - Clarify GPL version gplots 2.4.0 - 2007-02-08 ========================== ## New Features: - Add parameters to bandplot() to control line width and type. - Add paramaeters to textplot.matrix() to allow specification of the color of the matrix data, rows, and column ## Bug Fixes: ## Other: gplots 2.3.2 - 2006-11-14 ========================== - heatmap.2.Rd: Fix example that was broken by changes in 2.3.0. gplots 2.3.1 ========================== - Changed maintainer back to Greg Warnes - Updated Greg's email address - heatmap.2.R: Fixed a bug which displayed warnings when Rowv and Colv were specified as dendrograms gplots 2.3.0 ========================== - heatmap.2.R, heatmap.2.Rd: Updated the code and man page to make sure the Rowv and Colv values are properly handled - Added the tests directory gplots 2.2.0 ========================== - plotmeans.R: Fixed bug in plotmeans - based on Stefano Calza's suggestion (the function didn't account for factors unused levels, returning an error.) - exported plot.lm to NAMESPACE, Remove .Alias calls in plot.lm.R since .Alias is defunct. - barplot2.R: Changed the default grey colors to heat colors, if height is matrix - Updated Greg's email address - balloonplot.R: Recent changes to align row totals with the overall total broke how the marginal cumulative fractions were displayed. Added example using Titanic data that exercises the multi-factor display. Added -.tex, .pdf files and figuers, and RNEWS article in inst/doc - colorpanel.R: colorpanel now allows only 2 colors to be specified if no 'middle' color is desired. gplots 2.0.8 ========================== - Added DESCRIPTION and removed DESCRIPTION.in - Updated barplot2 - Updated heatmap.2 gplots/inst/0000755000176200001440000000000014700167136012544 5ustar liggesusersgplots/inst/doc/0000755000176200001440000000000014700167136013311 5ustar liggesusersgplots/inst/doc/venn.Rmd0000644000176200001440000000453714700154745014736 0ustar liggesusers--- title: "Venn Diagrams with `gplots`" date: "`r Sys.Date()`" author: "Steffen Möller" output: html_vignette: toc: yes editor_options: chunk_output_type: console --- Venn diagrams [Wikipedia](https://en.wikipedia.org/wiki/Venn_diagram) allow for a quick overview on the number of elements that multiple sets share. When those elements represent traits of real objects, like observations in biomedical sciences, marketing, etc., this may direct researchers to further investigations or decisions. The `gplots` package provides Venn diagrams for up to five sets. The R code to produce the diagrams is straightforward. The plot function behaves the same, depending only on the number of overlapping circles to draw. Its input is a table that is produced by another function. The `venn()` function calls one after the other and is the only one to be seen by the user. The values shown are returned invisibly. The `venn()` function accepts either a list of sets as an argument, or it takes a binary matrix—one column per set—indicating for every element, one per row, the membership with every set. The common form with overlapping circles works with up to three sets, as seen here: ```{r, fig=TRUE, echo=TRUE, message=FALSE} suppressMessages(library(gplots)) venn( list(A=1:5,B=4:6,C=c(4,8:10)) ) ``` The names of columns or the list elements are the set names. To squeeze extra circles in, those circles need to become ellipses. This works for four sets: ```{r, fig=TRUE, echo=TRUE, message=FALSE} v.table <- venn( list(A=1:5,B=4:6,C=c(4,8:10),D=c(4:12)) ) print(v.table) ``` And maybe even more impressively for five: ```{r, fig=TRUE, echo=TRUE, message=FALSE} venn( list(A=1:5,B=4:6,C=c(4,8:10),D=c(4:12),E=c(2,4,6:9)) ) ``` The man page of venn() lists options to change the appearance of the plots, e.g., the names of the sets may be omitted, and sizes changed. However, there is ample opportunity to extend the functionality of this package, such as: * More dimensions * Colors * Variation of size of circles with the number of members in the set * Density plot rather than numbers, identification of individual entries The prime personal interest is in the increase of dimensions. Please send patches for features you are most interested in. gplots/inst/doc/venn.R0000644000176200001440000000070514700167134014402 0ustar liggesusers## ----fig=TRUE, echo=TRUE, message=FALSE--------------------------------------- suppressMessages(library(gplots)) venn( list(A=1:5,B=4:6,C=c(4,8:10)) ) ## ----fig=TRUE, echo=TRUE, message=FALSE--------------------------------------- v.table <- venn( list(A=1:5,B=4:6,C=c(4,8:10),D=c(4:12)) ) print(v.table) ## ----fig=TRUE, echo=TRUE, message=FALSE--------------------------------------- venn( list(A=1:5,B=4:6,C=c(4,8:10),D=c(4:12),E=c(2,4,6:9)) ) gplots/inst/doc/venn.html0000644000176200001440000017517314700167136015163 0ustar liggesusers Venn Diagrams with gplots

Venn Diagrams with gplots

Steffen Möller

2024-10-05

Venn diagrams Wikipedia allow for a quick overview on the number of elements that multiple sets share. When those elements represent traits of real objects, like observations in biomedical sciences, marketing, etc., this may direct researchers to further investigations or decisions.

The gplots package provides Venn diagrams for up to five sets. The R code to produce the diagrams is straightforward. The plot function behaves the same, depending only on the number of overlapping circles to draw. Its input is a table that is produced by another function. The venn() function calls one after the other and is the only one to be seen by the user. The values shown are returned invisibly.

The venn() function accepts either a list of sets as an argument, or it takes a binary matrix—one column per set—indicating for every element, one per row, the membership with every set.

The common form with overlapping circles works with up to three sets, as seen here:

suppressMessages(library(gplots))
venn( list(A=1:5,B=4:6,C=c(4,8:10)) )

The names of columns or the list elements are the set names. To squeeze extra circles in, those circles need to become ellipses. This works for four sets:

v.table <- venn( list(A=1:5,B=4:6,C=c(4,8:10),D=c(4:12)) )

print(v.table)
##      num A B C D
## 0000   0 0 0 0 0
## 0001   3 0 0 0 1
## 0010   0 0 0 1 0
## 0011   3 0 0 1 1
## 0100   0 0 1 0 0
## 0101   1 0 1 0 1
## 0110   0 0 1 1 0
## 0111   0 0 1 1 1
## 1000   3 1 0 0 0
## 1001   0 1 0 0 1
## 1010   0 1 0 1 0
## 1011   0 1 0 1 1
## 1100   0 1 1 0 0
## 1101   1 1 1 0 1
## 1110   0 1 1 1 0
## 1111   1 1 1 1 1
## attr(,"intersections")
## attr(,"intersections")$A
## [1] "1" "2" "3"
## 
## attr(,"intersections")$D
## [1] "7"  "11" "12"
## 
## attr(,"intersections")$`B:D`
## [1] "6"
## 
## attr(,"intersections")$`C:D`
## [1] "8"  "9"  "10"
## 
## attr(,"intersections")$`A:B:D`
## [1] "5"
## 
## attr(,"intersections")$`A:B:C:D`
## [1] "4"
## 
## attr(,"class")
## [1] "venn"

And maybe even more impressively for five:

venn( list(A=1:5,B=4:6,C=c(4,8:10),D=c(4:12),E=c(2,4,6:9)) )

The man page of venn() lists options to change the appearance of the plots, e.g., the names of the sets may be omitted, and sizes changed. However, there is ample opportunity to extend the functionality of this package, such as:

  • More dimensions
  • Colors
  • Variation of size of circles with the number of members in the set
  • Density plot rather than numbers, identification of individual entries

The prime personal interest is in the increase of dimensions. Please send patches for features you are most interested in.

gplots/inst/NEWS0000644000176200001440000003713312676770503013262 0ustar liggesusersRelease 3.0.1 - 2016-03-30 -------------------------- Bug Fixes: - An error in plotLowess() prevented it from finding objects in the caller's environment. - The manual page for heatmap.2() stated the incorrect type for the 'layout' element of the return list. It is a named list, not a named numeric vector. Release 3.0.0 - 2016-03-28 --------------------------- New Features: - venn(): - now support matrices of indicator values. Previously indicator values were only supported when supplied as a dataframe. - The 'intersections' attribute returned from venn() has been improved so that goups are labeled using set names instead of indicators, and are ordered from simplest to most complex set intersection. - New angleAxis() function to create axis labels with rotated text. - heatmap.2(): - heatmap.2() can now be used to plot subsets of a previous heatmap. - Decrease the granularity of the carpet in heatmap.2()'s color key to avoid visual artifacts. - Returned object now includes 'layout' element that contains layout information. (Patch provided by Jenny Drnevich.) - lowess(): - New function plotLowess() to display a scatter plot with a superimposed lowess curve. - The lowess() functions now returns a list object of class 'lowess' - A new lowess method for plot() method for 'lowess' objects that generates a scatterplot of the raw data with a lowess curve superimposed. Bug Fixes: - Defunct message for boxplot.n() was recommending the wrong function. - heatmap.2(): - Remove debugging print() statement. - Now properly sets 'srtCol' default if missing and 'colCol' is specified. - Corrected a bug causing "Error in plot.new() : figure margins too large" to occur when 'key=FALSE'. (Reported and patch provided by Sveinung Gundersen.) - Corrected a bug causing an error when "Rowv=FALSE" or "Colv=FALSE". - Corrected message when "Rowv=FALSE" or "Colv=FALSE" and the the "dendrogram" argument requested the corresponding dendrogram. - venn(): - Fix warning message that was missing spaces between words. Other Changes: - The smartlegend(), plot.lm2(), and boxplot.n() functions are now defunct. Please use grephics::legend(), lmplot2() or boxplot2() respectively. Release 2.17.0 - 2015-05-01 --------------------------- New Features: - heatmap.2() has two new arguments, 'colRow' and 'colCol' to control the color of row and column text labels. See the man page for examples. - heatmap.2() has been modified to make it easier to extract and plot subclusters from a large heatmap. Simply pass the dendrogram of the subcluster together with the full data matrix and, optionally, the breaks of the full heatmap in order to obtain the same color scaling. (Suggestion and patch contributed by Ilia Kats.) - venn() now returns a list of the members of each set intersection in the attribute 'intersections'. This can be disabled using the argument 'intersection=FALSE' (Patch by Steffen Möller.) Bug Fixes: - In heatmap.2(), the color key now properly handles color breaks that are not equally spaced. (Issue reported by Tim Richter-Heitmann.) - In heatmap.2(), row/column traces in could be plotted on the wrong row/column. - plotCI() now properly respects the 'type=' argument. (Bug report and correction by Wiktor Å»elazny.) - Remove stray browser() call from overplot() - In the balloonplot() examples, explicitly specify the 'neworder' argument to gplots:::reorder.factor to prevent errors. Other Changes: - smartlegend() is now deprecated because the relative positioning feature ('top', 'right') has been added to graphics::legend(). Calling smartlegend() will generate a warning. - boxplot.n() and plot.lm2() are defunct have been removed. Use of these functions will now generate an error. - Update out-of-date URLs in man pages. Release 2.16.0 - 2015-01-02 --------------------------- New Features: - plotmeans() has a new argument, 'text.n.label' which specifies the text used for labeling the number of elements in a group. Bug Fixes: - plotmeans() now respects (optional) graphical arguments captured in '...' when drawing the x axis. Release 2.15.0 - 2014-12-01 --------------------------- New features: - Convert bandplot() to S3-method dispatch and add method for class formula, so that 'bandplot( y ~ x, data=dataframe )' now works as expected. Other changes: - heatmap.2() now uses a local *non-byte-compiled* copy of plot.dengrogram, because the byte-compiled stats:::plot.dendrogram uses a recursive algorithm that generates a 'node stack overflow' error for deeply nested dendrograms and the node stack size cannot be changed at execution time. Instead, tne local non-byte-compiled gplots:::plot.dendrogram will trigger a recursion limit for such dengrograms. heatmap.2() will detect this error and recommend that the user increase the recursion limit (via, e.g. 'options("expressions"=20000)' ) and rerun. Release 2.14.2 - 2014-09-17 --------------------------- Bug Fixes: - heatmap.2() was not respecting key.title=NA when density.info="none". - Correct the man page for heatmap.2 to state that the default color for 'notecol' is cyan. - In heatmap.2(), modify default arguments to 'symbreaks' and 'symkey' to make the logic more evident by replacing min(...) with any(...). (The previous code executed properly, but relied on implicit coercion of logicals to numeric, obscuring the intent.) - Calling heatmap.2 with deeply nested dendrograms could trigger a 'node stack overflow' error. Now, this situation is deteceted, and a message is generated indicating how to increase the relevant recursion limit via options("expressions"=...). Release 2.14.1 - 2014-06-30 --------------------------- Bug Fixes: - Correct heatmap.2() bug in Colv dendrogram object dimension checking introduced in 2.14.0. (Reported by Yong Fuga Li.) Release 2.14.0 - 2014-06-18 --------------------------- Bug Fixes: - heatmap.2(): Fix typo in heatmap.2() that caused an error when 'Rowv=FALSE'. (Reported by Yuanhua Liu.) Enhancements: - heatmap.2(): Add new 'reorderfun' argument to allow the user to specify an alternative function to reorder rows/columns based on row/column dendrogram. (Suggested by Yuanhua Liu.) - heatmap.2(): Center margin labels. - heatmap.2(): Check size of user-provided Rowv and Colv dendrogram objects to ensure they match the dimensions of the data. - Add references to man page for hist2d() and ci2d() to the new r2d2 package which implements an improved algorithm for 2-dimensional emprical confidence regions. Release 2.13.0 - 2014-04-04 --------------------------- Bug Fixes: - heatmap.2 was not properly handling row trace reference line ('hline'). Patch submitted by Ilia Kats. Enhancements: - In heatmap.2, when the row or column trace is enabled, show the corresponding reference line in the color key. - In heatmap.2, a new 'extrafun' argument is provided that allows the user to specify a function to be called before the function returns. This allows the user to add additional plots to the page. Release 2.12.1 - 2013-10-14 --------------------------- API Changes: - boxplot.n() has been renamed to boxplot2() to avoid potential S3 method calling issues. - plot.lm2() has been rename to lmplot2() to avoid potential S3 method calling issues. Enhancements: - Add heatmap.2() parameters to control row and column label rotation ('srtRow', 'srtCol'), justification ('adjRow', 'adjCol'), and space from plot edge ('offsetRow', 'offsetCol'). Bug Fixes: - Fix error in in venn() when all groups contained the same number of TRUE cases. - Correct error in overplot() when that occured when a group-category contained no finite values. Other Changes: - Changes to overplot() to avoid warnings from upcoming enhancements to R CMD check. - Move several packages from Depends to Imports or Suggests. - Packages caTools and KernSmooth now have namespaces, so import needed functions in NAMESPACE. - Mark one example in manual page for ci2d 'dontrun' to avoid timing warning in R CMD check. Release 2.11.3 - 2013-06-27 --------------------------- Enhancements: - Modify sinkplot() to use a local environment rather than the global environment, to conform to CRAN policies. Bug Fixes: - Fixed typo/spelling error in plotmeans() man page. Release 2.11.2 - 2013-03-24 --------------------------- Enhancements: - Add ci.width argument to barplot2() to allow varying the length of the 't' at the end of confidence interval bars. Bug Fixes: - Fix error in heatmap.2 when colsep argument had length 1. Updates: - Update manual page for lowess.default() to match changed argument list for lowess() in R 3.0.0 Release 2.11.1 - 2012-12-14 --------------------------- Bug Fixes: - Replace corrupted BalloonPlot.pdf in inst/doc. Release 2.11.0 - 2012-06-08 --------------------------- New Features: - Objects returned by hist2d() have been changed: 1) $x and $y now contain the n midpoints of the bins in each direction 2) $x.breaks, $y.breaks now contain the n+1 limits of the bins in each direction. - Add lwd argument to plotmeans(). Bug Fixes: - Correct error in handling binning in hist2d(): (N+1)x(N+1) bins were being created instead of NxN bins, and the highest row/column in each direction was being omitted from the results and plot. - Changes to fix R CMD check warnings Release 2.10.1 - 2011-09-02 --------------------------- New features: - Make results of hist2d() and ci2d() into objects, and add print() methods to display them. Release 2.10.0 - 2011-08-26 --------------------------- New Features: - New ci2d() function to create 2-dimensional empirical confidence intervals utilizing KernSmooth:bkde2D and gplots::hist2d(). See ?ci2d for details. - Add 'alpha' argument to rich.colors() to control transparency. Improvements: - Accellerate hist2d by replacing for() loop with tapply(), and allow user to specify summary function applied (per suggestion by Peter Hagedorn). Bug Fixes: - Correct error in heatmap.2() that arises when data includes NA values (identified by Melissa Key). Release 2.8.0 - 2010-06-10 -------------------------- Improvements: - venn() now returns an object of class venn() and a plot method for this class is provided. - Manual page for venn has been improved, based on contributions by Steffen Moeller Release 2.7.5 - ?? -------------------------- Improvements: - Performance of 'hist2d' improved thanks to a suggestion from Joerg van den Hoff. Release 2.7.4 - 2009-11-12 -------------------------- Bug Fixes: - Correct bug reported by Alan Yong: plotmeans() failed when bars=FALSE. Release 2.7.3 - 2009-10-22 -------------------------- Bug Fixes: - Correct bug reported by Rudolf Talens: heatmap.2() incorrectly transposed the displayed matrix when the option symm=TRUE. Release 2.7.2 - 2009-05-08 -------------------------- Bug Fixes: - Correct bug reported by Ken Lo: cox2hex() had blue and green components swapped. Release 2.7.1 - 2009-05-08 -------------------------- New Features: - Enhancements to heatmap.2() - New arguments 'lmat', 'lhei', and 'lwid' that allow controlling component plot layout. Users can now resize and rearrange plot components. - heatmap.2() will now compute color breakpoints that are symmetric about 0 when the new 'symbreak' parameter is TRUE. This parameter, as well as the symkey parameter now default to TRUE whenever negative values of x are present, and to FALSE othewise. - the heatmap.2() return value now includes additional useful information, including: call, rowMeans, rowSDs, colMeans, colSDs, carpet (reordered and scaled 'x' values), rowDendrogram, colDendrogram, breaks, col, vline, hline, and colorTable. Of these, the most useful are breaks, col, and colorTable. The latter is a three-column data frame providing the lower and upper bound and color for each bin. See the manual page for complete details and examples. - New function venn(), contributed by Steffen Moeller (Thanks Steffen!) to generate Venn diagrams for up to 5 sets. See ?venn for details. - Performance of bandplot() has been dramatically improved, in part by using runsd() and runmean() from the caTools package. As a consequence, gplots now depends on the caTools package. - Improved performance of gplots::plot.lm for large lm objects by using the new bandplot() and by using fitted() instead of predict() to obtain y-hat. - Add 'scale.range' argument to balloonplot(), option to scale balloons so [min,max]->[0,1] ('relative') or [0,max] -> [0,1] ('absolute'). Bug Fixes: - balloonplot() now properly handles dimension labels provided by 'xlab' and 'ylab' - plotCI now properly handles 'NULL' and 'NA' values for ui, li, uiw, and liw. - Corrections of minor typos in man pages - Update Greg's email address to 'greg@random-technologies-llc.com' Release 2.6.0 - 2008-04-07 -------------------------- New Features: - heatmap() now allows control of the location of individual plot components (e.g. color key) Bug Fixes: - Fix bug in handling rowsep, per suggestion by Steven Paugh - Fix examples for overplot() - Two letter clarification of help text for heatmap.2() - Restore plot layout settings to default state at end of ooplot() example - Various typo fixes Release 2.5.0 - 2007-11-02 -------------------------- New Features: - textplot() now converts tab characters to spaces before processing to avoid problems with computing height and width of text that includes tabs. - Add col2hex() function to convert color names to rgb hex codes Bug Fixes: - Correct balloonplot.default to properly show specified x and y axis labels when explicitly provided - R/balloonplot.R: Correct error in balloonplot when z contains NA values. - Fix typos and code/doc mismatches identified by the latest R CMD check Other: - Clarify GPL version Release 2.4.0 - 2007-02-08 -------------------------- New Features: - Add parameters to bandplot() to control line width and type. - Add paramaeters to textplot.matrix() to allow specification of the color of the matrix data, rows, and column Bug Fixes: Other: Release 2.3.2 - 2006-11-14 -------------------------- - heatmap.2.Rd: Fix example that was broken by changes in 2.3.0. Release 2.3.1 ------------- - Changed maintainer back to Greg Warnes - Updated Greg's email address - heatmap.2.R: Fixed a bug which displayed warnings when Rowv and Colv were specified as dendrograms Release 2.3.0 ------------- - heatmap.2.R, heatmap.2.Rd: Updated the code and man page to make sure the Rowv and Colv values are properly handled - Added the tests directory Release 2.2.0 ------------- - plotmeans.R: Fixed bug in plotmeans - based on Stefano Calza's suggestion (the function didn't account for factors unused levels, returning an error.) - exported plot.lm to NAMESPACE, Remove .Alias calls in plot.lm.R since .Alias is defunct. - barplot2.R: Changed the default grey colors to heat colors, if height is matrix - Updated Greg's email address - balloonplot.R: Recent changes to align row totals with the overall total broke how the marginal cumulative fractions were displayed. Added example using Titanic data that exercises the multi-factor display. Added -.tex, .pdf files and figuers, and RNEWS article in inst/doc - colorpanel.R: colorpanel now allows only 2 colors to be specified if no 'middle' color is desired. Release 2.0.8 ------------- - Added DESCRIPTION and removed DESCRIPTION.in - Updated barplot2 - Updated heatmap.2 gplots/inst/venn.Rnw0000644000176200001440000000462314700154745014211 0ustar liggesusers\documentclass[a4paper]{article} %\VignetteIndexEntry{Venn Diagrams with gplots} \title{Venn Diagrams with \texttt{gplots}} \author{Steffen M{\"{o}}ller} \begin{document} \SweaveOpts{concordance=TRUE} \maketitle Venn diagrams\footnote{https://en.wikipedia.org/wiki/Venn\_diagram} allow for a quick overview on the number of elements that multiple sets share. And when those elements are representing traits of real objects, like observations in biomedical sciences/marketing/..., then this may direct researchers to further investigations/decisions. The {\tt gplots} package provides Venn diagrams for up to five sets. The R code to produce the diagrams is not complicated. The plot function behaves alwas the same, depending only on the number of overlapping circles to draw. Its input is a table that is produced by another function. The function {\tt venn()} calls one after the other and is the only one to be seen by the user. The values shown are returned invisibly. The {\tt venn()} function accepts either a list of sets as an argument, or it takes a binary matrix, one column per set, indicating for every element, one per row, the membership with every set. The common form with overlapping circles only works with up to three sets, as seen here: \begin{center} <>= suppressMessages(library(gplots)) venn( list(A=1:5,B=4:6,C=c(4,8:10)) ) @ \end{center} The names of columns or the list elements are the set names. To squeeze extra circles in, those circles need to become ellipses. This works for four sets \begin{center} <>= v.table<-venn( list(A=1:5,B=4:6,C=c(4,8:10),D=c(4:12)) ) print(v.table) @ \end{center} and maybe even more impressively also for five. \begin{center} <>= venn( list(A=1:5,B=4:6,C=c(4,8:10),D=c(4:12),E=c(2,4,6:9)) ) @ \end{center} The man page of {\it venn()} lists options to change the appearance of the plots, e.g., the names of the sets may be omitted and sizes changed. However, there is ample of opportunity to extend the functionality of this package. To mind come \begin{itemize} \item more dimensions (next) \item colors \item variation of size of circles with the number of members the set has \item density plot rather than numbers, identification of individual entries \end{itemize} The prime personal interest is more in the increase of dimensions. Please send patches for features you are most interested in. \end{document} gplots/inst/ChangeLog0000644000176200001440000013231112676760017014326 0ustar liggesusers2016-03-30 warnes * [r2122] R/plot.lowess.R: plotLowess() wasn't finding objects in the caller's environment. 2016-03-28 warnes * [r2121] DESCRIPTION, inst/NEWS: Update gplots version to 3.0.0. * [r2120] man/heatmap.2.Rd: The 'layout' element of the list returned from heatmap.2 is a named list, not a named vector. * [r2119] man/gplots-deprecated.Rd: Used wrong comment character. * [r2118] man/gplots-deprecated.Rd: Comment out arguments section to avoid R CMD check warning. 2016-03-25 warnes * [r2112] man/heatmap.2.Rd: Update URL for RColorBrewer * [r2111] DESCRIPTION: Fix typos and quote uncommon words to make R CMD check happy * [r2110] DESCRIPTION, inst/ChangeLog, inst/NEWS: Update files for gplots 2.18.0 * [r2109] NAMESPACE: Add imports recommended by R CMD check on WinBuilder * [r2108] man/heatmap.2.Rd: Add trailing slash to make R CMD check's URL testing happy. * [r2107] tests/heatmap2Test.Rout.save: Update test output to match corrected messages * [r2106] R/plot.venn.R: Warning message didn't have spaces between words. Minor code reformatting. * [r2105] R/lowess.R: Remove obsolete function to add '...' to argument list for stats::lowess(). * [r2104] man/lowess.Rd, man/venn.Rd: Fix errors identified by R CMD check * [r2103] R/heatmap.2.R: Fix error when Rowv=FALSE or Colv=FALSE * [r2102] man/gplots-defunct.Rd, man/gplots-deprecated.Rd: Fix documenation issues identified by 'R CMD check' * [r2101] man/venn.Rd: Correct discrepencies in man page * [r2100] man/venn.Rd: Correct discrepencies in man page * [r2099] man/lowess.Rd: Correct differences between calls on man page and in code * [r2098] R/lmplot2.R: Fix name of replacement functon in defuct message generated by plot.lm2 * [r2097] man/lowess.Rd: Improve lowess() man page * [r2096] NAMESPACE: Add plotLowess() and plot.lowess() to the NAMESPACE * [r2095] R/plot.lowess.R: Ensure lowess plot methods (invisibly) return the lowess object. * [r2094] man/lowess.Rd: Update man page for lowess to reflect new lowess method for plot(). * [r2093] R/plot.lowess.R: Ensure extra arguments are properly passed to the plot call. * [r2092] R/heatmap.2.R: Corrected a bug causing "Error in plot.new() : figure margins too large" to occur when 'key=FALSE'. (Reported and patch provided by Sveinung Gundersen.) 2016-03-24 warnes * [r2091] R/lowess.R, R/plot.lowess.R: Rename plot.lowess to plotLowess to avoid confusions with plot() method for class 'lowess', create a plot() method for class 'lowess' and modify the lowess.default() and lowess.formula() to add the 'lowess' class to the returned object, along with a 'call' list element. * [r2090] R/venn.R, R/vennMembers.R, man/venn.Rd: The 'intersections' attribute returned from venn() has been improved to use set names instead of indicators, and is ordered from simplest to most complex set interactions. * [r2089] R/smartlegend.R, man/gplots-defunct.Rd, man/gplots-deprecated.Rd: The smartlegend() function has been made defunct and is no longer available. * [r2088] R/lmplot2.R: Indentation changes * [r2087] man/heatmap.2.Rd: Update heatmap.2() man page to reflect addition of to the returned object. * [r2086] R/lowess.R: Remove observations with missing values when lowess is called using the formula interface. * [r2085] R/heatmap.2.R: Add layout infromation to object returned from heatmap.2() (patch provided by Jenny Drnevich). * [r2084] DESCRIPTION: Correct spelling 2016-03-08 warnes * [r2083] R/plot.lowess.R: Add function to plot points and lowess using formula interface. * [r2082] R/lowess.R: Remove old code for S-Plus and modernize formula handling code. * [r2081] R/heatmap.2.R: Set srtCol default if missing and colCol is set 2016-02-26 warnes * [r2080] R/venn.R: venn() now support matrix arguments. * [r2079] R/angleAxis.R, man/angleAxis.Rd: New angleAxis() function to create axis labels with rotated text. * [r2078] R/heatmap.2.R: - heatmap.2() can now be used to plot subsets of a previous heatmap. - Remove stray 'browser()' debuggint statement from heatmap.2() code. - Decrease the granularity of the carpet in heatmap.2()'s color key to avoid visual artifacts. 2015-11-23 warnes * [r2070] R/heatmap.2.R: Remove debugging print() statement. 2015-07-22 warnes * [r2062] DESCRIPTION, R/heatmap.2.R, R/layout_set.R: Renamed 'test' directory to 'tests', commented out tests for lme4 which has a changed API 2015-06-02 warnes * [r2052] R/boxplot2.R: Defunct message for boxplot.n was recommending the wrong function 2015-05-02 warnes * [r2018] Rename 'trunk' to 'pkg' for compatibility with R-forge 2015-05-01 warnes * [r2014] Again... * [r2013] Update ChangeLog (again) * [r2012] Summary: Correct man page name * [r2011] Summary: Forgot to add \alias for smartlegend. * [r2010] Remove leftover alias * [r2009] Commit ChangeLog * [r2008] Update NEWS again. * [r2007] Mark boxplot.n and() plot.lm2() as defunct. * [r2006] Make ballonplot.n() and plot.lm2() 'defunct'. * [r2005] Update NEWS and ChangeLog again. * [r2004] Summary: Punctuation. * [r2003] Correct URLs in man pages. * [r2002] Correct URLs in man pages. * [r2001] Update NEWS again. * [r2000] Improve package description. * [r1999] Mark 'smartlegend' as deprecated * [r1998] Summary: Mark smartlegend() as deprecated. * [r1997] Summary: venn example used 'F' instead of 'FALSE'. * [r1996] Update DESCRIPTION, NEWS, and ChangeLog again for gplots 2.17.0. * [r1995] - heatmap.2: row traces could be plotted in the wrong order. * [r1994] - heatmap.2: column traces could be plotted in the wrong order. - heatmap.2: add support for plotting sub-clusters of the full row and column dendrograms 2015-04-23 warnes * [r1955] Update NEWS and ChangeLog * [r1954] In heatmap.2(), the color key now properly handles color breaks that are not equally spaced. (Issue reported by Tim Richter-Heitmann.) * [r1948] - plotCI() was not properly respecting the 'type=' argument. This has been corrected. * [r1947] - Remove stray browser() call from overplot() * [r1943] Explicitly specify argument to gplots:::reorder.factor to prevent error. * [r1942] - The returned object from venn() now includes a 'interesection' attribution containing a list of which items are in each set intersection. This can be turned off by settting 'intersection=FALSE'. * [r1941] Patch submitted by Ilia Kats: - easily extract and plot subclusters from a big heatmap using the same colorkey, by passing a dendgrogram of the subcluster together with the full data matrix and, optionally, the breaks of the full heatmap in order to obtain the same color scaling. This is useful if one wants to plot several subclusters as different panels in a paper, but maintain consistent color coding. - Improves the behavior of the color key axis labels, as they now honor par("cex") and par("cex.lab"). * [r1940] In heatmap.2() split calls to distfun() and hclustfun() into separate steps to make debugging easier 2015-04-22 warnes * [r1931] Update DESCRIPTION, ChangeLog, and NEWS for gplots 2.17.0 * [r1930] heatmap.2: add new 'colRow' and 'colCol' arguments to control the color of row and column text labels 2015-04-06 warnes * [r1916] Add ChangeLog files to repository 2015-01-02 warnes * [r1913] Update for gplots release 2.16.0. * [r1912] Change default group count lable back to 'n='. * [r1911] - plotmeans: Pass optional graphical arguments captured in '...' axis function used to draw the x axis. - plotmeans: Add an new argument 'text.n.label' to specify the text used for labelingthe number of elements in a group. * [r1910] - Remove S-Plus-specific code - Simplify model frame code 2014-12-03 warnes * [r1909] Update stored test output to account for new startup message from KernSmooth package * [r1908] Fix package title capitalization. 2014-12-02 warnes * [r1907] Add descrioption of node stack overflow issue and work-around. * [r1906] Move '...' argument to bandplot.formula to match man page. * [r1905] plot.dendrogram isn't exported by gplots, so it must be referenced using the ':::' notation. * [r1904] Man page fixes. * [r1903] Add exports of new bandplot methods to NAMESPACE file. * [r1902] Code cleanup. * [r1901] Simplify model.frame code for bandplot.formula. 2014-12-01 warnes * [r1900] Update for 2.15.0 * [r1899] Convert bandplot to S3-method dispatch and add method for class formula. * [r1898] Improve whitespace 2014-09-17 warnes * [r1895] Minor reformatting. * [r1894] Explicitly reset namespace for dendrogram functions copied from stats. * [r1893] Update DESCRIPTION and NEWS for gplots 2.14.2 * [r1892] To work around recursion limit issues triggered by deeply nested dendrograms, (1) create a local *intepreted* copy of stats:::plotNode(), (2) detect recursion limit error message within heatmap.2() and generate a more user-friendly message. * [r1891] Add test case for exceeding recursion limits when plotting deeply nested dendrograms * [r1890] heatmap.2 was not properly handling integer vectors for Rowv and Colv. * [r1889] key.title=NA was not being honored when density.info=NA. 2014-09-16 warnes * [r1888] Add plotNode code to allow modificaiton of algorithm from recursive to iterative for the purpose of avoiding node stack overflow. * [r1887] - Correct statement of default color for 'notecol' argumemt to 'heatmap.2'. - Modify default arguments to 'symbreaks' and 'symkey' to make the logic more evident by replacing min() with any(). (The previous code executed properly, but relied on implicit coercion of logicals to numeric, obscuring the intent.) 2014-06-30 warnes * [r1823] Fix typo in dendrogram size checking code. 2014-06-19 warnes * [r1822] Fix typo 'ColInd' --> 'colInd'. * [r1821] Update for gplots 2.14.0 2014-06-17 warnes * [r1820] - Document new 'key.title', 'key.xlab', 'key.ylab', 'key.xtickfun', 'key.ytickfun', 'key.par' arguments to heatmap.2 (belated commit). - Document new 'reorderfun' argument to heatmap.2. * [r1819] Allow user to specify function used to reorder based on the dendogram via a new 'reorderfun' argument. Suggested by Yuanhua Liu. * [r1818] Fix typo in heatmap.2() reported by Yuanhua Liu. 2014-06-05 warnes * [r1817] Check size of Rowv and Colv dendogram objects to ensure they matches data. 2014-04-17 warnes * [r1812] Add see also to r2d2::freq2d. * [r1811] Add reference to r2d2::conf2d. 2014-04-09 warnes * [r1802] Add padj=0.5 to better align margin labels. 2014-04-05 warnes * [r1781] Update NEWS * [r1780] Add 'extrafun' argument to heatmap.2 to allow the user to perform additional customization by providing a function to be called before heatmap.2 exits. 2014-04-04 warnes * [r1779] Update for gplots 2.13.0 * [r1778] Fix handling of row trace (hline). Bug report and patch provided by Ilia Kats. 2013-10-21 warnes * [r1744] Handle 'ask' argument in lmplot2 function proper, rather than in (depreciated) plot.lm2 wrapper. * [r1743] Correct release number * [r1742] Handle 'ask' argument in lmplot2 function proper, rather than in (depreciated) plot.lm2 wrapper. * [r1741] Fix typo 2013-10-15 warnes * [r1740] Add boxplot2 and lmplot2 to NAMESPACE * [r1739] Update for gplots release 2.12.1 * [r1738] Rename boxplot.n to boxplt2 and plot.lm2 to lmplot2 * [r1737] Make lmplot2 manual page from plot.lm.2 manual page. * [r1736] Make boxplot2 manual page from boxplot.n manual page. * [r1735] Create deprecated man page from boxplot.n man page 2013-10-12 warnes * [r1734] Update NEWS with latest changes * [r1733] Mark one example dontrun to avoid --as-cran warning. 2013-10-11 warnes * [r1732] Allow standard S3 method handling to locate the correct function. * [r1731] Fix error when a subgroup contains no finite values * [r1730] Update test output * [r1729] Move several packages from Depends to Imports, Suggests * [r1728] Use gdata::nobs in example * [r1727] caTools and KernSmooth now have namespaces, so import from them. * [r1726] Update files for gplots 2.12.0 * [r1725] Update files for gplots 2.12.0 * [r1724] Add parameters to control row and column label positioning, rotation, justification, and offset. * [r1723] Fix bug in getVennCounts.data.frame when number of TRUE cases in each variable are equal. 2013-06-28 warnes * [r1680] Update PDF file, including new email addresses 2013-06-27 warnes * [r1679] Update for gplots 2.11.3 * [r1678] Update for release 2.11.3 * [r1677] Update with tests for only 1 row/column separator * [r1676] Fix typo * [r1675] Add test for one row/column separator * [r1674] Add more in-line comments * [r1673] Modify sinkplot to use a local environement to store its information instead of the global environment. 2013-03-24 warnes * [r1647] Update news for release 2.11.2 * [r1646] Add ci.width argument to barplot2() to allow varying the length of the 't' at the end of confidence interval bars. * [r1642] Update for release 2.11.2 * [r1641] Update manual page for lowess.default() to match changed argument list for lowess() in R 3.0.0 2012-12-14 warnes * [r1631] Fix typo: warn() instead of warning(). * [r1630] Fix syntax of VignetteIndexEntry in venn.Rnw. * [r1629] Add generated vignette pdf. * [r1628] Add required VignetteIndexEntry metadata to venn vignette code. * [r1627] Update DESCRIPTION and NEWS for release 2.11.1. * [r1626] Improve venn() to work with PDF and Sweave/pdflatex. Provide a vignette for venn(). * [r1625] Fix error in processing the colsep argument to heatmap.2. * [r1624] Clarify that plotmeans is intended for a *continuous* outcome based on a *factor* grouping level. * [r1623] Replace corrupted BalloonPlot.pdf file and remove svn properties that were causing it to be corrupted. 2012-06-08 warnes * [r1558] Update NEWS for 2.11.0 release. * [r1557] Fix R CMD check warnings. * [r1556] Move incorrectly placed closing brace. 2012-06-07 warnes * [r1555] Object returned by hist2d() has been changed: - $x and $y now contain the n midpoints of the bins in each direction - $x.breaks, $y.breaks now contain the n+1 limits of the bins in each direction The function print.hist2d() has been updated appropriately. * [r1554] Correct error in handling binning: (N+1)x(N+1) bins were being created instead of NxN bins, and the highest row/column in each direction was being omitted from the results and plot. * [r1553] Add default value for lwd argument to plotmeans() 2012-05-31 warnes * [r1533] Properly mark up S3 method. 2011-12-09 warnes * [r1519] Add 'lwd' (linewidth) to arguments handled by plotmeans. 2011-09-02 warnes * [r1505] Update NEWS for release 2.10.1. * [r1504] Increment version counter. * [r1503] Add necessary alias statment to man files for for 'hist2d' and 'ci2d' print methods. * [r1502] Fix naming error * [r1501] Provide print() methods for 'hist2d' and 'ci2d' objects. * [r1498] Correct dependence on R >= 2.10 2011-09-01 warnes * [r1491] - Correct issues in ci2d() man page. * [r1490] - Comment out import from KernSmooth in NAMESPACES, since KernSmooth doesn't provide a namespace. - Update a test output. * [r1489] - Update NEWS file and correct version number * [r1488] - Depend on KernSmooth package. Increment version number. * [r1487] - Depend on KernSmooth package and import 'bkdeD2' and 'dpik'. * [r1486] Improvements to ci2d(): - Add option to utilize KernDensity::bkde2D to estimate the 2-d density (now the default). - Add option to display points for original data on generated plots - Name elements of returned contour list according to the significance level to make it easier to select desired contours. - Improve handling of x and y labels * [r1485] Remove log tag and comments from top of the file. 2011-08-26 warnes * [r1478] Update NEWS for 2.10.0 release * [r1477] Add dependency on R>= 2.10 to handle compressed Rda data file. * [r1476] Compress rtPCR example data set to make distributed package smaller. * [r1475] Remove '1.0' confidence line from ci2d(..,show="contour"). 2011-08-25 warnes * [r1474] - Add 'ci2d()' to compute 2-dimensional emipirical confidence interval. - Fix parse error in help page for 'rich.colors()'. 2011-08-16 warnes * [r1473] Update DESCRIPTION file for 2.8.1. * [r1472] Add 'alpha' argument to rich.colors() to control transparency. * [r1471] Accellerate hist2d by replacing for() loop with tapply(), and allow user to specify summary function applied, per suggestion by Peter Hagedorn (PHA -at- santaris -dot- com). 2011-05-02 arnima * [r1470] Added argument 'alpha' and removed argument 'rgb' in rich.colors() 2010-12-13 warnes * [r1463] Correct error that arises when data includes NA values, identified by Melissa Key 2010-06-11 warnes * [r1446] Fix errors detected by R CMD check * [r1445] Fix errors detected by R CMD check * [r1444] Use 'TRUE' instead of 'T' for true in venn man page * [r1443] Update for gplots 2.8.0 * [r1442] Moved baseOf() into a separate file * [r1441] Update Greg's email address * [r1440] - venn() now returns an object of class venn() and a plot method for this class is provided. - Manual page for venn has been improved, based on contributions by Steffen Moeller 2010-02-17 warnes * [r1420] Improve performance of hist2d thanks to suggestion by Joerg van den Hoff. 2010-01-22 arnima * [r1372] Renamed files rich.color.* to rich.colors.* and renamed rich.colors args 2009-11-16 arnima * [r1367] Minor reformatting only. 2009-11-12 warnes * [r1365] Correct bug reported by Alan Yong: plotmeans() crashed when 'bars=FALSE'. 2009-10-22 warnes * [r1364] Fixed typo in bug fix. * [r1363] Update NEWS and DESCRIPTION for gplots 2.7.3 * [r1362] Fix transposed display of data (but not labels) in heatmap.2 when symm=TRUE 2009-10-12 warnes * [r1361] Update version number to 2.7.2, 2.7.1 was already up but apparently DESCRIPTION wasn't commited with change. 2009-10-10 warnes * [r1360] Various minor changes to remove new R CMD CHECK warnings. * [r1359] Update DESCRIPTION and NEWS file for 2.7.1 * [r1358] Fix bug reported by Ken Lo: col2hex had blue and green components swapped. 2009-05-08 warnes * [r1324] Add test of using a dendrogram created by heatmap() with heatmap.2() * [r1323] heatmap.2: handle NA for RowV or ColV the same way as NULL * [r1322] Fix typo * [r1321] Update NEWS for release 2.7.0 * [r1320] We don't want the Changelog in svn, since it is autogenerated from svn logs! * [r1319] Update Greg's email address to 'greg@random-technologies-llc.com' * [r1318] plotCI now properly handles 'NULL' and 'NA' values for ui, li, uiw, and liw. * [r1317] heatmap.2: Add option to create breakpoints symmetric around 0, provide additional information in the return value * [r1316] Fix Rd syntax error 2009-04-22 warnes * [r1315] VADeaths data set has move to dataset package 2008-08-14 warnes * [r1302] balloonpot() was incorrectly displaying warning about z values below 0 when scale.method="relative". Fixed. 2008-08-07 warnes * [r1301] Update DESCRIPTION NAMESPACE and NEWS for 2.7.0 release 2008-06-16 warnes * [r1296] Add TODO list to gplots 2008-05-20 warnes * [r1274] Update man page to match recent changes to plot.lm2() * [r1273] More work on documentation for venn() * [r1272] Fix code/doc mismatch due to recent changes to bandplot() * [r1271] Add Venn Diagram plot submitted by Steffen Moeller 2008-05-07 warnes * [r1264] Improve performance of bandplot by calculating running standard deviation using caTools::runsd() instead of (ver slow) window() call. In addtion, the standard deviations are now only calculated once, rather than once for each band. * [r1263] Improve performance of plot.lm for large lm objects by using fitted() instead of predict() to get y-hat 2008-05-05 warnes * [r1262] Use caTools's runsd in bandplot for a dramatic speedup for large data * [r1261] Add import of gtools::reorder.factor for ballonplot man page * [r1260] balloonplot: Add option to scale balloons so [min,max]->[0,1] (relative) or so [0,max] <- [0,1] (absolute) 2008-04-07 warnes * [r1254] Fix typo in barplot2() man page * [r1253] Updates for gplots 2.6.0 * [r1252] Add ability to control location of individual heatmap.2 components 2008-03-27 warnes * [r1251] Fix bug in handling rowsep, per suggestion by Steven Paugh 2008-01-04 warnes * [r1238] Fix examples for overplot() 2008-01-02 warnes * [r1237] Update Marc's email address 2007-12-20 warnes * [r1235] Two letter clarification of help text for heatmap.2() * [r1234] Restore plot layout at end of ooplot() example 2007-11-06 warnes * [r1222] Remove extraneous closing brace in the hist2d documentation file 2007-11-05 warnes * [r1221] Fix typo in NEWS: col2hex() is the new function, not col2rgb() which is part of grDevices 2007-11-02 warnes * [r1219] Updates for gplots 2.5.0 * [r1218] Update saved test output due to changes in how R reports warnings * [r1217] Create soft links of gmodels/ChangeLog -> gmodels/inst/ChangeLog, and gmodels/NEWS -> gmodels/inst/NEWS for my convenience * [r1216] Move actual ChangeLog and NEWS files to gmodels/inst so they will be copied into the installed R package area * [r1215] Fix code/doc mismatches * [r1214] Update plot.lm2 to match changes made to bandplot 2007-11-01 warnes * [r1213] in textplot(), convert tab characters to spaces before processing to avoid problems with computing height and width of text including tabs when using pdf() * [r1212] Minor reformatting of overplot code and docs 2007-10-22 warnes * [r1196] Clarify GPL version 2007-08-14 warnes * [r1141] Correct error in balloonplot when z contains NA values. * [r1140] Augment balloonplot() with control of character size and color for text and label items * [r1139] Correct balloonplot.default to properly show specified x and y axis labels when explicitly provided 2007-03-09 ggorjan * [r1073] use of \method in Rd markup - issues a warning with _R_CHECK_RD_STYLE_=TRUE env. variable with R 2.5.0 2007-02-08 warnes * [r1052] Bump version number * [r1051] Update documentation for textplot() * [r1050] Add col2rgb() function to convert color names to rgb hex codes * [r1049] Add paramaeters 'col.data', 'col.rows', and 'col.columns' to textplot.matrix to allow specification of the color of the matrix data, rows, and columns. * [r1048] Add parameters to control line width and line type. 2006-11-14 ggorjan * [r1012] Removed executable property 2006-11-14 warnes * [r1010] Update output file to match (trivial) changes in the test code. * [r1008] Update ChangeLog and NEWS files for release 2.3.2. * [r1007] Update version number * [r1006] Update version number and maintainer * [r1005] Correct problem with labeled correlation matrix example. Thanks to Jean Vidal for reporting the error.. 2006-08-02 warnes * [r977] Update my email address 2006-06-26 nj7w * [r967] Fixed a bug which displayed warnings when Rowv and Colv were specified as dendrograms 2006-03-10 warnes * [r937] Remove code that added a local path 2006-03-09 nj7w * [r935] Added the correct library path where gplots is installed locally and corresponding .save file * [r934] Updated the tests file * [r933] Removed the condition Colv != Rowv as it has already been taken care of * [r932] Deleted rtPCR.rda from the main directory * [r931] Added ChangeLog 2006-03-07 nj7w * [r919] Updated ChangeLog and NEWS * [r918] Added the tests and fixed corrupted files * [r917] Replaced the corrupted rtPCR.rda file in data directory * [r916] Removed the corrputed tests directory * [r915] Replaced the corrupted rtPCR.rda file in data directory 2006-03-03 nj7w * [r914] Updated the code and man page to make sure the Rowv and Colv values are properly handled 2006-03-02 warnes * [r908] Adjust row total placement to adjust for width of the totals * [r907] Row totals in ballonplot were in reverse order. Fixed. 2006-02-23 nj7w * [r899] Add ability to scale the color key using the new 'keysize' argument. * [r898] Add tests for heatmap.2 * [r897] Move heatmap and ballonplot paper source materials to their respective cvs modules * [r896] Moved balloonplot paper materials to BallonPlotPaper cvs module * [r891] Remove heatmap paper files and move them to the HeatmapPaper cvs module. * [r888] Added figures for heatmap2 paper * [r887] Added the .Rda files for the heatmap2 paper * [r886] Added the source - (tex file) of the heatmap paper * [r885] Added the code for the figures of heatmap paper 2006-02-21 nj7w * [r884] Minor updates to heatmap.2 - fixed Rowv, Colv and dendrogram behaviour. Now Rowv=NULL or FALSE both imply no dendrogram computation. 2006-01-12 warnes * [r844] more updates * [r843] Add Biometrica bibliography style file * [r842] A little more. * [r841] Updates to respond to referee. 2006-01-12 nj7w * [r840] Added references 2005-12-13 nj7w * [r811] Fixed Nitin's company name * [r809] Updated NEWS and removed ChangeLog 2005-12-12 nj7w * [r802] Fixed bug in plotmeans - based on Stefano Calza's suggestion 2005-12-07 nj7w * [r787] Updated version number * [r786] Added plot.lm * [r785] Changed the default grey colors to heat colors, if height is matrix * [r784] Changed the default greay colors to heat colors, if height is matrix 2005-12-06 nj7w * [r783] Fixed minor error in documentation of barplot2 2005-12-02 warnes * [r777] Remove .Alias calls, since .Alias is defunct. 2005-12-01 nj7w * [r776] Updated Greg's email address 2005-11-23 nj7w * [r764] Updated Figure 2 colors 2005-11-18 warnes * [r743] Latest version of the pdf files * [r742] Nitin works for the Cambrige Group, not Pfizer. * [r741] Minor text rewording. * [r740] More edits. * [r739] Recent changes to align row totals with the overall total broke how the marginal cumulative fractions were displayed. This patch fixes the problem. * [r737] - Update documentation for balloonplot to match the latest code. - Correct spelling of 'show.zeroes' to 'show.zeros' * [r736] More changes: colorpanel now allows only 2 colors to be specified if no 'middle' color is desired. 2005-11-17 warnes * [r735] Allow user to control removal of duplicate entries in balloonplot. * [r734] Extend colorpanel to handle just two-colors in addition to three. 2005-11-09 nj7w * [r733] Updated the pdf file * [r732] Updated the changes * [r731] Modified figure 4 * [r730] Updated code * [r729] Modified figure 3 * [r728] Modified figure 2 * [r727] Modified figure 1 2005-11-08 nj7w * [r726] Updated Greg's email 2005-11-07 nj7w * [r725] Minor modifications to fit the code properly on pdf 2005-11-07 warnes * [r724] Add R code that generates plots * [r723] Add figures to CVS * [r722] Text changes 2005-11-04 warnes * [r721] Fix some alignment issues. * [r720] Remove Table.pdf since it is no longer needed * [r719] Nitin's Changes * [r718] Add figure plots * [r717] Fix paths 2005-10-20 nj7w * [r705] added the eps version of figures * [r704] Updated BallonPlot.pdf * [r703] Removed Old Figure * [r702] Added the new figure - for total popluation - Balloonplot * [r701] Modified the BallonPlot article * [r700] Added references 2005-10-19 arnima * [r697] The last example now displays the correct heat.colors. Default 'palette' argument is now a single string, not a vector. * [r696] Default 'palette' argument is now a single string, not a vector. 2005-10-14 warnes * [r694] Formatting fixes: - Handle multiple row or column category variables - Separate rows/columns of category labels by lines - Fix handling of 'cumsum' plots on row/column labels - Improve display of row/column sums 2005-10-13 warnes * [r693] Add example using Titanic data that exercises the multi-factor display. 2005-10-11 warnes * [r692] Initial changes to allow multiple x and y factor variables. Yet to be done: 1) remove extra 'boxes'. 2) omit duplicated values 2005-10-04 warnes * [r691] more minor fixes * [r690] fix spacing * [r689] Inlcude Rnews.sty * [r688] Some textual edits. 2005-10-03 nj7w * [r687] Added figures for the R-News Article 2005-09-29 nj7w * [r680] Updated the documentation - added the name of the person who asked the question * [r679] Added R-news article 2005-09-12 nj7w * [r671] Updated Greg's email * [r670] Updated version of balloonplot - by Romain Francois 2005-09-09 nj7w * [r669] Updated the version and ChangeLog * [r668] Changes in ballon plot based on Romain Francois (francoisromain@free.fr) suggestions 2005-09-06 nj7w * [r666] Updated package dependencies * [r665] Added NEWS 2005-09-02 nj7w * [r655] Added ChangeLog 2005-08-31 nj7w * [r644] Added DESCRIPTION file * [r643] removed DESCRIPTION.in 2005-06-09 nj7w * [r625] Updating the version number, and various help files to synchronize splitting of gregmisc bundle in 4 individual components. * [r624] Changes based on Marc Schwartz's suggestions to handel 0's and NA's appropriately. 2005-05-13 nj7w * [r621] 1) Using dQuote.ascii function in read.xls as the new version of dQuote doesn't work proprly with UTF-8 locale. 2) Modified CrossTable.Rd usage in gmodels 3) Modified heatmap.2 usage in gplots. 2005-04-04 warnes * [r603] Explicitly reference package containing lowess.formula in panel.overplot(). This should fix the error reported by Troels Ring . 2005-02-26 nj7w * [r565] *** empty log message *** 2005-02-25 warnes * [r563] Integrate changes submitted by Arni Magnusson * [r559] Add dependency imports from 'stats' package. 2005-02-22 warnes * [r555] Fix problem in passing graphical parameters (xlim,etc).@ 2005-02-08 warnes * [r541] Improve package title. * [r540] Ignore missing values when computing symmetric range. 2005-02-02 warnes * [r530] Add more extensive example. 2005-01-14 warnes * [r516] Code can be simplified because R now supports selecting a fixed width font. 2005-01-12 warnes * [r515] Add dependency on R 1.9.0+ to prevent poeple from installing on old versions of R which don't support namespaces. 2004-11-30 warnes * [r495] 1. Add new parameters for controlling color key: - If `symkey==TRUE', the color key will be made symmetric about 0. - The `densadj' parameter can be used to modify the smoother width (see the `adjust' parameter under `help(density)') for the density plotted in the key. 2. Fix handling of rowsep/colsep. 3. Vector of length 2 giving the width (colsep) or height (rowsep) the separator box drawn by colsep and rowsep as a function of the width (colsep) or height (rowsep) of a cell. 4. Appropriate changes to the corresponding help page, plus some minor formatting changes. 2004-11-03 warnes * [r474] Fix bugs in layout of cell notes. They were being plotted top down rather than bottom up. Further reordering of the x matrix didn't also reorder the notes. Both issues should now be resolved. 2004-09-27 warneg * [r461] Updated to pass R CMD check. 2004-09-03 warneg * [r453] Provide explicit package for call to nobs. * [r452] Fix typos. * [r446] initial bundle checkin 2004-09-02 warneg * [r442] Initial revision 2004-07-29 warnes * [r426] Integrate changes from the version of plotCI maintained by Martin Maechler. 2004-06-30 warnes * [r393] Remove commented-out code. * [r392] Fixed text size calculations 2004-06-28 warnes * [r391] - Default 2-d color set to grey as in (v2.0.0) r-devel - The default (v1.9.1) barplot method now handles vectors and 1-d arrays (e.g., obtained by table()) the same, and uses grey instead of heat color palettes in these cases. (Also fixes PR#6776.) - Updated to reflect the addition of 'offset' argument in base - Fix bug in stacked barplots, which would not be plotted properly 2004-06-24 warnes * [r385] Add ability to specify color of NA cells. 2004-05-27 warnes * [r349] Fix spelling error. 2004-05-26 warnes * [r347] One more fix to get it right. * [r346] Use triple-colon operator ':::' to access plot.formula from the graphics package. * [r344] Replace 'F' by 'FALSE' to pass R CMD check. 2004-05-25 warnes * [r338] Work around bug in R 1.9.X due to plot.formula() not having the same arguments as plot(). * [r336] Add rich.colors() submitted by Arni Magnusson . * [r328] ?? 2004-05-24 warnes * [r324] Modified to use invalid() to check arguments instead of missing(). This fixes some build errors under R-1.9.0-Patched. 2004-04-22 warnes * [r319] Integrate changes from Lodewijk Bonebakker 2004-04-13 warnes * [r318] Add ability to space points along 'y' direction. 2004-04-02 warnes * [r313] Fixed smartlegend() positioning when x and/or y axis are log-scale. 2004-03-30 warnes * [r311] - Fix bug in textplot() reported by Wright, Kevin . 2004-03-26 warnes * [r305] Update to match changes in textplot() code. * [r304] Remove Windows EOL characters. * [r302] - Remove some commented-out code. - Remove cvs log tag. * [r300] Misc changes. 2004-02-17 warnes * [r290] Minor fix to ooplot documentation. * [r289] Integrate ooplot updates provided by Lodewijk Bonebakker 2004-02-02 warnes * [r287] - Add colorpanel function, which generates a smoothly varying band of colors over a three color range (lo, mid, high). 2004-01-21 warnes * [r283] - Correct arguments to halign to match code. * [r281] Track R 1.9.0's move of 'lowess' from the base package to the (new) stats package. * [r279] - Fix sinkplot() example by replacing 'T' with 'TRUE'. * [r278] - Add some more details to the ooplot() documentation. The documentation is *not* complete. * [r277] - Mark sprint() as depreciated. - Replace references to sprint with capture.output() - Use match.arg for halign and valign arguments to textplot.default. - Fix textplot.character so that a vector of characters is properly displayed. Previouslt, character vectors were plotted on top of each other. 2004-01-19 warnes * [r276] New function sinkplot(), as requested on R-devel by Kevin Wright in https://www.stat.math.ethz.ch/pipermail/r-devel/2004-January/028483.html. 2004-01-15 warnes * [r274] Add initial code and docs for ooplot() function submitted by Lodewijk Bonebakker . 2003-12-03 warnes * [r253] - match function argument defaults with 'usage' * [r252] - Fix buglets in heatmap function - Make a slight enhancement to the example code. 2003-12-02 warnes * [r251] Integrated some suggestions from Sean Davis . * [r250] - Make final example use 16 colors instead of 8. This looks nicer. * [r248] - Remove '%' character from example code to avoid errors. * [r247] - Add '...' parameter to call to text to allow user to control size/color/etc. 2003-12-01 warnes * [r246] - updated to match changes to barplot() in base. * [r245] - Renamed rtPCR.Rda to rtPCR.rda so that R will properly load the file when data(rtPCR) is executed. * [r243] - Follow patches applied to barplot() in base. 2003-11-24 warnes * [r242] Fix unbalanced braces. * [r240] Fix errors reported by R CMD check. 2003-11-21 warnes * [r239] Added missing closing brace. * [r238] Initial addition of these files. Used in examples of overplot(). * [r236] Applied my enhancements to the heatmap() code from R 1.8.0, and added documentation of these changes. * [r235] - Discovered that axis(N) does the right thing without needing to be given location for tick marks. This allowed simplification of the code. - Minor other changes for distribution - Addition of overplot.Rd documentation. * [r231] - Integrated my extensions into the R 1.8.0 version of heatmap. - Add Rd documentation. 2003-11-19 warnes * [r228] Remove extranious NULL that confused R CMD check. 2003-11-18 warnes * [r226] - Tiny fix to remove R CMD check error. * [r225] - Added missing closing brace. * [r224] - Convert from MS-Dos to Unix line endings. - Reformat to 80 columns. 2003-11-10 warnes * [r220] - Add files contributed by Arni Magnusson . As well as some of my own. 2003-08-19 warnes * [r219] - Copy of local changes. * [r218] - Checkin before re-integrating local changes. 2003-06-19 warnes * [r201] - Added enhanced heatmap function. 2003-06-09 warnes * [r200] - Add help text for smartlegend. * [r199] - New function smartlegend(). 2003-04-22 warnes * [r191] - Fixeed warning messing caused when 'connect' is a vector. * [r187] Update from Marc Schwartz, modified by Gregory Warnes: - Modified dim() checks for 'ci.l' and 'ci.u' against 'height' to remove R v1.7.0 if() based error msgs for vector conditions. 2003-04-04 warnes * [r182] - Change occurences of 'T' to 'TRUE' * [r179] - Updated to match changes in textplot function: - Added textplot.character - Renamed arguments "col.margin" and "row.margin" to "cmar", and "rmar" so that specifying "col='red'" is possible. - Fixed R CMD check errors - Improve comments in example - Add textplot.matrix example * [r178] - Added textplot.character to handle character strings. - Moved test for vector and matrix arguments to textplot.default. - Renamed arguments "col.margin" and "row.margin" to "cmar", and "rmar" so that specifying "col='red'" is possible. 2003-04-02 warnes * [r175] - Added textplot function and friends, as well as documentation. 2003-03-08 warnes * [r171] - Forgot to update arglist in \usage section. * [r169] - Added parameters for rotation of and amount of space allocated for the row and column labels. 2003-03-07 warnes * [r168] - Minor changes to code to allow the package to be provided as an S-Plus chapter. * [r167] - Add 'NULL' as the last element of if statement that defines lowess.default so that when the file is sourced, S-Plus doesn't display the function definition. * [r166] - Specify where the defualt lowess function should be found. - Use getFunction in S-Plus instead of 'get' 2003-01-30 warnes * [r159] - Added argument 'add' to allow for the addition of a barplot to an existing graphic. Default is FALSE 2003-01-20 warnes * [r156] - Updated balloonplot help page. * [r155] - Updated wapply.R to allow specification of evaluation points when method is 'width' or 'range' using the 'pts' argument. - Updated wapply.Rd to add 'pts' argument - Fixed typos, spelling errors, gramatical errors and lack of clarity in wapply.Rd help text. 2003-01-03 warnes * [r154] - Initial checkin of balloonplot functions and documentation. * [r153] - Added reference to and comparison example of sunflowerplot. - Added code to put example plots on same plot window using par(mfrow=...). 2003-01-02 warnes * [r150] - Changed assignment statements that used "=" to "<-" to avoid syntax errors in older versions of the S language. * [r149] - Added wrapper code so that R-specific fiddling won't be executed under S-Plus. * [r147] - Renamed first parameter to match qqnorm generic. * [r146] Added additional help text from Kjeitl. 2002-12-31 warnes * [r145] Initial checkin of qqnorm.aov function and documentation submitted by Kjetil Halvorsen . 2002-11-04 warnes * [r143] Updates from Marc Schwartz: - Updated underlying code to be based upon the new barplot() in R v1.6.1 - This now uses the 'axis.lty' and 'border' arguments - In R v1.6.0, R Core introduced a new function called axTicks(). This is an R equivalent of the C code for CreateAtVector in plot.c. This now enables me to get the axis tick mark positions consistently when the 'height' related axis is either linear or log. Thus, I can now have consistent tick marks and can plot grid lines in either situation. If 'plot.grid = TRUE' and 'grid.inc' is specified, then I still use pretty() to determine the tick marks and lines. - This code now depends on R 1.6.0 or later. 2002-10-30 warnes * [r139] - Commented out plot.lm() code since recent changes in R have broken it. 2002-10-11 warnes * [r131] - Fixed log scale errors in legend() call 2002-10-01 warnes * [r130] - Added examples of using 'contour' and 'filled.contour' for display. 2002-09-24 warnes * [r121] - Changed digits=options("digits") which produces a list of length 1 to digits=getOption("digits") which returns a vector of length one. The former was causing an error when passed to round(). 2002-09-23 warnes * [r119] - Fixed syntax errors in barplot2.Rd and CrossTable.Rd - Fixed incorrect translation of 'F' (distribution) to 'FALSE' in glh.test.Rd * [r117] - Modified all files to include CVS Id and Log tags. * [r116] - Added CrossTable() and barplot2() code and docs contributed by Marc Schwartz. - Permit combinations() to be used when r>n provided repeat.allowed=TRUE - Bumped up version number 2002-08-01 warnes * [r114] - Corrected documentation mismatch for ci, ci.default. - Replaced all occurences of '_' for assignment with '<-'. - Replaced all occurences of 'T' or 'F' for 'TRUE' and 'FALSE' with the spelled out version. - Updaded version number and date. 2002-04-09 warneg * [r109] Checkin for version 0.5.3 2002-03-27 warneg * [r107] Added "..." argument to lowess.default. * [r106] - Added code to append "..." to the argument list of lowess.default. - Fixed a wrong default for f in lowess.formula. Was 3, but should have been 2/3. 2002-03-26 warneg * [r104] - Changed methods to include '...' to match the generic. - Updated for version 0.5.1 * [r100] Initial checkin. 2002-03-20 warneg * [r94] - Changes to add compatibility with S-Plus 2000 * [r93] - Changes to add compatibility with S-Plus 2000. * [r92] - Updated to work in S-Plus 2000 as well as R. 2002-03-05 warneg * [r88] - Replace "T" with "TRUE". Problems arrive when there is a variable named "T". 2002-02-20 warneg * [r81] Minor changes, typo and formatting fixes. * [r80] - Generalized to allow specification of the multiples of the standard deviation levels to be plotted (0=mean, 1=1 sd, ..). - Now (invisibly) returnes computed smooths. 2002-02-16 warneg * [r78] Added bandplot documentation. * [r77] - Fixed Bug: When method=="range", the absolute range of x was being used to compute the relative width instead of the (correct) relative range. * [r76] - Corrected problem removing missing values: The missing values of $x and $y were being removed indepdendently, leaving an uneven number of points in the result. 2002-02-04 warneg * [r74] - Add na.rm parameter and make the default TRUE. * [r73] Initial checkin. * [r72] - When err="x", 'col' was being used to plot bars, rather than 'barcol'. * [r71] - fixed typo, when err="x", lty was 'slty' causing an error. 2001-12-12 warneg * [r54] - Quoted underscore character in my email address. - Added correct keyword. * [r52] Added documentation for xaxt parameter. * [r51] Updated to explicitly list control arguments to lowess.formula. * [r50] Initial checkin. Code copied from R source package and extended. 2001-12-07 warneg * [r46] Fixed an problem where \code was incorrectly delimited by parens rather than curly brackets. * [r42] Initial checkin. * [r41] - Added cvs tags. * [r40] - Leave first point at center, rather than shifting by s/2 to the left. This looks better when there are more than 2 'spaced' points. 2001-12-05 warneg * [r33] - Added ability to use the t-distribution to compute confidence intervals. This is controlled using the 'use.t' parameter. * [r31] - Added documentation of use.t parameter. * [r30] - Clarified how the width of the window is computed when method="nobs". * [r29] - Added a better default for "width" when method="nobs". For this case, width=max(5, length(x)/10). - Allow omission of x values which result in missing y values via 'drop.na' parameter. 2001-10-26 warneg * [r28] Added correct handling of 'xaxt="n"'. 2001-10-16 warneg * [r27] Fixed unbalanced brace. * [r26] Added minbar and maxbar parameters. * [r25] Forgot to add minbar and maxbar to usage section. * [r24] Added description of minbar and maxbar. * [r23] - Added minbar and maxbar parameters - Added cvs id and log tags to header * [r22] Added cvs id and log tag to file header * [r21] Added minbar and maxbar parameters. * [r20] Added description of minsd parameter. * [r19] Added minsd parameter. 2001-09-18 warneg * [r18] Release 0.3.2 2001-09-01 warneg * [r16] Release 0.3.0 2001-08-31 warneg * [r15] Used wrong character in header (% instead of #). Fixed. * [r14] Used wrong comment character (% instead of #) in header. Fixed. 2001-08-25 warneg * [r10] Initial checkin. * [r9] Added CVS header. * [r8] Initial Checkin 2001-05-30 warneg * [r2] Initial revision gplots/inst/TODO0000644000176200001440000000052212471456254013240 0ustar liggesusers plot.lm2 -------- - Upgrade to match current plot.lm code - For predictor vs resid, use boxplot when predictor is a factor - Rug plot or histogram for residuals/fitted values in both dimensions - Confidence region for normal distribution with equivalent number of points on QQ plot - display "bad" cutoff line for cook's distance plot gplots/README.md0000644000176200001440000000347514676054701013064 0ustar liggesusers[![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/gplots)](https://cran.r-project.org/package=gplots) [![CRAN Monthly](https://cranlogs.r-pkg.org/badges/gplots)](https://cranlogs.r-pkg.org/badges/gplots?color=yellow) [![CRAN Total](https://cranlogs.r-pkg.org/badges/grand-total/gplots)](https://cranlogs.r-pkg.org/badges/grand-total/gplots?color=yellowgreen) [![codecov.io](https://codecov.io/github/talgalili/gplots/coverage.svg?branch=master)](https://app.codecov.io/github/talgalili/gplots?branch=master) [![R-CMD-check](https://github.com/talgalili/gplots/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/talgalili/gplots/actions/workflows/R-CMD-check.yaml) **[gplots website](https://talgalili.github.io/gplots/) (built using [pkgdown](https://pkgdown.r-lib.org/))** # gplots ## Introduction This repo is to keep the gplots package alive. I don't plan to develop new features, but if you'll send pull requests I'm willing to review them. ### Latest news You can see the most recent changes to the package in the [NEWS.md file](https://talgalili.github.io/gplots/news/index.html) ### Code of conduct Please note that this project is released with a [Contributor Code of Conduct](https://github.com/talgalili/gplots/blob/master/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. ## Installation To install the stable version on CRAN: ```r install.packages('gplots') ``` And then you may load the package using: ```R library("gplots") ``` ## Usage TODO ## Contact You are welcome to: * Ask questions on: * Submit suggestions and bug-reports at: * Send a pull request on: * Compose a friendly e-mail to: gplots/build/0000755000176200001440000000000014700167136012666 5ustar liggesusersgplots/build/vignette.rds0000644000176200001440000000033014700167136015221 0ustar liggesusers‹‹àb```b`aad`b2™… 1# 'æ(KÍËÓ ÊMA—Š+¸d&¦%æ+”g–d($¤ää—' )å‘Q’›ƒ&Á1èa°(DX˜T±æ%榣iewI-HÍK ÿîŸñ?ºO¼S+Ëó‹`zPÔ°AÕ°¸eæ¤Âì É,s˜\Ü LÆ t7`˜â~΢ür=˜xAAÞ$þºG“s‹Ñ=Ê•’X’¨— äT»(YCQ´gplots/man/0000755000176200001440000000000014700161232012331 5ustar liggesusersgplots/man/lowess.Rd0000644000176200001440000001155512676770351014165 0ustar liggesusers% $Id: lowess.Rd 2124 2016-03-30 15:29:44Z warnes $ % % $Log$ % Revision 1.7 2005/06/09 14:20:28 nj7w % Updating the version number, and various help files to synchronize splitting of gregmisc bundle in 4 individual components. % % Revision 1.1.1.1 2005/05/25 22:15:30 nj7w % Initial submission as an individual package % % Revision 1.6 2003/12/03 02:46:51 warnes % - match function argument defaults with 'usage' % % Revision 1.5 2002/09/23 13:59:30 warnes % - Modified all files to include CVS Id and Log tags. % % \name{lowess} \alias{lowess} \alias{lowess.default} \alias{lowess.formula} \alias{plot.lowess} \alias{plotLowess} \title{Scatter Plot Smoothing} \usage{ lowess(x, ...) \method{lowess}{default}(x, y=NULL, f=2/3, iter=3L, delta=0.01 * diff(range(x)), ...) \method{lowess}{formula}(formula,data=parent.frame(), ..., subset, f=2/3, iter=3L, delta=.01*diff(range(mf[-response]))) \method{plot}{lowess}(x, y, ..., col.lowess="red", lty.lowess=2) plotLowess(formula, data=parent.frame(), ..., subset=parent.frame(), col.lowess="red", lty.lowess=2 ) } \alias{lowess} \arguments{ \item{formula}{ formula providing a single dependent variable (y) and an single independent variable (x) to use as coordinates in the scatter plot.} \item{data}{a data.frame (or list) from which the variables in `formula' should be taken.} \item{subset}{ an optional vector specifying a subset of observations to be used in the fitting process. } \item{x, y}{vectors giving the coordinates of the points in the scatter plot. Alternatively a single plotting structure can be specified.} \item{f}{the smoother span. This gives the proportion of points in the plot which influence the smooth at each value. Larger values give more smoothness.} \item{iter}{the number of robustifying iterations which should be performed. Using smaller values of \code{iter} will make \code{lowess} run faster.} \item{delta}{values of \code{x} which lie within \code{delta} of each other replaced by a single value in the output from \code{lowess}.} \item{...}{parameters for methods.} \item{col.lowess, lty.lowess}{color and line type for plotted line} } \description{ The \code{lowess} function performs the computations for the \emph{LOWESS} smoother (see the reference below). \code{lowess} returns a an object containing components \code{x} and \code{y} which give the coordinates of the smooth. The smooth can then be added to a plot of the original points with the function \code{lines}. Alternatively, \code{plot} can be called directly on the object returned from \code{lowess} and the 'lowess' method for \code{plot} will generate a scatterplot of the original data with a \code{lowess} line superimposed. Finally, the \code{plotLowess} function both calculates the \code{lowess} smooth and plots the original data with a \code{lowess} smooth. } \references{ Cleveland, W. S. (1979) Robust locally weighted regression and smoothing scatterplots. \emph{J. Amer. Statist. Assoc.} \bold{74}, 829--836. Cleveland, W. S. (1981) LOWESS: A program for smoothing scatterplots by robust locally weighted regression. \emph{The American Statistician}, \bold{35}, 54. } \seealso{\code{\link{loess}} (in package \code{modreg}), a newer formula based version of \code{lowess} (with different defaults!). } \examples{ data(cars) # # x,y method # plot(cars$speed, cars$dist, main="lowess(cars)") lines(lowess(cars$speed, cars$dist), col=2) lines(lowess(cars$speed, cars$dist, f=.2), col=3) legend(5, 120, c(paste("f=", c("2/3", ".2"))), lty=1, col=2:3) # # formula method: plot, then calculate the lowess smoother, # then add smooth to the plot # plot(dist ~ speed, data=cars, main="lowess(cars)") lines(lowess(dist ~ speed, data=cars), col=2, lty=2) lines(lowess(dist ~ speed, data=cars, f=.2), col=3) # smaller bandwith legend(5, 120, c(paste("f=", c("2/3", ".2"))), lty=1, col=2:3) # # formula method: calculate lowess() smoother, then call plot() # on the lowess object # lw <- lowess(dist ~ speed, data=cars) plot(lw, main="lowess(cars)" ) # # formula method: calculate and plot in a single command # plotLowess(dist ~ speed, data=cars, main="lowess(cars)") \dontshow{ # test non-standard evaluation with(cars, plotLowess(dist ~ speed, main="lowess(cars)") ) with(cars, plot(lowess(dist ~ speed, main="lowess(cars)") ) ) idx <- cars$speed > 10 plotLowess(dist[idx] ~ speed[idx], data=cars, main="lowess(cars)") plot(lowess(dist[idx] ~ speed[idx], data=cars, main="lowess(cars)")) with(cars, plotLowess(dist[idx] ~ speed[idx], main="lowess(cars)") ) with(cars, plot(lowess(dist[idx] ~ speed[idx], main="lowess(cars)") )) local({ dist <- cars$dist speed <- cars$speed plotLowess(dist[idx] ~ speed[idx], main="lowess(cars)") plot(lowess(dist[idx] ~ speed[idx], main="lowess(cars)")) }) } % dontshow } \keyword{smooth} gplots/man/col2hex.Rd0000644000176200001440000000073412471456254014206 0ustar liggesusers\name{col2hex} \alias{col2hex} \title{Convert color names to hex RGB strings} \description{ Convert color names to hex RGB strings } \usage{ col2hex(cname) } \arguments{ \item{cname}{Color name(s)} } \value{ Character vector giving the hex color code translation of the provided color names. } \author{Gregory R. Warnes} \seealso{ \code{\link{col2rgb}}, \code{\link{colors}}, \code{\link{rgb}} } \examples{ col2hex(c("red","yellow","lightgrey")) } \keyword{color} gplots/man/lmplot2.Rd0000644000176200001440000000471212521207034014215 0ustar liggesusers\name{lmplot2} \alias{lmplot2} \title{ Plots to assess the goodness of fit for the linear model objects } \description{ Plots to assess the goodness of fit for the linear model objects } \usage{ lmplot2( x, which = 1:5, caption = c("Residuals vs Fitted", "Normal Q-Q plot", "Scale-Location plot", "Cook's distance plot"), panel = panel.smooth, sub.caption = deparse(x$call), main = "", ask = interactive() && nb.fig < length(which) && .Device != "postscript", ..., id.n = 3, labels.id = names(residuals(x)), cex.id = 0.75, band=TRUE, rug=TRUE, width=1/10, max.n=5000 ) } \arguments{ \item{x}{lm object} \item{which}{Numerical values between 1 and 5, indicating which plots to be shown. The codes are: \describe{ \item{1}{Fitted vs residuals} \item{2}{Normal Q-Q} \item{3}{Scale-Location} \item{4}{Cook's distance} \item{5}{Residuals vs. predictor} } } \item{caption}{ Caption for each type of plot} \item{panel}{ function to draw on the existing plot} \item{sub.caption}{ SubCaption for the plots } \item{main}{Main title of the plot} \item{ask}{whether interactive graphics} \item{\dots}{ parameters passed to \code{lmplot2}. } \item{id.n}{ integer value, less than or equal to residuals of lm object } \item{labels.id}{Names of the residuals of the lm object} \item{cex.id}{Parameter to control the height of text stringsx} \item{band}{logical vector indicating whether bandplot should also be plotted } \item{rug}{logical vector indicating whether rug should be added to the existing plot } \item{width}{Fraction of the data to use for plot smooths} \item{max.n}{Maximum number of points to display in plots} } \note{ This function replaces \code{plot.lm2}, which has been deprecated to avoid potential problems with S3 method dispatching. } \author{Gregory R. Warnes \email{greg@warnes.net} and Nitin Jain \email{nitin.jain@pfizer.com}} \seealso{ \code{\link[stats]{plot.lm}} } \examples{ ctl <- rnorm(100, 4) trt <- rnorm(100, 4.5) group <- gl(2,100,200, labels=c("Ctl","Trt")) weight <- c(ctl, trt) wt.err <- rnorm(length(weight), mean=weight, sd=1/2) x <- lm(weight ~ group + wt.err) lmplot2(x) lmplot2(x, which=1, width=1/3) lmplot2(x, which=1:3, width=1/3) } \keyword{hplot} gplots/man/sinkplot.Rd0000644000176200001440000000331212521207034014462 0ustar liggesusers\name{sinkplot} \alias{sinkplot} \title{Send textual R output to a graphics device} \description{ Divert R's standard text output to a graphics device. } \usage{ sinkplot(operation = c("start", "plot", "cancel"), ...) } \arguments{ \item{operation}{See below} \item{\dots}{Plot arguments. (Ignored unless \code{operation}="plot").} } \details{ This function allows the printed output of R commands to be captured and displayed on a graphics device. The capture process is started by calling \code{sinkplot("start")}. Now R commands can be executed and all printed output (except errors) will be captured. When the desired text has been captured \code{sinkplot("plot")} can be called to actually display the output. \code{sinkplot("cancel")} can be used to abort the output capture without plotting. The current implementation does not allow \code{sinkplot} to be nested. } \value{ Invisibly returns a character vector containing one element for each line of the captured output. } \references{Functionality requested by Kevin Wright \email{kwright@eskimo.com} in the R-devel newlist posting \url{https://stat.ethz.ch/pipermail/r-devel/2004-January/028483.html}. } \author{ Gregory R. Warnes \email{greg@warnes.net} } \seealso{ \code{\link[utils]{capture.output}}, \code{\link{textplot}} } \examples{ set.seed(12456) x <- factor(sample( LETTERS[1:5], 50, replace=TRUE)) y <- rnorm(50, mean=as.numeric(x), sd=1) ## construct a figure showing a box plot of the data, followed by an ## analysis of variance table for the data layout(cbind(1:2), heights=c(2,1)) boxplot(y~x, col="darkgreen") sinkplot() anova(lm(y~x)) sinkplot("plot",col="darkgreen") } \keyword{hplot} gplots/man/ooplot.Rd0000644000176200001440000002500413727072327014153 0ustar liggesusers\name{ooplot.default} \alias{ooplot.default} \alias{ooplot} \title{Create an OpenOffice style plot} \description{ An extension of barplot2. Creates bar- and line-plots mimicking the style of OpenOffice plots. This utility can plot the values next to each point or bar as well as confidence intervals. } \usage{ ooplot(data, ...) \method{ooplot}{default}(data, width=1, space=NULL, names.arg=NULL, legend.text=NULL, horiz=FALSE, density=NULL, angle=45, kmg="fpnumkMGTP", kmglim=TRUE, type=c("xyplot", "linear", "barplot", "stackbar"), col=heat.colors(NC), prcol=NULL, border=par("fg"), main=NULL, sub=NULL, xlab=NULL, ylab=NULL, xlim=NULL, ylim=NULL, xpd=TRUE, log="", axes=TRUE, axisnames=TRUE, prval=TRUE, lm=FALSE, cex.axis=par("cex.axis"), cex.names=par("cex.axis"), cex.values=par("cex"),inside=TRUE, plot=TRUE, axis.lty=0, plot.ci=FALSE, ci.l=NULL, ci.u=NULL, ci.color="black", ci.lty="solid", ci.lwd=1, plot.grid=FALSE, grid.inc=NULL, grid.lty="dotted", grid.lwd=1, grid.col="black", add=FALSE, by.row=FALSE, ...) } \arguments{ \item{data}{a matrix of values describing the values that make up the plot. The first column of \code{data} is taken as the axis against which all the other values are plotted. The first column of \code{data} may not be sparse.} \item{width}{optional vector of barwidths. Re-cycled to the number of bars drawn. A single value will have no visible effect. } \item{space}{ the amount of space left before each bar. May be given as a single number or one number per bar. If \code{type} is \code{stackbar}, \code{space} may be specified by two numbers, where the first is the space between bars in the same group, and the second the space between groups. Defaults to \code{c(0,1)} if \code{type} is a \code{stackbar}, and to 0.2 otherwise. } \item{names.arg}{a vector of names to be plotted below each bar or group of bars. If this argument is omitted, then the names are taken from the row names of \code{data}. } \item{legend.text}{a vector of text used to construct a legend for the plot, or a logical indicating whether a legend should be included; if \code{legend.text} is true, the row names of \code{data} will be used as labels if they are non-null.} \item{horiz}{a logical value. If \code{FALSE}, the bars are drawn vertically with the first bar to the left. If \code{TRUE}, the bars are drawn horizontally with the first at the bottom.} \item{density}{a vector giving the the density of shading lines, in lines per inch, for the bars or bar components. The default value of \code{NULL} means that no shading lines are drawn. Non-positive values of \code{density} also inhibit the drawing of shading lines.} \item{angle}{the slope of shading lines, given as an angle in degrees (counter-clockwise), for the bars or bar components.} \item{kmg}{the set of SI units to convert, defaults to "fpnumkMGTP". See below for details. } \item{kmglim}{logical. If \code{FALSE} the conversion to SI units is not performed. Default is \code{TRUE}. } \item{type}{a string indicating the preferred format of the plot, choices are: xyplot : plot where y is plotted against the x-value. linear : plot where y values are plotted against equidistant x-values. barplot : plot where y values are represented as bars against equidistant x-values. stackplot : plot where y values are stacked for identical x-values and bars are equidistant. } \item{col}{a vector of colors for the bars or bar components.} \item{prcol}{the color to be used for the plot region.} \item{border}{the color to be used for the border of the bars.} \item{main, sub}{overall and sub titles for the plot.} \item{xlab}{a label for the x axis.} \item{ylab}{a label for the y axis.} \item{xlim}{limits for the x axis.} \item{ylim}{limits for the y axis.} \item{xpd}{logical. Should bars be allowed to go outside region?} \item{log}{a character string which contains `"x"' if the x axis is to be logarithmic, `"y"' if the y axis is to be logarithmic and `"xy"' or `"yx"' if both axes are to be logarithmic.} \item{axes}{logical. If \code{TRUE}, a vertical (or horizontal, if \code{horiz} is true) axis is drawn.} \item{axisnames}{logical. If \code{TRUE}, and if there are \code{names.arg} (see above), the other axis is drawn (with \code{lty=0}) and labeled.} \item{prval}{logical. If \code{TRUE}, then values are plotted above all points and bars. } \item{lm}{logical. If \code{TRUE}, the linear fit is plotted. } \item{cex.axis, cex.names, cex.values}{character scaling factor for numeric axis labels, names, and displayed values, respectively.} \item{inside}{logical. If \code{TRUE}, the lines which divide adjacent (non-stacked!) bars will be drawn. Only applies when \code{space = 0} (which it partly is when \code{beside = TRUE}).} \item{plot}{logical. If \code{FALSE}, nothing is plotted.} \item{axis.lty}{the graphics parameter \code{lty} applied to the axis and tick marks of the categorical (default horzontal) axis. Note that by default the axis is suppressed.} \item{plot.ci}{logical. If \code{TRUE}, confidence intervals are plotted over the bars. Note that if a stacked bar plot is generated, confidence intervals will not be plotted even if \code{plot.ci = TRUE}} \item{ci.l,ci.u}{The confidence intervals (ci.l = lower bound, ci.u = upper bound) to be plotted if \code{plot.ci} = \code{TRUE}. Values must have the same dim structure as \code{height}.} \item{ci.color}{the color for the confidence interval line segments} \item{ci.lty}{the line type for the confidence interval line segments} \item{ci.lwd}{the line width for the confidence interval line segments} \item{plot.grid}{if \code{TRUE} a lined grid will be plotted behind the bars} \item{grid.inc}{the number of grid increments to be plotted} \item{grid.lty}{the line type for the grid} \item{grid.lwd}{the line width for the grid} \item{grid.col}{the line color for the grid} \item{add}{logical, if \code{TRUE} add barplot to current plot.} \item{by.row}{Logical value. If \code{TRUE} the data matrix is organized with variables along rows rather than down colums.} \item{\dots}{further graphical parameters (\code{\link{par}}) are passed to \code{\link{plot.window}()}, \code{\link{title}()} and \code{\link{axis}}.} } \details{ Plot units are automatically scaled to SI units based on the maximum value present, according to the set of units specified by characters in the \code{kmg} parameter. These letters are interpreted as \describe{ \item{P}{peta = 1E15} \item{T}{tera = 1E12} \item{G}{giga = 1E09} \item{M}{mega = 1E06} \item{k}{kilo = 1E03} \item{m}{milli= 1E-03} \item{u}{micro= 1E-06} \item{n}{nano = 1E-09} \item{p}{pico = 1E-12} \item{f}{femto= 1E-15} } with the default being "fpnumkMGTP" (all of these units). For example, if the largest value plotted is 1243000, it would be presented as 1.234M. } \value{ A numeric vector (or matrix, when \code{beside = TRUE}), say \code{mp}, giving the coordinates of \emph{all} the bar midpoints drawn, useful for adding to the graph. If \code{beside} is true, use \code{colMeans(mp)} for the midpoints of each \emph{group} of bars, see example. } \author{Lodewijk Bonebakker \email{bonebakker@comcast.net} with modifications by Gregory R. Warnes \email{greg@warnes.net}. Based on barplot2(). } \seealso{ \code{\link{plot}}, \code{\link{boxplot}} } \examples{ data(VADeaths, package = "datasets") VADeaths <- cbind( Age=c(50,55,60,65,70), VADeaths) mp <- ooplot(VADeaths) # default mp <- ooplot(VADeaths, type="xyplot") # same as default mp <- ooplot(VADeaths, type="linear") # linear scale mp <- ooplot(VADeaths, type="linear", log="y") # log scale on y axis mp <- ooplot(VADeaths, type="barplot") # barplot mp <- ooplot(VADeaths, type="stackbar") # stacked tot <- colMeans(VADeaths[,-1]) ooplot(VADeaths, col = c("lightblue", "mistyrose", "lightcyan", "lavender"), legend = colnames(VADeaths)[-1], ylim = c(0, 100), type="barplot", cex.values=0.75) title(main = "Death Rates in Virginia", font.main = 4) ## ## Capability demo ## ## examples for the ooplot routine ## ## create some test data test1 <- data.frame(x=c(0,1,2,3,4), lin=c(0,1,2,3,4)) test2 <- data.frame(x=c(0,1,2,3,4), par=c(0,1,4,9,16)) test3 <- data.frame(x=c(-2,-1,0,1,2),y2=c(4,1,0,1,4)) ## single line test example test1f <- test1 ## two column example test2f <- merge(test1,test2,by.x="x",all=TRUE,sort=TRUE) ## three column example test3f <- merge(test2f,test3,by.x="x",all=TRUE,sort=TRUE) ## subset, single row, example test5r <- test3f[5,] ## ## xyplot, linear, barplot, stackbar dev.off() mat <- matrix(c(1:16),4,4,byrow=TRUE) layout(mat) ooplot(test1f,type="barplot",col=c("red")) title(main="barplot") ooplot(test2f,type="barplot",col=c("red","blue")) ooplot(test3f,type="barplot",col=c("red","blue","green")) ooplot(test5r,type="barplot",col=c("red","blue","green")) ooplot(test1f,type="xyplot",col=c("red")) title(main="xyplot") ooplot(test2f,type="xyplot",col=c("red","blue")) ooplot(test3f,type="xyplot",col=c("red","blue","green")) ooplot(test5r,type="xyplot",col=c("red","blue","green")) ooplot(test1f,type="linear",col=c("red")) title(main="linear") ooplot(test2f,type="linear",col=c("red","blue")) ooplot(test3f,type="linear",col=c("red","blue","green")) ooplot(test5r,type="linear",col=c("red","blue","green")) ooplot(test1f,type="stackbar",col=c("red")) title(main="stackbar") ooplot(test2f,type="stackbar",col=c("red","blue")) ooplot(test3f,type="stackbar",col=c("red","blue","green")) ooplot(test5r,type="stackbar",col=c("red","blue","green")) # restore default layout (1 plot/page) layout(1) } \keyword{hplot} gplots/man/adjust_hsv.Rd0000644000176200001440000000175614700154745015016 0ustar liggesusers\name{adjust_hsv} \alias{adjust_hsv} \title{Adjust Color in HSV Space} \description{Adjust color hue, saturation, and/or alpha value.} \usage{ adjust_hsv(col, h=NULL, s=NULL, v=NULL, alpha=NULL) } \arguments{ \item{col}{a color or vector of colors.} \item{h}{the desired hue.} \item{s}{the desired saturation.} \item{v}{the desired value.} \item{alpha}{the desired transparency.} } \details{ Colors can be specified as a color name, a hexadecimal string, or an integer. Hue, saturation, value, and transparency are specified as values from 0 to 1, or \code{NULL} to leave unchanged. } \value{Adjusted colors in hexadecimal string format.} \author{Arni Magnusson.} \seealso{ \code{\link{col2rgb}}, \code{\link{rgb2hsv}}, and \code{\link{hsv}} are the underlying functions used to convert and adjust the colors. } \examples{ col <- "#123456" col2 <- adjust_hsv(col, h=0.1) col3 <- adjust_hsv(col, s=0.1) col4 <- adjust_hsv(col, v=0.7) barplot(rep(1, 4), col=c(col, col2, col3, col4)) } gplots/man/hist2d.Rd0000644000176200001440000000607712471456253014044 0ustar liggesusers% $Id: hist2d.Rd 1812 2014-04-17 19:05:11Z warnes $ \name{hist2d} \alias{hist2d} \alias{print.hist2d} \title{ Compute and Plot a 2-Dimensional Histogram } \description{ Compute and plot a 2-dimensional histogram. } \usage{ hist2d(x,y=NULL, nbins=200, same.scale=FALSE, na.rm=TRUE, show=TRUE, col=c("black", heat.colors(12)), FUN=base::length, xlab, ylab, ... ) \method{print}{hist2d}(x, ...) } \arguments{ \item{x}{either a vector containing the x coordinates or a matrix with 2 columns. } \item{y}{a vector contianing the y coordinates, not required if `x' is matrix} \item{nbins}{number of bins in each dimension. May be a scalar or a 2 element vector. Defaults to 200.} \item{same.scale}{use the same range for x and y. Defaults to FALSE.} \item{na.rm}{ Indicates whether missing values should be removed. Defaults to TRUE.} \item{show}{ Indicates whether the histogram be displayed using \code{image} once it has been computed. Defaults to TRUE.} \item{col}{ Colors for the histogram. Defaults to "black" for bins containing no elements, a set of 16 heat colors for other bins.} \item{FUN}{Function used to summarize bin contents. Defaults to \code{base::length}. Use, e.g., \code{mean} to calculate means for each bin instead of counts.} \item{xlab,ylab}{(Optional) x and y axis labels} \item{\dots}{ Parameters passed to the image function. } } \details{ This fucntion creates a 2-dimensional histogram by cutting the x and y dimensions into \code{nbins} sections. A 2-dimensional matrix is then constucted which holds the counts of the number of observed (x,y) pairs that fall into each bin. If \code{show=TRUE}, this matrix is then then passed to \code{image} for display. } \value{ A list containing 5 elements: \item{counts}{Matrix containing the number of points falling into each bin} \item{x.breaks, y.breaks}{Lower and upper limits of each bin} \item{x,y}{midpoints of each bin} } \author{ Gregory R. Warnes \email{greg@warnes.net}} \seealso{ \code{\link{image}}, \code{\link{persp}}, \code{\link{hist}}, \code{\link[r2d2]{freq2d}} } \examples{ ## example data, bivariate normal, no correlation x <- rnorm(2000, sd=4) y <- rnorm(2000, sd=1) ## separate scales for each axis, this looks circular hist2d(x,y) ## same scale for each axis, this looks oval hist2d(x,y, same.scale=TRUE) ## use different ## bins in each dimension hist2d(x,y, same.scale=TRUE, nbins=c(100,200) ) ## use the hist2d function to create an h2d object h2d <- hist2d(x,y,show=FALSE, same.scale=TRUE, nbins=c(20,30)) ## show object summary h2d ## object contents str(h2d) ## perspective plot persp( h2d$x, h2d$y, h2d$counts, ticktype="detailed", theta=30, phi=30, expand=0.5, shade=0.5, col="cyan", ltheta=-30) ## for contour (line) plot ... contour( h2d$x, h2d$y, h2d$counts, nlevels=4 ) ## for a filled contour plot ... filled.contour( h2d$x, h2d$y, h2d$counts, nlevels=4, col=gray((4:0)/4) ) } \keyword{dplot} \keyword{hplot} gplots/man/bubbleplot.Rd0000644000176200001440000001052614676043125014772 0ustar liggesusers\name{bubbleplot} \alias{bubbleplot} \alias{bubbleplot.default} \alias{bubbleplot.formula} \title{Bubble Plot} \description{ Draw a bubble plot, a scatterplot with varying symbol sizes and colors, or add points to existing plots. A variety of input formats are supported, including vectors, matrices, data frames, formulas, etc. } \usage{ bubbleplot(x, \dots) \method{bubbleplot}{default}(x, y, z, std=TRUE, pow=0.5, add=FALSE, rev=FALSE, type="p", ylim=NULL, xlab=NULL, ylab=NULL, pch=c(16,1), cex.points=1, col="black", bg=par("bg"), \dots) \method{bubbleplot}{formula}(formula, data, subset, na.action=NULL, \dots) } \arguments{ \item{x}{a vector of values for the horizontal axis. Can also be a 2-dimensional matrix or table (x values in column names and y values in row names), or a data frame containing \code{x}, \code{y}, and \code{z} in that order. If the data frame contains column names \code{x}, \code{y}, and \code{z} then they will be used for plotting.} \item{\dots}{passed to \code{plot} and \code{points}.} \item{y}{a vector of values for the vertical axis.} \item{z}{a vector of values determining the bubble sizes.} \item{std}{whether to standardize the \code{z} values.} \item{pow}{a power coefficient for the bubble sizes.} \item{add}{whether to add bubbles to an existing plot.} \item{rev}{whether to reverse the y axis.} \item{type}{passed to \code{points}.} \item{ylim}{passed to \code{plot}.} \item{xlab, ylab}{passed to \code{plot}.} \item{pch}{passed to \code{points}.} \item{cex.points}{scales all bubble sizes.} \item{col, bg}{passed to \code{points}.} \item{formula}{has the form \code{z ~ x + y}, where \code{z} determines the bubble sizes and \code{x} and \code{y} determine bubble locations.} \item{data}{where formula terms are stored, e.g. data frame or list.} \item{subset}{a logical vector specifying which data to plot.} \item{na.action}{how \code{NA} values are handled.} } \details{ The \code{std} standardization sets \code{z = abs(z) / mean(abs(z))}. The \code{pow = 0.5} (square root) is a good default, where a \code{z} value of 2 has twice the area of 1. See example #2 below for an exception, where the \code{z} value is tree circumference and therefore proportional to the tree diameter. The \code{pch}, \code{col}, and \code{bg} arguments can be be vectors of length 2, where positive \code{z} values are drawn with \code{pch[1]}, \code{col[1]}, \code{bg[1]} and negative \code{z} values are drawn with \code{pch[2]}, \code{col[2]}, and \code{bg[2]}. } \author{Arni Magnusson.} \seealso{ \code{\link{points}} is the underlying function used to draw the bubbles. \code{\link{symbols}} can also draw bubbles, but does not handle negative \code{z} values or have convenience features such as \code{pow} and \code{rev}. \code{\link{balloonplot}} provides an alternative interface and visual style based on tables instead of scatterplots. } \examples{ catch.t <- xtabs(Catch~Year+Age, catch.d) # example table catch.m <- as.matrix(as.data.frame(unclass(catch.t))) # example matrix # 1 Formula bubbleplot(Catch~Age+Year, data=catch.d) # Use rev=TRUE to get same layout as crosstab matrix: print(catch.m) bubbleplot(Catch~Age+Year, data=catch.d, rev=TRUE, las=1) # 2 Data frame bubbleplot(catch.d) bubbleplot(Orange) # Visualize tree transverse section at breast height bubbleplot(Orange, pow=1, cex=2, pch=21, col="darkred", bg="peru", lwd=1.5) # 3 Matrix or table bubbleplot(catch.m) bubbleplot(catch.t) # 4 Positive and negative values bubbleplot(catch.r) bubbleplot(Resid~Age+Year, catch.r, subset=Age \%in\% 4:9, rev=TRUE, xlim=c(3.5,9.5), cex=1.3) # Residuals from orange tree model library(nlme) fm <- nlme(circumference~phi1/(1+exp(-(age-phi2)/phi3)), fixed=phi1+phi2+phi3~1, random=phi1~1|Tree, data=Orange, start=c(phi1=200,phi2=800,phi3=400)) bubbleplot(residuals(fm)~Tree+age, Orange) bubbleplot(residuals(fm)~Tree+age, Orange, cex=2.5, pch=16, col=c("dodgerblue","orange")) # 5 Richter magnitude, amplitude, and energy release bubbleplot(mag~long+lat, quakes, pch=1) bubbleplot(10^mag~long+lat, quakes, cex=1.2, col=gray(0, 0.3)) bubbleplot(sqrt(1000)^mag~long+lat, quakes, cex=1.2, col=gray(0, 0.3)) bubbleplot(sqrt(1000)^mag~long+lat, quakes, cex=1.2, col="#FF00004D") } gplots/man/rich.colors.Rd0000644000176200001440000000317712471456253015072 0ustar liggesusers\name{rich.colors} \alias{rich.colors} \title{Rich Color Palettes} \description{ Create a vector of \code{n} colors that are perceptually equidistant and in an order that is easy to interpret. } \usage{ rich.colors(n, palette="temperature", alpha=1.0, rgb=FALSE, plot=FALSE) } \arguments{ \item{n}{number of colors to generate.} \item{palette}{palette to use: \code{"temperature"} contains blue-green-yellow-red, and \code{"blues"} contains black-blue-white.} \item{alpha}{alpha transparency, from 0 (fully transparent) to 1 (opaque).} \item{rgb}{if \code{TRUE} then a matrix of RGBA values is included as an attribute.} \item{plot}{whether to plot a descriptive color diagram.} } \value{A character vector of color codes.} \author{Arni Magnusson.} \seealso{ \code{\link{rgb}}, \code{\link{rainbow}}, \code{\link{heat.colors}}. } \examples{ m <- abs(matrix(1:120+rnorm(120), nrow=15, ncol=8)) opar <- par(bg="gray", mfrow=c(1,2)) matplot(m, type="l", lty=1, lwd=3, col=rich.colors(8)) matplot(m, type="l", lty=1, lwd=3, col=rich.colors(8,"blues")) par(opar) barplot(rep(1,100), col=rich.colors(100), space=0, border=0, axes=FALSE) barplot(rep(1,20), col=rich.colors(40)[11:30]) # choose subset plot(m, rev(m), ylim=c(120,0), pch=16, cex=2, col=rich.colors(200,"blues",alpha=0.6)[1:120]) # semitransparent rich.colors(100, plot=TRUE) # describe rgb recipe par(mfrow=c(2,2)) barplot(m, col=heat.colors(15), main="\nheat.colors") barplot(m, col=1:15, main="\ndefault palette") barplot(m, col=rich.colors(15), main="\nrich.colors") barplot(m, col=rainbow(15), main="\nrainbow") par(opar) } % Graphics \keyword{color} gplots/man/plotmeans.Rd0000644000176200001440000001205713760442636014646 0ustar liggesusers\name{plotmeans} \alias{plotmeans} \title{Plot Group Means and Confidence Intervals} \description{Plot group means and confidence intervals.} \usage{ plotmeans(formula, data=NULL, subset, na.action, bars=TRUE, p=0.95, minsd=0, minbar, maxbar, xlab=names(mf)[2], ylab=names(mf)[1], mean.labels=FALSE, ci.label=FALSE, n.label=TRUE, text.n.label="n=", digits=getOption("digits"), col="black", barwidth=1, barcol="blue", connect=TRUE, ccol= col, legends=names(means), xaxt, use.t=TRUE, lwd=par("lwd"), ...) } \arguments{ \item{formula}{symbolic expression specifying the outcome (continuous) and grouping variable (factor). See lm() for details.} \item{data}{optional data frame containing the variables in the model.} \item{subset}{an optional vector specifying a subset of observations to be used in the fitting process.} \item{na.action}{a function which indicates what should happen when the data contain `NA's. See lm() for details. } \item{bars}{a logical value indicating whether confidence interval bars should be plotted. Defaults to TRUE.} \item{p}{confidence level for error bars. Defaults to 0.95.} \item{minsd}{minumum permitted value for the standard deviation within each factor level. Any standard deviation estimates smaller than \code{minsd} will be replaced with \code{minsd}. Defaults to 0.} \item{minbar}{minumum allowed value for bar ends. If specified, values smaller than \code{minbar} will be replaced with \code{minbar}. } \item{maxbar}{maximum allowed value for bar ends. If specified, values larger than \code{maxbar} will be replaced with \code{maxbar}. } \item{xlab}{x-axis label.} \item{ylab}{y-axis label.} \item{mean.labels}{ either a logical value indicating whether the circles representing the group means should be replaced with text giving the actual mean values or a vector containing labels to use instead. Defaults to FALSE.} \item{ci.label}{ a logical value indicating whether text giving the actual interval end values should be placed at the end of each confidence interval bar. Defaults to FALSE.} \item{n.label}{ a logical value indicating whether text giving the number of observations in each group should should be added to the plot. } \item{text.n.label}{Prefix text for labeling observation counts. Defaults to "n=". } \item{digits}{ number of significant digits to use when displaying mean or confidince limit values.} \item{col}{ color of cicles marking group means. Default is "black".} \item{barwidth}{ linewidth of interval bars and end marks. Default is 1.} \item{barcol}{ color of interval bars and end marks. Default is "blue".} \item{connect}{ either a logical value indicating whether the means of each group should be connected by a line, or a list of vectors giving the index of bars that should be connected by a line. Defaults to TRUE.} \item{ccol}{ color of lines used to connect means. Defaults to the same color as "col".} \item{legends}{ vector containing strings used to label groups along the x axis. Defaults to group names.} \item{xaxt}{A character which specifies the axis type. Specifying `"n"' causes an axis to be set up, but not plotted.} \item{use.t}{ a logical value indicating whether the t distribution should be used to compute confidence intervals. If \code{TRUE}, the default, a t distribution will the correct number of degrees of freedom for each group be used. If \code{FALSE}, the a normal distribution will be used.} \item{lwd}{Width of connecting lines } \item{\dots}{ optional plotting parameters. } } %\details{ % % %} \examples{ # library(gplots) # show comparison with boxplot data(state) plotmeans(state.area ~ state.region) # show some color and mean labels plotmeans(state.area ~ state.region, mean.labels=TRUE, digits=-3, col="red", connect=FALSE) # show how to specify which means should be connected plotmeans(state.area ~ state.region, connect=list(1:2, 3:4), ccol="red", pch=7 ) # more complicated example showing how to show an interaction data(esoph) par(las=2, # use perpendicular axis labels mar=c(10.1,4.1,4.1,2.1), # create enough space for long x labels mgp=c(8,1,0) # move x axis legend down to avoid overlap ) plotmeans(ncases/ncontrols ~ interaction(agegp , alcgp, sep =" "), connect=list(1:6,7:12,13:18,19:24), barwidth=2, col="dark green", data=esoph, xlab="Age Group and Alcohol Consumption", ylab="# Cases / # Controls", ylim = c(-.9,1.4), main=c("Fraction of Cases for by Age and Alcohol Consumption", "Ile-et-Vilaine Esophageal Cancer Study") ) abline(v=c(6.5, 12.5, 18.5), lty=2) } \author{Gregory R. Warnes \email{greg@warnes.net}} \seealso{\code{\link{plotCI}}, \code{\link{boxplot}}} \keyword{hplot} gplots/man/space.Rd0000644000176200001440000000630612471456253013735 0ustar liggesusers% $Id: space.Rd 1441 2010-06-11 03:11:54Z warnes $ % % $Log$ % Revision 1.9 2005/09/12 15:44:37 nj7w % Updated Greg's email % % Revision 1.8 2005/06/09 14:20:28 nj7w % Updating the version number, and various help files to synchronize splitting of gregmisc bundle in 4 individual components. % % Revision 1.1.1.1 2005/05/25 22:15:31 nj7w % Initial submission as an individual package % % Revision 1.7 2004/04/13 13:42:31 warnes % Add ability to space points along 'y' direction. % % Revision 1.6 2003/01/03 19:23:34 warnes % - Added reference to and comparison example of sunflowerplot. % - Added code to put example plots on same plot window using par(mfrow=...). % % Revision 1.5 2002/09/23 13:59:30 warnes % - Modified all files to include CVS Id and Log tags. % % \name{space} \alias{space} \title{Space points in an x-y plot so they don't overlap.} \description{ Space points in an x-y plot so they don't overlap. } \usage{ space(x, y, s=1/50, na.rm=TRUE, direction="x") } \arguments{ \item{x}{numeric vector of x coordonates.} \item{y}{numeric vector of x coordonates.} \item{s}{either a single numeric value or 2 element vector specifying the minimum distance between points in the x and y dimensions as a fraction of the x and y range. Defaults to 1/50.} \item{na.rm}{logical indicating whether pairs where one or both elements are missing should be removed. Defaults to TRUE.} \item{direction}{"x" or "y", indicating which direction points should be moved to accomplish spacine.} } \details{ In an x-y plot where at least one variable has discrete levels several points may be plotted at or very near the same coordonates. This makes it difficult to guage the number of points in a specific region. A common method of resolving this problem is to 'jitter' the points by adding random noise. This function takes a different approach to the same problem. When there are two or more points with the same (x,y) value (or within x+-s[1] and x+-s[2]), it spaces these out in the x direction so that the points are separated by at least distance s. Another method for dealing with overploting is available in the \code{\link{sunflowerplot}} function. } \value{ list with two components \item{x}{(modified) x location for each input point} \item{y}{y location of each input point} } \author{ Gregory R. Warnes \email{greg@warnes.net} } \seealso{ \code{\link{jitter}}, \code{\link{sunflowerplot}} } \examples{ x <- rep(1:5, 10) y <- round(rnorm(length(x),x)) prepar <- par("mfrow") par(mfrow=c(1,3)) # standard x-y plot: noverlapping points are hidden plot(x,y) title("Standard Plot") # 'spaced' plot: overlapping points are spread out and visible plot(space(x,y)) title("Plot with 'space'") # 'spaced' plot: overlapping points are spread out along y and visible plot(space(x,y, direction='y')) title("Plot with 'space', direction='y' ") # 'sunflower' plot, another approach, overlapping points are # indicated via petals sunflowerplot(x,y) title("Sunflower Plot") \testonly{ # check that missign values correctly handled x <- c(x,NA) y <- c(y,NA) plot(space(x,y)) } par(mfrow=prepar) } \keyword{ dplot } gplots/man/catch.d.Rd0000644000176200001440000000250214676043125014137 0ustar liggesusers\name{catch.d} \alias{catch.d} \alias{catch.r} \docType{data} \title{Catch at Age and Residuals} \description{ Catch-at-age observed data and model residuals from Icelandic saithe assessment. } \usage{ catch.d catch.r } \format{ Data frame containing three columns: \tabular{ll}{ \code{Year} \tab year\cr \code{Age} \tab age\cr and\cr \code{Catch} \tab catch (thousands of individuals)\cr or\cr \code{Resid} \tab standardized residual } } \details{ The data are from Tables 8.2 and 8.6 in the ICES (2015) fish stock assessment of Icelandic saithe. } \source{ ICES (2015) Report of the North-Western Working Group (NWWG). \emph{ICES CM 2015/ACOM:07}, pp. 240--246. } \seealso{ \code{\link{bubbleplot}} is an effective way to visualize these data. } \examples{ catch.t <- xtabs(Catch~Year+Age, catch.d) catch.m <- as.matrix(as.data.frame(unclass(catch.t))) # 1 Formula bubbleplot(Catch~Age+Year, data=catch.d) # Use rev=TRUE to get same layout as crosstab matrix: print(catch.m) bubbleplot(Catch~Age+Year, data=catch.d, rev=TRUE, las=1) # 2 Data frame bubbleplot(catch.d) # 3 Matrix or table bubbleplot(catch.m) bubbleplot(catch.t) # 4 Positive and negative values bubbleplot(catch.r) bubbleplot(Resid~Age+Year, catch.r, subset=Age \%in\% 4:9, rev=TRUE, xlim=c(3.5,9.5), cex=1.3) } gplots/man/venn.Rd0000644000176200001440000001111414676043125013600 0ustar liggesusers\name{venn} \alias{venn} \alias{plot.venn} \title{Plot a Venn diagram} \description{ Plot a Venn diagrams for up to 5 sets } \usage{ venn(data, universe=NA, small=0.7, showSetLogicLabel=FALSE, simplify=FALSE, show.plot=TRUE, intersections=TRUE, names, ...) \method{plot}{venn}(x, y, ..., small=0.7, showSetLogicLabel=FALSE, simplify=FALSE) } \arguments{ \item{data,x}{Either a list list containing vectors of names or indices of group intersections, or a data frame containing boolean indicators of group intersectionship (see below)} \item{universe}{Subset of valid name/index elements. Values ignore values in \code{data} not in this list will be ignored. Use \code{NA} to use all elements of \code{data} (the default).} \item{small}{Character scaling of the smallest group counts} \item{showSetLogicLabel}{Logical flag indicating whether the internal group label should be displayed} \item{simplify}{Logical flag indicating whether unobserved groups should be omitted.} \item{show.plot}{Logical flag indicating whether the plot should be displayed. If false, simply returns the group count matrix.} \item{intersections}{Logical flag indicating if the returned object should have the attribute "individuals.in.intersections" featuring for every set a list of individuals that are assigned to it.} \item{y}{Ignored} \item{...}{Optional graphical parameters.} \item{names}{Optional vector of group names.} } \details{ \code{data} should be either a named list of vectors containing character string names ("GeneAABBB", "GeneBBBCY", .., "GeneXXZZ") or indexes of group intersections (1, 2, .., N), or a data frame containing indicator variables (TRUE, FALSE, TRUE, ..) for group intersectionship. Group names will be taken from the component list element or column names. } \value{ Invisibly returns an object of class "venn", containing: \itemize{ \item A matrix of all possible sets of groups, and the observed count of items belonging to each The fist column contains observed counts, subsequent columns contain 0-1 indicators of group intersectionship. \item If \code{intersections=TRUE}, the attribute \code{intersections} will be a list of vectors containing the names of the elements belonging to each subset. } } \author{ Steffen Moeller, with cleanup and packaging by Gregory R. Warnes. } \examples{ ## ## Example using a list of item names belonging to the ## specified group. ## ## construct some fake gene names.. oneName <- function() paste(sample(LETTERS,5,replace=TRUE),collapse="") geneNames <- replicate(1000, oneName()) ## GroupA <- sample(geneNames, 400, replace=FALSE) GroupB <- sample(geneNames, 750, replace=FALSE) GroupC <- sample(geneNames, 250, replace=FALSE) GroupD <- sample(geneNames, 300, replace=FALSE) input <-list(GroupA,GroupB,GroupC,GroupD) input tmp <- venn(input) attr(tmp, "intersections") ## ## Example using a list of item indexes belonging to the ## specified group. ## GroupA.i <- which(geneNames \%in\% GroupA) GroupB.i <- which(geneNames \%in\% GroupB) GroupC.i <- which(geneNames \%in\% GroupC) GroupD.i <- which(geneNames \%in\% GroupD) input.i <-list(A=GroupA.i,B=GroupB.i,C=GroupC.i,D=GroupD.i) input.i venn(input.i) ## ## Example using a data frame of indicator ('f'lag) columns ## GroupA.f <- geneNames \%in\% GroupA GroupB.f <- geneNames \%in\% GroupB GroupC.f <- geneNames \%in\% GroupC GroupD.f <- geneNames \%in\% GroupD input.df <- data.frame(A=GroupA.f,B=GroupB.f,C=GroupC.f,D=GroupD.f) head(input.df) venn(input.df) ## smaller set to create empty groupings small <- input.df[1:20,] venn(small, simplify=FALSE) # with empty groupings venn(small, simplify=TRUE) # without empty groupings ## Capture group counts, but don't plot tmp <- venn(input, show.plot=FALSE) tmp ## Show internal binary group labels venn(input, showSetLogicLabel=TRUE) ## Limit universe tmp <- venn(input, universe=geneNames[1:100]) tmp ## ## Example to determine which elements are in A and B but not in ## C and D using the 'intersections' attribute. ## tmp <- venn(input, intersection=TRUE) isect <- attr(tmp, "intersection") # Look at all of the subsets str(isect) # Extract and combine the subsets of interest.. AandB <- unique(c(isect$A, isect$B, isect$'A:B')) # and look at the results str(AandB) ## ## The full set of elements of each intersection is provided in the ## "interesections" attribute. ## a<-venn(list(1:5,3:8), show.plot=FALSE) intersections<-attr(a,"intersections") print(intersections) # $A # [1] "1" "2" # # $B # [1] "6" "7" "8" # # $`A:B` # [1] "3" "4" "5" } \keyword{hplot} gplots/man/balloonplot.Rd0000644000176200001440000001747314676043125015175 0ustar liggesusers\name{balloonplot} \alias{balloonplot} \alias{balloonplot.default} \alias{balloonplot.table} \title{Plot a graphical matrix where each cell contains a dot whose size reflects the relative magnitude of the corresponding component.} \description{ Plot a graphical matrix where each cell contains a dot whose size reflects the relative magnitude of the corresponding component. } \usage{ balloonplot(x, ...) \method{balloonplot}{table}(x, xlab, ylab, zlab, show.zeros=FALSE,show.margins=TRUE,...) \method{balloonplot}{default}(x,y,z, xlab, ylab, zlab=deparse(substitute(z)), dotsize=2/max(strwidth(19),strheight(19)), dotchar=19, dotcolor="skyblue", text.size=1, text.color=par("fg"), main, label=TRUE, label.digits=2, label.size=1, label.color=par("fg"), scale.method=c("volume","diameter"), scale.range=c("absolute","relative"), colsrt=par("srt"), rowsrt=par("srt"), colmar=1, rowmar=2, show.zeros=FALSE, show.margins=TRUE, cum.margins=TRUE, sorted=TRUE, label.lines=TRUE, fun=function(x)sum(x,na.rm=T), hide.duplicates=TRUE, ... ) } \arguments{ \item{x}{A table object, or either a vector or a list of several categorical vectors containing grouping variables for the first (x) margin of the plotted matrix.} \item{y}{Vector or list of vectors for grouping variables for the second (y) dimension of the plotted matrix.} \item{z}{Vector of values for the size of the dots in the plotted matrix.} \item{xlab}{Text label for the x dimension. This will be displayed on the x axis and in the plot title.} \item{ylab}{Text label for the y dimension. This will be displayed on the y axis and in the plot title.} \item{zlab}{Text label for the dot size. This will be included in the plot title.} \item{dotsize}{Maximum dot size. You may need to adjust this value for different plot devices and layouts.} \item{dotchar}{Plotting symbol or character used for dots. See the help page for the points function for symbol codes.} \item{dotcolor}{Scalar or vector specifying the color(s) of the dots in the plot.} \item{text.size, text.color}{Character size and color for row and column headers} \item{main}{Plot title text.} \item{label}{Boolean flag indicating whether the actual value of the elements should be shown on the plot.} \item{label.digits}{Number of digits used in formatting value labels.} \item{label.size, label.color}{ Character size and color for value labels.} \item{scale.method}{Method of scaling the sizes of the dot, either "volume" or "diameter". See below.} \item{scale.range}{Method for scaling original data to compute circle diameter. \code{scale.range="absolute"} scales the data relative to 0 (i.e, maps [0,max(z)] --> [0,1]), while \code{scale.range="relative"} scales the data relative to min(z) (i.e. maps [min(z), max(z)] --> [0,1]).} \item{rowsrt, colsrt}{Angle of rotation for row and column labels.} \item{rowmar, colmar}{Space allocated for row and column labels. Each unit is the width/height of one cell in the table.} \item{show.zeros}{boolean. If \code{FALSE}, entries containing zero will be left blank in the plotted matrix. If \code{TRUE}, zeros will be displayed.} \item{show.margins}{boolean. If \code{TRUE}, row and column sums are printed in the bottom and right margins, respectively.} \item{cum.margins}{boolean. If \code{TRUE}, marginal fractions are graphically presented in grey behind the row/column label area.} \item{sorted}{boolean. If \code{TRUE}, the rows will be arranged in sorted order by using the levels of the first y factor, then the second y factor, etc. The same process is used for the columns, based on the x factors} \item{label.lines}{boolean. If \code{TRUE}, borders will be drawn for row and column level headers.} \item{hide.duplicates}{boolean. If \code{TRUE}, column and row headers will omit duplicates within row/column to reduce clutter. Defaults to \code{TRUE}.} \item{fun}{function to be used to combine data elements with the same levels of the grouping variables \code{x} and \code{y}. Defaults to \code{sum}} \item{\dots}{ Additional arguments passed to \code{balloonplot.default} or \code{plot}, as appropriate.} } \details{ This function plots a visual matrix. In each \code{x},\code{y} cell a dot is plotted which reflects the relative size of the corresponding value of \code{z}. When \code{scale.method="volume"} the volume of the dot is proportional to the relative size of \code{z}. When \code{scale.method="diameter"}, the diameter of the dot is proportional to the the relative size of \code{z}. The "volume" method is default because the "diameter" method visually exaggerates differences. } \value{ Nothing of interest. } \note{ \code{z} is expected to be non-negative. The function will still operate correctly if there are negative values of \code{z}, but the corresponding dots will have 0 size and a warning will be generated. } \references{Function inspired by question posed on R-help by Ramon Alonso-Allende \email{allende@cnb.uam.es}.} \author{ Gregory R. Warnes \email{greg@warnes.net} } \seealso{ \code{\link{plot.table}}. \code{\link{bubbleplot}} provides an alternative interface and visual style based on scatterplots instead of tables. } \examples{ \testonly{ set.seed(12425421) } # Create an Example Data Frame Containing Car x Color data carnames <- c("bmw","renault","mercedes","seat") carcolors <- c("red","white","silver","green") datavals <- round(rnorm(16, mean=100, sd=60),1) data <- data.frame(Car=rep(carnames,4), Color=rep(carcolors, c(4,4,4,4) ), Value=datavals ) # show the data data # generate balloon plot with default scaling balloonplot( data$Car, data$Color, data$Value) # show margin label rotation & space expansion, using some long labels levels(data$Car) <- c("BMW: High End, German","Renault: Medium End, French", "Mercedes: High End, German", "Seat: Imaginary, Unknown Producer") # generate balloon plot with default scaling balloonplot( data$Car, data$Color, data$Value, colmar=3, colsrt=90) # Create an example using table xnames <- sample( letters[1:3], 50, replace=2) ynames <- sample( 1:5, 50, replace=2) tab <- table(xnames, ynames) balloonplot(tab) # Example of multiple classification variabls using the Titanic data library(datasets) data(Titanic) dframe <- as.data.frame(Titanic) # convert to 1 entry per row format attach(dframe) balloonplot(x=Class, y=list(Survived, Age, Sex), z=Freq, sort=TRUE) # colorize: surviors lightblue, non-survivors: grey Colors <- Titanic Colors[,,,"Yes"] <- "skyblue" Colors[,,,"No"] <- "grey" colors <- as.character(as.data.frame(Colors)$Freq) balloonplot(x=list(Age,Sex), y=list(Class=Class, Survived=reorder.factor(Survived,new.order=c(2,1)) ), z=Freq, zlab="Number of Passengers", sort=TRUE, dotcol = colors, show.zeros=TRUE, show.margins=TRUE) } \keyword{dplot} \keyword{hplot} gplots/man/heatmap.2.Rd0000644000176200001440000005271612676243236014431 0ustar liggesusers\name{heatmap.2} \alias{heatmap.2} \title{ Enhanced Heat Map } \description{ A heat map is a false color image (basically \code{\link{image}(t(x))}) with a dendrogram added to the left side and/or to the top. Typically, reordering of the rows and columns according to some set of values (row or column means) within the restrictions imposed by the dendrogram is carried out. This heatmap provides a number of extensions to the standard R \code{\link[stats]{heatmap}} function. } \usage{ heatmap.2 (x, # dendrogram control Rowv = TRUE, Colv=if(symm)"Rowv" else TRUE, distfun = dist, hclustfun = hclust, dendrogram = c("both","row","column","none"), reorderfun = function(d, w) reorder(d, w), symm = FALSE, # data scaling scale = c("none","row", "column"), na.rm=TRUE, # image plot revC = identical(Colv, "Rowv"), add.expr, # mapping data to colors breaks, symbreaks=any(x < 0, na.rm=TRUE) || scale!="none", # colors col="heat.colors", # block sepration colsep, rowsep, sepcolor="white", sepwidth=c(0.05,0.05), # cell labeling cellnote, notecex=1.0, notecol="cyan", na.color=par("bg"), # level trace trace=c("column","row","both","none"), tracecol="cyan", hline=median(breaks), vline=median(breaks), linecol=tracecol, # Row/Column Labeling margins = c(5, 5), ColSideColors, RowSideColors, cexRow = 0.2 + 1/log10(nr), cexCol = 0.2 + 1/log10(nc), labRow = NULL, labCol = NULL, srtRow = NULL, srtCol = NULL, adjRow = c(0,NA), adjCol = c(NA,0), offsetRow = 0.5, offsetCol = 0.5, colRow = NULL, colCol = NULL, # color key + density info key = TRUE, keysize = 1.5, density.info=c("histogram","density","none"), denscol=tracecol, symkey = any(x < 0, na.rm=TRUE) || symbreaks, densadj = 0.25, key.title = NULL, key.xlab = NULL, key.ylab = NULL, key.xtickfun = NULL, key.ytickfun = NULL, key.par=list(), # plot labels main = NULL, xlab = NULL, ylab = NULL, # plot layout lmat = NULL, lhei = NULL, lwid = NULL, # extras extrafun=NULL, ... ) } \arguments{ % Dendrogram Control \item{x}{numeric matrix of the values to be plotted. } \item{Rowv}{determines if and how the \emph{row} dendrogram should be reordered. By default, it is TRUE, which implies dendrogram is computed and reordered based on row means. If NULL or FALSE, then no dendrogram is computed and no reordering is done. If a \code{\link{dendrogram}}, then it is used "as-is", ie without any reordering. If a vector of integers, then dendrogram is computed and reordered based on the order of the vector.} \item{Colv}{determines if and how the \emph{column} dendrogram should be reordered. Has the options as the \code{Rowv} argument above and \emph{additionally} when \code{x} is a square matrix, \code{Colv="Rowv"} means that columns should be treated identically to the rows.} \item{distfun}{function used to compute the distance (dissimilarity) between both rows and columns. Defaults to \code{\link{dist}}.} \item{hclustfun}{function used to compute the hierarchical clustering when \code{Rowv} or \code{Colv} are not dendrograms. Defaults to \code{\link{hclust}}.} \item{dendrogram}{character string indicating whether to draw 'none', 'row', 'column' or 'both' dendrograms. Defaults to 'both'. However, if Rowv (or Colv) is FALSE or NULL and dendrogram is 'both', then a warning is issued and Rowv (or Colv) arguments are honoured.} \item{reorderfun}{\code{function(d, w)} of dendrogram and weights for reordering the row and column dendrograms. The default uses \code{\link{stats}{reorder.dendrogram}} }. \item{symm}{logical indicating if \code{x} should be treated \bold{symm}etrically; can only be true when \code{x} is a square matrix.} % data scaling \item{scale}{character indicating if the values should be centered and scaled in either the row direction or the column direction, or none. The default is \code{"none"}.} \item{na.rm}{logical indicating whether \code{NA}'s should be removed.} % image plot \item{revC}{logical indicating if the column order should be \code{\link{rev}}ersed for plotting, such that e.g., for the symmetric case, the symmetry axis is as usual.} \item{add.expr}{expression that will be evaluated after the call to \code{image}. Can be used to add components to the plot.} \item{breaks}{(optional) Either a numeric vector indicating the splitting points for binning \code{x} into colors, or a integer number of break points to be used, in which case the break points will be spaced equally between \code{min(x)} and \code{max(x)}.} \item{symbreaks}{Boolean indicating whether breaks should be made symmetric about 0. Defaults to \code{TRUE} if the data includes negative values, and to \code{FALSE} otherwise.} \item{col}{colors used for the image. Defaults to heat colors (\code{heat.colors}).} % block separation \item{colsep, rowsep, sepcolor}{(optional) vector of integers indicating which columns or rows should be separated from the preceding columns or rows by a narrow space of color \code{sepcolor}.} \item{sepwidth}{(optional) Vector of length 2 giving the width (colsep) or height (rowsep) the separator box drawn by colsep and rowsep as a function of the width (colsep) or height (rowsep) of a cell. Defaults to \code{c(0.05, 0.05)}} % cell labeling \item{cellnote}{(optional) matrix of character strings which will be placed within each color cell, e.g. p-value symbols.} \item{notecex}{(optional) numeric scaling factor for \code{cellnote} items.} \item{notecol}{(optional) character string specifying the color for \code{cellnote} text. Defaults to "cyan".} \item{na.color}{Color to use for missing value (\code{NA}). Defaults to the plot background color.} % level trace \item{trace}{character string indicating whether a solid "trace" line should be drawn across 'row's or down 'column's, 'both' or 'none'. The distance of the line from the center of each color-cell is proportional to the size of the measurement. Defaults to 'column'.} \item{tracecol}{character string giving the color for "trace" line. Defaults to "cyan".} \item{hline, vline, linecol}{Vector of values within cells where a horizontal or vertical dotted line should be drawn. The color of the line is controlled by \code{linecol}. Horizontal lines are only plotted if \code{trace} is 'row' or 'both'. Vertical lines are only drawn if \code{trace} 'column' or 'both'. \code{hline} and \code{vline} default to the median of the breaks, \code{linecol} defaults to the value of \code{tracecol}.} % Row/Column Labeling \item{margins}{numeric vector of length 2 containing the margins (see \code{\link{par}(mar= *)}) for column and row names, respectively.} \item{ColSideColors}{(optional) character vector of length \code{ncol(x)} containing the color names for a horizontal side bar that may be used to annotate the columns of \code{x}.} \item{RowSideColors}{(optional) character vector of length \code{nrow(x)} containing the color names for a vertical side bar that may be used to annotate the rows of \code{x}.} \item{cexRow, cexCol}{positive numbers, used as \code{cex.axis} in for the row or column axis labeling. The defaults currently only use number of rows or columns, respectively.} \item{labRow, labCol}{character vectors with row and column labels to use; these default to \code{rownames(x)} or \code{colnames(x)}, respectively.} \item{srtRow, srtCol}{angle of row/column labels, in degrees from horizontal} \item{adjRow, adjCol}{2-element vector giving the (left-right, top-bottom) justification of row/column labels (relative to the text orientation).} \item{offsetRow, offsetCol}{Number of character-width spaces to place between row/column labels and the edge of the plotting region.} \item{colRow, colCol}{color of row/column labels, either a scalar to set the color of all labels the same, or a vector providing the colors of each label item} % Color key and density info \item{key}{logical indicating whether a color-key should be shown.} \item{keysize}{numeric value indicating the size of the key} \item{density.info}{character string indicating whether to superimpose a 'histogram', a 'density' plot, or no plot ('none') on the color-key.} \item{denscol}{character string giving the color for the density display specified by \code{density.info}, defaults to the same value as \code{tracecol}.} \item{symkey}{Boolean indicating whether the color key should be made symmetric about 0. Defaults to \code{TRUE} if the data includes negative values, and to \code{FALSE} otherwise.} \item{densadj}{Numeric scaling value for tuning the kernel width when a density plot is drawn on the color key. (See the \code{adjust} parameter for the \code{density} function for details.) Defaults to 0.25.} \item{key.title}{main title of the color key. If set to NA no title will be plotted.} \item{key.xlab}{x axis label of the color key. If set to NA no label will be plotted.} \item{key.ylab}{y axis label of the color key. If set to NA no label will be plotted.} \item{key.xtickfun}{function computing tick location and labels for the xaxis of the color key. Returns a named list containing parameters that can be passed to \code{axis}. See examples.} \item{key.ytickfun}{function computing tick location and labels for the y axis of the color key. Returns a named list containing parameters that can be passed to \code{axis}. See examples.} \item{key.par}{graphical parameters for the color key. Named list that can be passed to \code{par}.} % plot labels \item{main, xlab, ylab}{main, x- and y-axis titles; defaults to none.} % figure layout \item{lmat, lhei, lwid}{visual layout: position matrix, column height, column width. See below for details} \item{extrafun}{A function to be called after all other work. See examples.} \item{...}{additional arguments passed on to \code{\link{image}} } } \details{ If either \code{Rowv} or \code{Colv} are dendrograms they are honored (and not reordered). Otherwise, dendrograms are computed as \code{dd <- as.dendrogram(hclustfun(distfun(X)))} where \code{X} is either \code{x} or \code{t(x)}.\cr If either is a vector (of \dQuote{weights}) then the appropriate dendrogram is reordered according to the supplied values subject to the constraints imposed by the dendrogram, by \code{\link{reorder}(dd, Rowv)}, in the row case. %% If either is missing, as by default, then the ordering of the corresponding dendrogram is by the mean value of the rows/columns, i.e., in the case of rows, \code{Rowv <- rowMeans(x, na.rm=na.rm)}. %% If either is \code{\link{NULL}}, \emph{no reordering} will be done for the corresponding side. If \code{scale="row"} (or \code{scale="col"}) the rows (columns) are scaled to have mean zero and standard deviation one. There is some empirical evidence from genomic plotting that this is useful. The default colors range from red to white (\code{heat.colors}) and are not pretty. Consider using enhancements such as the \pkg{RColorBrewer} package, \url{https://cran.r-project.org/package=RColorBrewer} to select better colors. By default four components will be displayed in the plot. At the top left is the color key, top right is the column dendrogram, bottom left is the row dendrogram, bottom right is the image plot. When RowSideColor or ColSideColor are provided, an additional row or column is inserted in the appropriate location. This layout can be overriden by specifiying appropriate values for \code{lmat}, \code{lwid}, and \code{lhei}. \code{lmat} controls the relative postition of each element, while \code{lwid} controls the column width, and \code{lhei} controls the row height. See the help page for \code{\link[graphics]{layout}} for details on how to use these arguments. } \note{ The original rows and columns are reordered to match the dendrograms \code{Rowv} and \code{Colv} (if present). \code{heatmap.2()} uses \code{\link{layout}} to arragent the plot elements. Consequentially, it can \bold{not} be used in a multi column/row layout using \code{\link{layout}(\dots)}, \code{\link{par}(mfrow=\dots)} or \code{(mfcol=\dots)}. } \value{ Invisibly, a list with components \item{rowInd}{row index permutation vector as returned by \code{\link{order.dendrogram}}.} \item{colInd}{column index permutation vector.} \item{call}{the matched call} \item{rowMeans, rowSDs}{mean and standard deviation of each row: only present if \code{scale="row"}} \item{colMeans, colSDs}{mean and standard deviation of each column: only present if \code{scale="column"}} \item{carpet}{reordered and scaled 'x' values used generate the main 'carpet'} \item{rowDendrogram}{row dendrogram, if present} \item{colDendrogram}{column dendrogram, if present} \item{breaks}{values used for color break points} \item{col}{colors used} \item{vline}{center-line value used for column trace, present only if \code{trace="both"} or \code{trace="column"} } \item{hline}{center-line value used for row trace, present only if \code{trace="both"} or \code{trace="row"} } \item{colorTable}{A three-column data frame providing the lower and upper bound and color for each bin} \item{layout}{A named list containing the values used for \code{lmat}, \code{lhei}, and \code{lwid}. } } \author{Andy Liaw, original; R. Gentleman, M. Maechler, W. Huber, G. Warnes, revisions.} \seealso{\code{\link{image}}, \code{\link{hclust}}} \examples{ data(mtcars) x <- as.matrix(mtcars) rc <- rainbow(nrow(x), start=0, end=.3) cc <- rainbow(ncol(x), start=0, end=.3) ## ## demonstrate the effect of row and column dendrogram options ## heatmap.2(x) ## default - dendrogram plotted and reordering done. heatmap.2(x, dendrogram="none") ## no dendrogram plotted, but reordering done. heatmap.2(x, dendrogram="row") ## row dendrogram plotted and row reordering done. heatmap.2(x, dendrogram="col") ## col dendrogram plotted and col reordering done. heatmap.2(x, keysize=2) ## default - dendrogram plotted and reordering done. heatmap.2(x, Rowv=FALSE, dendrogram="both") ## generates a warning! heatmap.2(x, Rowv=NULL, dendrogram="both") ## generates a warning! heatmap.2(x, Colv=FALSE, dendrogram="both") ## generates a warning! ## Reorder dendrogram by branch means rather than sums heatmap.2(x, reorderfun=function(d, w) reorder(d, w, agglo.FUN = mean) ) ## plot a sub-cluster using the same color coding as for the full heatmap full <- heatmap.2(x) heatmap.2(x, Colv=full$colDendrogram[[2]], breaks=full$breaks) # column subset heatmap.2(x, Rowv=full$rowDendrogram[[1]], breaks=full$breaks) # row subset heatmap.2(x, Colv=full$colDendrogram[[2]], Rowv=full$rowDendrogram[[1]], breaks=full$breaks) # both ## Show effect of row and column label rotation heatmap.2(x, srtCol=NULL) heatmap.2(x, srtCol=0, adjCol = c(0.5,1) ) heatmap.2(x, srtCol=45, adjCol = c(1,1) ) heatmap.2(x, srtCol=135, adjCol = c(1,0) ) heatmap.2(x, srtCol=180, adjCol = c(0.5,0) ) heatmap.2(x, srtCol=225, adjCol = c(0,0) ) ## not very useful heatmap.2(x, srtCol=270, adjCol = c(0,0.5) ) heatmap.2(x, srtCol=315, adjCol = c(0,1) ) heatmap.2(x, srtCol=360, adjCol = c(0.5,1) ) heatmap.2(x, srtRow=45, adjRow=c(0, 1) ) heatmap.2(x, srtRow=45, adjRow=c(0, 1), srtCol=45, adjCol=c(1,1) ) heatmap.2(x, srtRow=45, adjRow=c(0, 1), srtCol=270, adjCol=c(0,0.5) ) ## Show effect of offsetRow/offsetCol (only works when srtRow/srtCol is ## not also present) heatmap.2(x, offsetRow=0, offsetCol=0) heatmap.2(x, offsetRow=1, offsetCol=1) heatmap.2(x, offsetRow=2, offsetCol=2) heatmap.2(x, offsetRow=-1, offsetCol=-1) heatmap.2(x, srtRow=0, srtCol=90, offsetRow=0, offsetCol=0) heatmap.2(x, srtRow=0, srtCol=90, offsetRow=1, offsetCol=1) heatmap.2(x, srtRow=0, srtCol=90, offsetRow=2, offsetCol=2) heatmap.2(x, srtRow=0, srtCol=90, offsetRow=-1, offsetCol=-1) ## Show how to use 'extrafun' to replace the 'key' with a scatterplot lmat <- rbind( c(5,3,4), c(2,1,4) ) lhei <- c(1.5, 4) lwid <- c(1.5, 4, 0.75) myplot <- function() { oldpar <- par("mar") par(mar=c(5.1, 4.1, 0.5, 0.5)) plot(mpg ~ hp, data=x) } heatmap.2(x, lmat=lmat, lhei=lhei, lwid=lwid, key=FALSE, extrafun=myplot) ## show how to customize the color key heatmap.2(x, key.title=NA, # no title key.xlab=NA, # no xlab key.par=list(mgp=c(1.5, 0.5, 0), mar=c(2.5, 2.5, 1, 0)), key.xtickfun=function() { breaks <- parent.frame()$breaks return(list( at=parent.frame()$scale01(c(breaks[1], breaks[length(breaks)])), labels=c(as.character(breaks[1]), as.character(breaks[length(breaks)])) )) }) heatmap.2(x, breaks=256, key.title=NA, key.xlab=NA, key.par=list(mgp=c(1.5, 0.5, 0), mar=c(1, 2.5, 1, 0)), key.xtickfun=function() { cex <- par("cex")*par("cex.axis") side <- 1 line <- 0 col <- par("col.axis") font <- par("font.axis") mtext("low", side=side, at=0, adj=0, line=line, cex=cex, col=col, font=font) mtext("high", side=side, at=1, adj=1, line=line, cex=cex, col=col, font=font) return(list(labels=FALSE, tick=FALSE)) }) ## ## Show effect of z-score scaling within columns, blue-red color scale ## hv <- heatmap.2(x, col=bluered, scale="column", tracecol="#303030") ### ## Look at the return values ### names(hv) ## Show the mapping of z-score values to color bins hv$colorTable ## Extract the range associated with white hv$colorTable[hv$colorTable[,"color"]=="#FFFFFF",] ## Determine the original data values that map to white whiteBin <- unlist(hv$colorTable[hv$colorTable[,"color"]=="#FFFFFF",1:2]) rbind(whiteBin[1] * hv$colSDs + hv$colMeans, whiteBin[2] * hv$colSDs + hv$colMeans ) ## ## A more decorative heatmap, with z-score scaling along columns ## hv <- heatmap.2(x, col=cm.colors(255), scale="column", RowSideColors=rc, ColSideColors=cc, margin=c(5, 10), xlab="specification variables", ylab= "Car Models", main="heatmap(, ..., scale=\"column\")", tracecol="green", density="density") ## Note that the breakpoints are now symmetric about 0 ## Color the labels to match RowSideColors and ColSideColors hv <- heatmap.2(x, col=cm.colors(255), scale="column", RowSideColors=rc, ColSideColors=cc, margin=c(5, 10), xlab="specification variables", ylab= "Car Models", main="heatmap(, ..., scale=\"column\")", tracecol="green", density="density", colRow=rc, colCol=cc, srtCol=45, adjCol=c(0.5,1)) %% want example using the `add.exp' argument! data(attitude) round(Ca <- cor(attitude), 2) symnum(Ca) # simple graphic # with reorder heatmap.2(Ca, symm=TRUE, margin=c(6, 6), trace="none" ) # without reorder heatmap.2(Ca, Rowv=FALSE, symm=TRUE, margin=c(6, 6), trace="none" ) ## Place the color key below the image plot heatmap.2(x, lmat=rbind( c(0, 3), c(2,1), c(0,4) ), lhei=c(1.5, 4, 2 ) ) ## Place the color key to the top right of the image plot heatmap.2(x, lmat=rbind( c(0, 3, 4), c(2,1,0 ) ), lwid=c(1.5, 4, 2 ) ) ## For variable clustering, rather use distance based on cor(): data(USJudgeRatings) symnum( cU <- cor(USJudgeRatings) ) hU <- heatmap.2(cU, Rowv=FALSE, symm=TRUE, col=topo.colors(16), distfun=function(c) as.dist(1 - c), trace="none") ## The Correlation matrix with same reordering: hM <- format(round(cU, 2)) hM # now with the correlation matrix on the plot itself heatmap.2(cU, Rowv=FALSE, symm=TRUE, col=rev(heat.colors(16)), distfun=function(c) as.dist(1 - c), trace="none", cellnote=hM) ## genechip data examples \dontrun{ library(affy) data(SpikeIn) pms <- SpikeIn@pm # just the data, scaled across rows heatmap.2(pms, col=rev(heat.colors(16)), main="SpikeIn@pm", xlab="Relative Concentration", ylab="Probeset", scale="row") # fold change vs "12.50" sample data <- pms / pms[, "12.50"] data <- ifelse(data>1, data, -1/data) heatmap.2(data, breaks=16, col=redgreen, tracecol="blue", main="SpikeIn@pm Fold Changes\nrelative to 12.50 sample", xlab="Relative Concentration", ylab="Probeset") } } \keyword{hplot} gplots/man/gplots-deprecated.Rd0000644000176200001440000000103412676233266016245 0ustar liggesusers\name{gplots-deprecated} \alias{deprecated} \title{Deprecated functions} \description{ These functions have been deprecated and will be removed in future releases of gplots. } \usage{ ## No deprecated functions at this time ## } %\arguments{ %} \details{ These functions have been deprecated. Please refer to the manual page for the replacement function: \itemize{ \item (No deprecated functions at this time) } } \author{Gregory R. Warnes \email{greg@warnes.net}} \seealso{ \code{\link[base]{Deprecated}} } \keyword{misc} gplots/man/residplot.Rd0000644000176200001440000000125012471456254014641 0ustar liggesusers% $Id: residplot.Rd 1441 2010-06-11 03:11:54Z warnes $ \name{residplot} \alias{residplot} %\alias{iapply} \title{Undocumented functions} \description{ These functions are undocumented. Some are internal and not intended for direct use. Others simply haven't been documented yet. } \usage{ residplot(model, formula, ...) } \arguments{ \item{model}{Undocumented} \item{formula}{Undocumented} \item{\dots}{ arguments to be passed to \code{fun} } } \details{ These functions are undocumented. Some are internal and not intended for direct use. Others simply haven't been documented yet. } \author{Gregory R. Warnes \email{greg@warnes.net}} \keyword{misc} gplots/man/angleAxis.Rd0000644000176200001440000000545612664124074014557 0ustar liggesusers\name{angleAxis} \alias{angleAxis} \title{Add a Axis to a Plot with Rotated Labels} \description{ Add a labeled axis to the current plot with rotated text } \usage{ angleAxis(side, labels, at = 1:length(labels), srt = 45, adj, xpd = TRUE, ...) } \arguments{ \item{side}{ an integer specifying which side of the plot the axis is to be drawn on. The axis is placed as follows: 1=below, 2=left, 3=above and 4=right. } \item{labels}{character or expression vector of labels to be placed at the tickpoints. } \item{at}{the points at which tick-marks are to be drawn. Non-finite (infinite, NaN or NA) values are omitted. } \item{srt}{ The string rotation in degrees. Defaults to 45 degrees (clockwise). } \item{adj}{Text justification. A value of 0 produces left-justified text, 0.5 centered text and 1 right-justified text. For \code{side=1} and \code{side=2}, the default value is \code{adj=1}. For \code{side=3} and \code{side=4} the default value is \code{adj=0}. } \item{xpd}{A logical value or NA. If FALSE, labels are clipped to the plot region, if TRUE, labels are clipped to the figure region, and if NA, labels are clipped to the device region. } \item{\dots}{optional arguments passed to \code{text}. Common examples are \code{col}, \code{cex}.} } \details{ This function augments the feature of the \code{axis} functon by allowing the axis labels to be rotated. } \author{Gregory R. Warnes \email{greg@warnes.net} } \seealso{ \code{\link{axis}} } \examples{ \dontshow{set.seed(42)} # create a vector with some values and long labels values <- sample(1:10) names(values) <- sapply(letters[1:10], function(x) paste(rep(x, 10), sep="",collapse="") ) # barplot labels are too long for the available space, hence some are not plotted barplot(values) # to add angled labels, tell barplot not to label the x axis, and store the bar location at <- barplot(values, xaxt="n") # then use angleAxs angleAxis(1, at=at, labels = names(values)) # angle counter-clockwise instead at <- barplot(values, xaxt="n") angleAxis(1, at=at, labels = names(values), srt=-45, adj=0) # put labels at the top oldpar <- par()$mar par(mar=c(1,4,5,2)+0.1) at <- barplot(values, xaxt="n") angleAxis(3, at=at, labels = names(values)) par(oldpar) # put labels on the left oldpar <- par()$mar par(mar=c(5,5,3,2)+0.1) at <- barplot(values, yaxt="n", horiz=TRUE) angleAxis(2, at=at, labels = names(values)) par(oldpar) # put labels on the right oldpar <- par()$mar par(mar=c(2,5,3,5)+0.1) at <- barplot(values, yaxt="n", horiz=TRUE) angleAxis(4, at=at, labels = names(values)) par(oldpar) # specify colors for bars and labels at <- barplot(values, xaxt="n", col=1:10) angleAxis(1, at=at, labels = names(values), col=1:10) } \keyword{aplot} gplots/man/boxplot2.Rd0000644000176200001440000000216612471456254014414 0ustar liggesusers\name{boxplot2} \alias{boxplot2} \title{Produce a Boxplot Annotated with the Number of Observations} \description{ This funcntion uses \code{boxplot} to produce a boxplot which is then annotated with the number of observations in each group. } \usage{ boxplot2(..., top=FALSE, shrink=1, textcolor=NULL) } \arguments{ \item{\dots}{ parameters passed to \code{boxplot}. } \item{top}{ logical indicating whether the number of observations should be added to the top or the bottom of the plotting region. Defaults to \code{FALSE}. } \item{shrink}{ value to shrink character size (cex) when annotating.} \item{textcolor}{ text color. } } \author{ Gregory R. Warnes \email{greg@warnes.net}} \note{ This function replaces \code{boxplot.n}, which has been deprecated avoid potential problems with S3 method dispatching. } \seealso{ \code{\link{boxplot}}, \code{\link{text}} } \examples{ data(state) # n's at bottom boxplot2( state.area ~ state.region) # n's at top boxplot2( state.area ~ state.region, top=TRUE) # small red text boxplot2( state.area ~ state.region, shrink=0.8, textcolor="red") } \keyword{ hplot } gplots/man/barplot2.Rd0000644000176200001440000003172714676043125014373 0ustar liggesusers%% Revision 2.1 2005/06/06 %% - Modified default behavior with 0's and NA's in %% 'height' so that these values are not plotted. %% - Warning messages added in the case of the above. %% Revision 2.0 2005/04/27 %% - Added panel.first and panel.last arguments %% - As per R 2.0.0, the default barplot() method by default uses a %% gamma-corrected grey palette (rather than the heat color %% palette) for coloring its output when given a matrix. % $Id: barplot2.Rd 1646 2013-03-24 05:19:04Z warnes $ %% $Log$ %% Revision 1.12 2005/12/07 18:48:54 nj7w %% Changed the default grey colors to heat colors, if height is matrix %% %% Revision 1.11 2005/12/06 22:41:08 nj7w %% Fixed minor error in documentation of barplot2 %% %% Revision 1.10 2005/06/09 14:20:28 nj7w %% Updating the version number, and various help files to synchronize splitting of gregmisc bundle in 4 individual components. %% %% Revision 1.3 2005/06/06 21:44:51 nj7w %% Changes based on Marc Schwartz's suggestions to handel 0's and NA's appropriately. %% %% Revision 1.9 2004/06/28 20:16:44 warnes %% - Default 2-d color set to grey as in (v2.0.0) r-devel %% - The default (v1.9.1) barplot method now handles vectors and 1-d arrays %% (e.g., obtained by table()) the same, and uses grey instead of %% heat color palettes in these cases. (Also fixes PR#6776.) %% - Updated to reflect the addition of 'offset' argument in base %% - Fix bug in stacked barplots, which would not be plotted properly %% % % Revision 1.8 2004/06/26 % - Default 2-d color set to grey as in (v2.0.0) r-devel % - The default (v1.9.1) barplot method now handles vectors and 1-d arrays % (e.g., obtained by table()) the same, and uses grey instead of % heat color palettes in these cases. (Also fixes PR#6776.) % - Updated to reflect the addition of 'offset' argument in base % - Fix bug in stacked barplots, which would not be plotted properly % % Revision 1.7 2003/12/02 16:58:46 warnes % % - Remove '%' character from example code to avoid errors. % % Revision 1.6 2003/12/01 16:00:08 warnes % % - updated to match changes to barplot() in base. % % Revision 1.5 2003/11/18 18:59:08 warnes % % - Tiny fix to remove R CMD check error. % % Revision 1.4 2003/01/30 21:43:05 warnes % % - Added argument 'add' to allow for the addition of a barplot to an % existing graphic. Default is FALSE % % Revision 1.2 2002/09/23 14:27:17 warnes % % - Fixed syntax errors in barplot2.Rd and CrossTable.Rd % - Fixed incorrect translation of 'F' (distribution) to 'FALSE' in glh.test.Rd % % Revision 1.1 2002/09/23 13:38:53 warnes % % - Added CrossTable() and barplot2() code and docs contributed by Marc Schwartz. % - Permit combinations() to be used when r>n provided repeat.allowed=TRUE % - Bumped up version number % % \name{barplot2} \alias{barplot2} \alias{barplot2.default} \title{Enhanced Bar Plots} \usage{ \method{barplot2}{default}(height, width = 1, space = NULL, names.arg = NULL, legend.text = NULL, beside = FALSE, horiz = FALSE, density = NULL, angle = 45, col = NULL, prcol = NULL, border = par("fg"), main = NULL, sub = NULL, xlab = NULL, ylab = NULL, xlim = NULL, ylim = NULL, xpd = TRUE, log = "", axes = TRUE, axisnames = TRUE, cex.axis = par("cex.axis"), cex.names = par("cex.axis"), inside = TRUE, plot = TRUE, axis.lty = 0, offset = 0, plot.ci = FALSE, ci.l = NULL, ci.u = NULL, ci.color = "black", ci.lty = "solid", ci.lwd = 1, ci.width = 0.5, plot.grid = FALSE, grid.inc = NULL, grid.lty = "dotted", grid.lwd = 1, grid.col = "black", add = FALSE, panel.first = NULL, panel.last = NULL, \dots) } \arguments{ \item{height}{either a vector or matrix of values describing the bars which make up the plot. If \code{height} is a vector, the plot consists of a sequence of rectangular bars with heights given by the values in the vector. If \code{height} is a matrix and \code{beside} is \code{FALSE} then each bar of the plot corresponds to a column of \code{height}, with the values in the column giving the heights of stacked ``sub-bars'' making up the bar. If \code{height} is a matrix and \code{beside} is \code{TRUE}, then the values in each column are juxtaposed rather than stacked.} \item{width}{optional vector of bar widths. Re-cycled to length the number of bars drawn. Specifying a single value will no visible effect unless \code{xlim} is specified.} \item{space}{the amount of space (as a fraction of the average bar width) left before each bar. May be given as a single number or one number per bar. If \code{height} is a matrix and \code{beside} is \code{TRUE}, \code{space} may be specified by two numbers, where the first is the space between bars in the same group, and the second the space between the groups. If not given explicitly, it defaults to \code{c(0,1)} if \code{height} is a matrix and \code{beside} is \code{TRUE}, and to 0.2 otherwise.} \item{names.arg}{a vector of names to be plotted below each bar or group of bars. If this argument is omitted, then the names are taken from the \code{names} attribute of \code{height} if this is a vector, or the column names if it is a matrix.} \item{legend.text}{a vector of text used to construct a legend for the plot, or a logical indicating whether a legend should be included. This is only useful when \code{height} is a matrix. In that case given legend labels should correspond to the rows of \code{height}; if \code{legend.text} is true, the row names of \code{height} will be used as labels if they are non-null.} \item{beside}{a logical value. If \code{FALSE}, the columns of \code{height} are portrayed as stacked bars, and if \code{TRUE} the columns are portrayed as juxtaposed bars.} \item{horiz}{a logical value. If \code{FALSE}, the bars are drawn vertically with the first bar to the left. If \code{TRUE}, the bars are drawn horizontally with the first at the bottom.} \item{density}{a vector giving the the density of shading lines, in lines per inch, for the bars or bar components. The default value of \code{NULL} means that no shading lines are drawn. Non-positive values of \code{density} also inhibit the drawing of shading lines.} \item{angle}{the slope of shading lines, given as an angle in degrees (counter-clockwise), for the bars or bar components.} \item{col}{a vector of colors for the bars or bar components. By default, grey is used if \code{height} is a vector, and \code{heat.colors(nrow(height))} if \code{height} is a matrix.} \item{prcol}{the color to be used for the plot region.} \item{border}{the color to be used for the border of the bars.} \item{main, sub}{overall and sub titles for the plot.} \item{xlab}{a label for the x axis.} \item{ylab}{a label for the y axis.} \item{xlim}{limits for the x axis.} \item{ylim}{limits for the y axis.} \item{xpd}{logical. Should bars be allowed to go outside region?} \item{log}{a character string which contains `"x"' if the x axis is to be logarithmic, `"y"' if the y axis is to be logarithmic and `"xy"' or `"yx"' if both axes are to be logarithmic.} \item{axes}{logical. If \code{TRUE}, a vertical (or horizontal, if \code{horiz} is true) axis is drawn.} \item{axisnames}{logical. If \code{TRUE}, and if there are \code{names.arg} (see above), the other axis is drawn (with \code{lty = 0}) and labeled.} \item{cex.axis}{expansion factor for numeric axis labels.} \item{cex.names}{expansion factor for names.} \item{inside}{logical. If \code{TRUE}, the lines which divide adjacent (non-stacked!) bars will be drawn. Only applies when \code{space = 0} (which it partly is when \code{beside = TRUE}).} %MM: we still have "NotYetUsed" -- the above describe's S-plus 6.1 (not % precisely documented!) behavior! \item{plot}{logical. If \code{FALSE}, nothing is plotted.} \item{axis.lty}{the graphics parameter \code{lty} applied to the axis and tick marks of the categorical (default horzontal) axis. Note that by default the axis is suppressed.} \item{offset}{a vector indicating how much the bars should be shifted relative to the x axis.} \item{plot.ci}{logical. If \code{TRUE}, confidence intervals are plotted over the bars. Note that if a stacked bar plot is generated, confidence intervals will not be plotted even if \code{plot.ci = TRUE}} \item{ci.l,ci.u}{The confidence intervals (ci.l = lower bound, ci.u = upper bound) to be plotted if \code{plot.ci} = \code{TRUE}. Values must have the same dim structure as \code{height}.} \item{ci.color}{the color for the confidence interval line segments} \item{ci.lty}{the line type for the confidence interval line segments} \item{ci.lwd}{the line width for the confidence interval line segments} \item{ci.width}{length of lines used for the "t" at the end of confidence interval line segments, as a multple of \code{width}. Defaults to 0.5.} \item{plot.grid}{if \code{TRUE} a lined grid will be plotted behind the bars} \item{grid.inc}{the number of grid increments to be plotted} \item{grid.lty}{the line type for the grid} \item{grid.lwd}{the line width for the grid} \item{grid.col}{the line color for the grid} \item{add}{logical, if \code{TRUE} add barplot to current plot.} \item{panel.first}{An expression to be evaluated after the plot region coordinates have been set up, but prior to the drawing of the bars and other plot region contents. This can be useful to add additional plot region content behind the bars. This will also work if \code{add} = \code{TRUE}} \item{panel.last}{An expression to be evaluated after the bars have been drawn, but prior to the addition of confidence intervals, a legend and the axis annotation} \item{\dots}{further graphical parameters (\code{\link{par}}) are passed to \code{\link{plot.window}()}, \code{\link{title}()} and \code{\link{axis}}.} } \description{ An enhancement of the standard barplot() function. Creates a bar plot with vertical or horizontal bars. Can plot confidence intervals for each bar, a lined grid behind the bars, change plot area color and logarithmic axes may be used. } \details{ This is a generic function, it currently only has a default method. A formula interface may be added eventually. } \value{ A numeric vector (or matrix, when \code{beside = TRUE}), say \code{mp}, giving the coordinates of \emph{all} the bar midpoints drawn, useful for adding to the graph. If \code{beside} is true, use \code{colMeans(mp)} for the midpoints of each \emph{group} of bars, see example. } \author{Original barplot() by R-Core. Enhancements by Marc Schwartz. } \note{ Prior to \R 1.6.0, \code{barplot} behaved as if \code{axis.lty = 1}, unintentionally. 0 (zero) and NA values in \code{height} will not be plotted if using logarithmic scales. If there are NA values in \code{height} and \code{beside = FALSE}, values after the NA will not be plotted in stacked bars. } \seealso{ \code{\link{plot}(\dots, type = "h")}, \code{\link{dotchart}}, \code{\link{hist}}. } \examples{ tN <- table(Ni <- rpois(100, lambda = 5)) r <- barplot2(tN, col = 'gray') #- type = "h" plotting *is* `bar'plot lines(r, tN, type = 'h', col = 'red', lwd = 2) barplot2(tN, space = 1.5, axisnames = FALSE, sub = "barplot2(..., space = 1.5, axisnames = FALSE)") data(VADeaths, package = "datasets") barplot2(VADeaths, plot = FALSE) barplot2(VADeaths, plot = FALSE, beside = TRUE) mp <- barplot2(VADeaths) # default tot <- colMeans(VADeaths) text(mp, tot + 3, format(tot), xpd = TRUE, col = "blue") barplot2(VADeaths, beside = TRUE, col = c("lightblue", "mistyrose", "lightcyan", "lavender", "cornsilk"), legend = rownames(VADeaths), ylim = c(0, 100)) title(main = "Death Rates in Virginia", font.main = 4) # Example with confidence intervals and grid hh <- t(VADeaths)[, 5:1] mybarcol <- "gray20" ci.l <- hh * 0.85 ci.u <- hh * 1.15 mp <- barplot2(hh, beside = TRUE, col = c("lightblue", "mistyrose", "lightcyan", "lavender"), legend = colnames(VADeaths), ylim = c(0, 100), main = "Death Rates in Virginia", font.main = 4, sub = "Faked 95 percent error bars", col.sub = mybarcol, cex.names = 1.5, plot.ci = TRUE, ci.l = ci.l, ci.u = ci.u, plot.grid = TRUE) mtext(side = 1, at = colMeans(mp), line = -2, text = paste("Mean", formatC(colMeans(hh))), col = "red") box() # Example with horizontal bars, grid and logarithmic x axis barplot2(1:10 , log = "x", plot.grid = TRUE, grid.inc = 10, xlim = c(0.5, 20), horiz = TRUE, cex.axis = 0.9, prcol = "gray95") box() # Bar shading example barplot2(VADeaths, angle = 15 + 10 * 1:5, density = 20, col = "black", legend = rownames(VADeaths)) title(main = list("Death Rates in Virginia", font = 4)) # border : barplot2(VADeaths, border = "dark blue") % lwd = 2 << not passed %notyet barplot(VADeaths, inside = FALSE, main = "barplot(*, inside=FALSE)") } \keyword{hplot} gplots/man/reorder.Rd0000644000176200001440000000607613003720416014273 0ustar liggesusers\name{reorder.factor} \alias{reorder.factor} \title{Reorder the Levels of a Factor} \description{ Reorder the levels of a factor } \usage{ \method{reorder}{factor}(x, X, FUN, ..., order=is.ordered(x), new.order, sort=mixedsort) } \arguments{ \item{x}{factor} \item{X}{auxillary data vector} \item{FUN}{function to be applied to subsets of \code{X} determined by \code{x}, to determine factor order} \item{...}{optional parameters to \code{FUN}} \item{order}{logical value indicating whether the returned object should be an \code{\link{ordered}} factor} \item{new.order}{a vector of indexes or a vector of label names giving the order of the new factor levels} \item{sort}{function to use to sort the factor level names, used only when \code{new.order} is missing} } \details{ This function changes the order of the levels of a factor. It can do so via three different mechanisms, depending on whether, \code{X} \emph{and} \code{FUN}, \code{new.order} or \code{sort} are provided. If \code{X} \emph{and} \code{Fun} are provided: The data in \code{X} is grouped by the levels of \code{x} and \code{FUN} is applied. The groups are then sorted by this value, and the resulting order is used for the new factor level names. If \code{new.order} is a numeric vector, the new factor level names are constructed by reordering the factor levels according to the numeric values. If \code{new.order} is a chraccter vector, \code{new.order} gives the list of new factor level names. In either case levels omitted from \code{new.order} will become missing (\code{NA}) values. If \code{sort} is provided (as it is by default): The new factor level names are generated by calling the function specified by \code{sort} to the existing factor level \emph{names}. With \code{sort=mixedsort} (the default) the factor levels are sorted so that combined numeric and character strings are sorted in according to character rules on the character sections (including ignoring case), and the numeric rules for the numeric sections. See \code{\link[gtools]{mixedsort}} for details. } \value{ A new factor with reordered levels } \author{Gregory R. Warnes \email{greg@warnes.net}} \seealso{ \code{\link{factor}} and \code{\link[stats]{reorder}} } \examples{ \dontshow{ set.seed(123456) } # Create a 4 level example factor trt <- factor( sample( c("PLACEBO", "300 MG", "600 MG", "1200 MG"), 100, replace=TRUE ) ) summary(trt) # Note that the levels are not in a meaningful order. # Change the order to something useful.. # - default "mixedsort" ordering trt2 <- reorder(trt) summary(trt2) # - using indexes: trt3 <- reorder(trt, new.order=c(4, 2, 3, 1)) summary(trt3) # - using label names: trt4 <- reorder(trt, new.order=c("PLACEBO", "300 MG", "600 MG", "1200 MG")) summary(trt4) # - using frequency trt5 <- reorder(trt, X=rnorm(100), FUN=mean) summary(trt5) # Drop out the '300 MG' level trt6 <- reorder(trt, new.order=c("PLACEBO", "600 MG", "1200 MG")) summary(trt6) } \keyword{ manip } gplots/man/textplot.Rd0000644000176200001440000001263113727070207014517 0ustar liggesusers\name{textplot} \alias{textplot} \alias{textplot.default} \alias{textplot.character} \alias{textplot.matrix} \alias{textplot.data.frame} \title{Display text information in a graphics plot.} \description{ This function displays text output in a graphics window. It is the equivalent of 'print' except that the output is displayed as a plot. } \usage{ textplot(object, halign="center", valign="center", cex, ...) \method{textplot}{default}(object, halign=c("center","left","right"), valign=c("center", "top", "bottom"), cex, ... ) \method{textplot}{character}(object, halign = c("center", "left", "right"), valign = c("center", "top", "bottom"), cex, fixed.width=TRUE, cspace=1, lspace=1, mar=c(0, 0, 3, 0) + 0.1, tab.width = 8, ...) \method{textplot}{data.frame}(object, halign = c("center", "left", "right"), valign = c("center", "top", "bottom"), cex, ...) \method{textplot}{matrix}(object, halign = c("center", "left", "right"), valign = c("center", "top", "bottom"), cex, cmar = 2, rmar = 0.5, show.rownames = TRUE, show.colnames = TRUE, hadj = 1, vadj = 1, mar = c(1, 1, 4, 1) + 0.1, col.data = par("col"), col.rownames = par("col"), col.colnames = par("col"), ...) } \arguments{ \item{object}{Object to be displayed.} \item{halign}{Alignment in the x direction, one of "center", "left", or "right". } \item{valign}{Alignment in the y direction, one of "center", "top" , or "bottom"} \item{cex}{Character size, see \code{\link{par}} for details. If unset, the code will attempt to use the largest value which allows the entire object to be displayed.} \item{fixed.width}{Logical value indicating whether to emulate a fixed-width font by aligning characters in each row of text. This is usually necessary for text-formatted tables display properly. Defaults to 'TRUE'.} \item{cspace}{Space between characters as a multiple of the width of the letter 'W'. This only applies when \code{fixed.width==TRUE}. } \item{lspace}{Line spacing. This only applies when \code{fixed.width==TRUE}.} \item{mar}{Figure margins, see the documentation for \code{par}.} \item{rmar, cmar}{Space between rows or columns, in fractions of the size of the letter 'M'.} \item{show.rownames, show.colnames}{Logical value indicating whether row or column names will be displayed.} \item{hadj,vadj}{Vertical and horizontal location of elements within matrix cells. These have the same meaning as the \code{adj} graphics paramter (see \code{\link{par}}).} \item{col.data}{Colors for data elements. If a single value is provided, all data elements will be the same color. If a matrix matching the dimensions of the data is provided, each data element will receive the specified color.} \item{col.rownames, col.colnames}{Colors for row names and column names, respectively. Either may be specified as a scalar or a vector of appropriate length.} \item{tab.width}{Width of a single tab stop, in characters} \item{\dots}{ Optional arguments passed to the text plotting command or specialied object methods} } \details{ A new plot is created and the object is displayed using the largest font that will fit on in the plotting region. The \code{halign} and \code{valign} parameters can be used to control the location of the string within the plotting region. For matrixes and vectors a specialized textplot function is available, which plots each of the cells individually, with column widths set according to the sizes of the column elements. If present, row and column labels will be displayed in a bold font. } \value{ The character scaling factor (\code{cex}) used. } \author{Gregory R. Warnes \email{greg@warnes.net}} \seealso{ \code{\link{plot}}, \code{\link{text}}, \code{\link[utils]{capture.output}} } \examples{ \dontrun{ ### simple examples # show R version information textplot(version) # show the alphabet as a single string textplot( paste(letters[1:26], collapse=" ") ) # show the alphabet as a matrix textplot( matrix(letters[1:26], ncol=2)) ### Make a nice 4 way display with two plots and two text summaries data(iris) par(mfrow=c(2,2)) plot( Sepal.Length ~ Species, data=iris, border="blue", col="cyan", main="Boxplot of Sepal Length by Species" ) plotmeans( Sepal.Length ~ Species, data=iris, barwidth=2, connect=FALSE, main="Means and 95\% Confidence Intervals\nof Sepal Length by Species") info <- sapply( split(iris$Sepal.Length, iris$Species), function(x) round(c(Mean=mean(x), SD=sd(x), N=nrow(x)),2) ) textplot( info, valign="top" ) title("Sepal Length by Species") reg <- lm( Sepal.Length ~ Species, data=iris ) textplot( capture.output(summary(reg)), valign="top") title("Regression of Sepal Length by Species") par(mfrow=c(1,1)) ### Show how to control text color cols <- c("red", "green", "magenta", "forestgreen") mat <- cbind(name=cols, t(col2rgb(cols)), hex=col2hex(cols)) textplot(mat, col.data=matrix(cols, nrow=length(cols), byrow=FALSE, ncol=5), ) ### Show how to manually tune the character size data(iris) reg <- lm( Sepal.Length ~ Species, data=iris ) text <- capture.output(summary(reg)) # do the plot and capture the character size used textplot(text, valign="top") # see what size was used cex # now redo the plot at 80\% size textplot( text, valign="top", cex=cex*0.80) } } \keyword{hplot} gplots/man/qqnorm.aov.Rd0000644000176200001440000000420714700167105014731 0ustar liggesusers\name{qqnorm.aov} \alias{qqnorm.aov} \title{ Makes a half or full normal plot for the effects from an aov model } \description{ Makes a half or full normal plot for the effects from a model inheriting from class \code{aov}. One can interactively label the points in the plot. } \usage{ \method{qqnorm}{aov}(y, full=FALSE, label=FALSE, omit=NULL, xlab=paste(if (full) "" else "Half", " Normal plot"), ylab="Effects", ...) } \arguments{ \item{y}{A model object inheriting from \code{aov}} \item{full}{Full or half normal plot (half is default) } \item{label}{If \code{TRUE}, function allows interactive labelling of points in plot, using the mouse } \item{omit}{Numeric or character vector of effects to omit, the intercept is always omitted} \item{xlab}{Horizontal axix label } \item{ylab}{Vertical axis label } \item{\dots}{Further arguments to be given to the plot function } } \details{ Produces a (half) normal plot of the effects from an AOV model. The idea behind the plot is that most effects will be small or null, and this effects can be used as a basis for estimation of the experimental variance. This small effects will show up in the plot as a straight line, other effects can be judged against this as a background. Heavily used by Box, Hunter & Hunter, which attributes the idea to Daniel. } \value{ If \code{label=TRUE}, the vector of points identified, else nothing of interest. } \references{ Box, Hunter and Hunter: Statistics for Experimenters. An Introduction to Design, Data Analysis and Model Building. Wiley. \cr Daniel, C (1976): Applications of Statistics to Industrial Experimentation. Wiley. \cr Daniel, C (1959): Use of half-normal plot in interpreting factorial two-level experiments. \emph{Technometrics.}\bold{1}, 149. } \author{Kjetil Halvorsen \email{kjetil@entelnet.bo}} \examples{ library(MASS) data(npk) npk.aov <- aov(yield ~ block + N*P*K, npk) qqnorm(npk.aov) ## interactive labeling of points. Click mouse on points to show label. if (dev.interactive()) qqnorm(npk.aov, omit=2:6, label=TRUE) } \keyword{ hplot }% \keyword{ design } gplots/man/plotCI.Rd0000644000176200001440000001250212471456253014027 0ustar liggesusers% $Id: plotCI.Rd 1441 2010-06-11 03:11:54Z warnes $ % % $Log$ % Revision 1.8 2005/11/08 16:19:42 nj7w % Updated Greg's email % % Revision 1.7 2005/06/09 14:20:28 nj7w % Updating the version number, and various help files to synchronize splitting of gregmisc bundle in 4 individual components. % % Revision 1.1.1.1 2005/05/25 22:15:31 nj7w % Initial submission as an individual package % % Revision 1.6 2004/07/29 14:49:02 warnes % Integrate changes from the version of plotCI maintained by Martin Maechler. % % Revision 1.5 2004/05/27 15:11:08 warnes % Fix spelling error. % % Revision 1.4 2002/09/23 13:59:30 warnes % - Modified all files to include CVS Id and Log tags. % % \name{plotCI} \alias{plotCI} \title{Plot Error Bars and Confidence Intervals} \description{ Given a set of x and y values and interval width or upper and lower bounds, plot the points with error bars. This can be a useful tool for visualizing confidence intervals. } \usage{ plotCI(x, y = NULL, uiw, liw = uiw, ui, li, err='y', ylim=NULL, xlim=NULL, type="p", col=par("col"), barcol=col, pt.bg = par("bg"), sfrac = 0.01, gap=1, lwd=par("lwd"), lty=par("lty"), labels=FALSE, add=FALSE, xlab, ylab, minbar, maxbar, ... ) } \arguments{ \item{x,y}{ coordinates for the center of error bars. \code{y} defaults to \code{1:n}.} \item{uiw}{ width of the upper or right error bar. Set to \code{NULL} or \code{NA} to omit upper bars.} \item{liw}{ width of the lower or left error bar. Defaults to same value as \code{uiw}. Set to \code{NULL} or \code{NA} to omit lower bars. } \item{ui}{ upper end of error bars. Defaults to \code{y + uiw} or \code{x + uiw} depeding on \code{err}. Set to \code{NULL} or \code{NA} to omit upper bars. } \item{li}{ lower end of error bars. Defaults to \code{y - liw} or \code{x - liw} depedning on \code{err}. Set to \code{NULL} or \code{NA} to omit lower bars.} \item{err}{ direction for error bars. Set to "y" for vertical bars. Set to "x" for horizontal bars. Defaults to "y".} \item{col}{ color of plotting character used center marker of error bars. Default is "black".} \item{xlim, ylim}{ range of x/y values to include in the plotting area. } \item{type}{point/line type; passed to \code{\link{points}}} \item{barcol}{color of the error bars. Defaults to the same value as \code{col} } \item{pt.bg}{background color of points (use \code{pch=21, pt.bg=par("bg")} to get open points superimposed on error bars).} \item{sfrac}{ width of "crossbar" at the end of error bar as a fraction of the x plotting region. Defaults to 0.01. } \item{gap}{ space left between the center of the error bar and the lines marking the error bar in units of the height (width) of the letter "O". Defaults to 1.0 } \item{lwd}{ width of bar lines. } \item{lty}{ line type of bar lines. } \item{labels}{ either a logical value indicating whether the circles representing the x values should be replaced with text giving the actual values or a vector containing labels to use instead. Defaults to \code{FALSE}. } \item{add}{logical indicating whether error bars should be added to the current plot. If \code{FALSE} (the defailt), a new plot will be created and symbols/labels for the x values will be plotted before drawing error bars.} \item{minbar}{minumum allowed value for bar ends. If specified, values smaller than \code{minbar} will be replaced with \code{minbar}. } \item{maxbar}{maximum allowed value for bar ends. If specified, values larger than \code{maxbar} will be replaced with \code{maxbar}. } \item{\dots}{ optional plotting parameters } \item{xlab}{ label for x axis. } \item{ylab}{label for y axis. } } %\details{ % ~~ If necessary, more details than the __description__ above ~~ %} \author{ Original version by Bill Venables \email{wvenable@attunga.stats.adelaide.edu.au} posted to r-help on Sep. 20, 1997. Enhanced version posted to r-help by Ben Bolker \email{ben@zoo.ufl.edu} on Apr. 16, 2001. This version was modified and extended by Gregory R. Warnes \email{greg@warnes.net}. Additional changes suggested by Martin Maechler \email{maechler@stat.math.ethz.ch} integrated on July 29, 2004. } \seealso{ \code{\link{plotmeans}} provides an enhanced wrapper to \code{plotCI}. } \examples{ # plot means and data(state) tmp <- split(state.area, state.region) means <- sapply(tmp, mean) stdev <- sqrt(sapply(tmp, var)) n <- sapply(tmp,length) ciw <- qt(0.975, n) * stdev / sqrt(n) # plain plotCI(x=means, uiw=ciw) # prettier plotCI(x=means, uiw=ciw, col="black", barcol="blue", lwd=1) # give mean values plotCI(x=means, uiw=ciw, col="black", barcol="blue", labels=round(means,-3), xaxt="n", xlim=c(0,5) ) axis(side=1, at=1:4, labels=names(tmp), cex=0.7) # better yet, just use plotmeans ... # plotmeans( state.area ~ state.region ) \dontshow{ ## Just for testing plotCI(x=means, uiw=NA) plotCI(x=means, uiw=NULL) plotCI(x=means, uiw=ciw) plotCI(x=means, uiw=ciw, liw=NULL) plotCI(x=means, uiw=ciw, liw=NA) plotCI(x=means, liw=ciw, ciw=NULL) plotCI(x=means, liw=ciw, ciw=NA) ciw.na <- ciw ciw.na[3] <- NA plotCI(x=means, uiw=ciw.na, liw=ciw) plotCI(x=means, liw=ciw.na, uiw=ciw) } } \keyword{ hplot } gplots/man/rtPCR.Rd0000644000176200001440000000436112471456253013633 0ustar liggesusers\name{rtPCR} \alias{rtPCR} \docType{data} \title{Teratogenesis rtPCR data} \description{ rtPCR data for experiments investigating a variety of markers for characterizing teratogenicity. } \usage{data(rtPCR)} \format{ A data frame with 1672 observations on the following 21 variables. \describe{ \item{PlateID}{a factor with levels \code{A0027002} through \code{A0054019}} \item{Test.Substance}{a factor with levels \code{Compound A} through \code{Compound H}} \item{Teratogenicity.in.vivo}{a factor with levels \code{Non} \code{Strong} \code{Weak / Moderate}} \item{Sample}{a factor with levels \code{Sample 1} - \code{Sample 152}} \item{Rep..}{a factor with levels \code{Rep 1} - \code{Rep 21}} \item{Label}{a factor with levels \code{Ctrl}, \code{Neg. Ctrl} \code{P1} - \code{P9}, \code{No Vehicle Ctrl}, and \code{Pos. Ctrl}} \item{Conc..ug.ml.}{a numeric vector} \item{Detector}{a factor with levels \code{ProbeType 1} - \code{ProbeType 17}} \item{Avg.delta.Ct}{a numeric vector} \item{delta.Ct.SD}{a numeric vector} \item{delta.delta.Ct}{a numeric vector} \item{RQ}{a numeric vector} \item{X..RQ}{a numeric vector} \item{X100..Custom..}{a numeric vector} \item{X100...Custom..}{a numeric vector} \item{Custom..}{a numeric vector} \item{Custom...1}{a numeric vector} \item{RQ.Min}{a numeric vector} \item{RQ.Max}{a numeric vector} \item{Threshold}{a numeric vector} } } \details{ TBA } \source{ Anonymized data. } \examples{ data(rtPCR) # same scale overplot( RQ ~ Conc..ug.ml. | Test.Substance, data=rtPCR, subset=Detector=="ProbeType 7" & Conc..ug.ml. > 0, same.scale=TRUE, log="xy", f=3/4, main="Detector=ProbeType 7", xlab="Concentration (ug/ml)", ylab="Relative Gene Quantification" ) # different scales, but force lower limit to 0.01 overplot( RQ ~ Conc..ug.ml. | Test.Substance, data=rtPCR, subset=Detector=="ProbeType 7" & Conc..ug.ml. > 0, log="xy", f=3/4, main="Detector=ProbeType 7", xlab="Concentration (ug/ml)", ylab="Relative Gene Quantification", min.y=0.01 ) } \keyword{datasets} gplots/man/bandplot.Rd0000644000176200001440000000734112471456253014445 0ustar liggesusers\name{bandplot} \alias{bandplot} \alias{bandplot.formula} \alias{bandplot.default} \title{Plot x-y Points with Locally Smoothed Mean and Standard Deviation} \description{ Plot x-y points with curves for locally smoothed mean and standard deviation. } \usage{ bandplot(x,...) \method{bandplot}{formula}(x, data, subset, na.action, ..., xlab=NULL, ylab=NULL, add = FALSE, sd = c(-2:2), sd.col=c("magenta", "blue", "red", "blue", "magenta"), sd.lwd=c(2, 2, 3, 2, 2), sd.lty=c(2, 1, 1, 1, 2), method = "frac", width = 1/5, n=50) \method{bandplot}{default}(x, y, ..., add = FALSE, sd = c(-2:2), sd.col=c("magenta", "blue", "red", "blue", "magenta"), sd.lwd=c(2, 2, 3, 2, 2), sd.lty=c(2, 1, 1, 1, 2), method = "frac", width = 1/5, n=50) } \arguments{ \item{x}{either formula providing a single dependent variable (y) and an single independent variable (x) to use as coordinates in the scatter plot or a numeric vector of x locations} \item{y}{numeric vector of y locations} \item{data}{an optional data.frame, list, or environment contianing the variables used in the model (and in \code{subset}). If not found in data, the variables are taken from environment(formula), typically the environment from which lm is called.} \item{subset}{an optional vector specifying a subset of observations to be used in the fitting process.} \item{na.action}{a function which indicates what should happen when the data contain NAs. The default is set by the na.action setting of options, and is na.fail if that is unset. The factory-fresh default is na.omit. Another possible value is NULL, no action. Value na.exclude can be useful. } \item{\dots}{Additional plotting parameters} \item{xlab, ylab}{x and y axis labels} \item{add}{ Boolean indicating whether the local mean and standard deviation lines should be added to an existing plot. Defaults to FALSE.} \item{sd}{Vector of multiples of the standard devation that should be plotted. \code{0} gives the mean, \code{-1} gives the mean minus one standard deviation, etc. Defaults to -2:2.} \item{sd.col,sd.lwd,sd.lty}{Color, line width, and line type of each plotted line.} \item{method, width, n}{ Parameters controlling the smoothing. See the help page for \code{\link{wapply}} for details.} } \details{ \code{bandplot} was created to look for changes in the mean or variance of scatter plots, particularly plots of regression residuals. The local mean and standard deviation are calculated by calling 'wapply'. By default, bandplot asks wapply to smooth using intervals that include the nearest 1/5 of the data. See the documentation of that function for details on the algorithm. } \value{ Invisibly returns a list containing the x,y points plotted for each line. } \author{ Gregory R. Warnes \email{greg@warnes.net} } \seealso{ \code{\link{wapply}}, \code{\link{lowess}}} \examples{ # fixed mean, changing variance x <- 1:1000 y <- rnorm(1000, mean=1, sd=1 + x/1000 ) bandplot(x,y) bandplot(y~x) # fixed varance, changing mean x <- 1:1000 y <- rnorm(1000, mean=x/1000, sd=1) bandplot(x,y) # # changing mean and variance # x <- abs(rnorm(500)) y <- rnorm(500, mean=2*x, sd=2+2*x) # the changing mean and dispersion are hard to see whith the points alone: plot(x,y ) # regression picks up the mean trend, but not the change in variance reg <- lm(y~x) summary(reg) abline(reg=reg, col="blue", lwd=2) # using bandplot on the original data helps to show the mean and # variance trend bandplot(y ~ x) # using bandplot on the residuals helps to see that regression removes # the mean trend but leaves the trend in variability bandplot(predict(reg),resid(reg)) } \keyword{ dplot } gplots/man/colorpanel.Rd0000644000176200001440000000374214700161232014764 0ustar liggesusers\name{colorpanel} \alias{colorpanel} \alias{redgreen} \alias{greenred} \alias{bluered} \alias{redblue} \title{Generate a smoothly varying set of colors} \description{ \code{colorpanel} generate a set of colors that varies smoothly. \code{redgreen}, \code{greenred}, \code{bluered}, and \code{redblue} generate red-black-green, green-black-red, red-white-blue, and blue-white-red colorbars, respectively. colors } \usage{ colorpanel(n, low, mid, high) redgreen(n) greenred(n) bluered(n) redblue(n) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{n}{Desired number of color elements in the panel.} \item{low, mid, high}{Colors to use for the Lowest, middle, and highest values. \code{mid} may be ommited.} } \details{ The values for \code{low, mid, high} can be given as color names (\code{"red"}), plot color index (\code{2}), and HTML-style RGB, (\code{"#FF0000"}). If \code{mid} is supplied, then the returned color panel will consist of \code{n - floor(n/2)} HTML-style RGB elements which vary smoothly between \code{low} and \code{mid}, then between \code{mid} and \code{high}. Note that if \code{n} is even, the color \code{mid} will occur twice at the center of the sequence. If \code{mid} is omitted, the color panel will vary smoothly beween \code{low} and \code{high}. } \value{ Vector of HTML-style RGB colors. } \author{ Gregory R. Warnes \email{greg@warnes.net} } \seealso{ \code{\link{colors} } } \examples{ showpanel <- function(col) { image(z=matrix(1:100, ncol=1), col=col, xaxt="n", yaxt="n" ) } par(mfrow=c(3,3)) # two colors only: showpanel(colorpanel(8,low="red",high="green")) # three colors showpanel(colorpanel(8,"red","black","green")) # note the duplicatation of black at the center, using an odd # number of elements resolves this: showpanel(colorpanel(9,"red","black","green")) showpanel(greenred(64)) showpanel(redgreen(64)) showpanel(bluered(64)) showpanel(redblue(64)) } \keyword{color} gplots/man/wapply.Rd0000644000176200001440000001167212471456253014160 0ustar liggesusers% $Id: wapply.Rd 1441 2010-06-11 03:11:54Z warnes $ % % $Log$ % Revision 1.10 2005/12/01 16:46:52 nj7w % Updated Greg's email address % % Revision 1.9 2005/06/09 14:20:28 nj7w % Updating the version number, and various help files to synchronize splitting of gregmisc bundle in 4 individual components. % % Revision 1.1.1.1 2005/05/25 22:15:31 nj7w % Initial submission as an individual package % % Revision 1.8 2003/12/03 02:46:51 warnes % - match function argument defaults with 'usage' % % Revision 1.7 2003/01/20 17:13:06 warnes % % - Updated wapply.R to allow specification of evaluation points when % method is 'width' or 'range' using the 'pts' argument. % - Updated wapply.Rd to add 'pts' argument % - Fixed typos, spelling errors, gramatical errors and lack of clarity % in wapply.Rd help text. % % Revision 1.6 2002/04/09 00:51:33 warneg % % Checkin for version 0.5.3 % % Revision 1.5 2001/12/07 23:34:35 warneg % % Fixed an problem where \code was incorrectly delimited by parens % rather than curly brackets. % % Revision 1.4 2001/12/05 19:36:30 warneg % - Clarified how the width of the window is computed when method="nobs". % % Revision 1.3 2001/10/16 23:15:01 warneg % % Fixed unbalanced brace. % % Revision 1.2 2001/09/01 00:01:55 warneg % Release 0.3.0 % % Revision 1.1 2001/08/25 05:45:10 warneg % Initial Checkin % % \name{wapply} \alias{wapply} \title{Compute the Value of a Function Over a Local Region Of An X-Y Plot} \description{ This function applies the specified function to the sets of y values that are defined by overlapping "windows" in the x-dimension. For example, setting \code{fun=mean} returns local means, while setting \code{fun=function(x) sqrt(var(x))} returns local estimates of the standard deviation. } \usage{ wapply(x, y, fun=mean, method="range", width, n=50, drop.na=TRUE, pts, ...) } \arguments{ \item{x}{ vector of x values for (x,y) pairs } \item{y}{ vector of y values for (x,y) pairs } \item{fun}{ function to be applied } \item{method}{ method of defining an x-neighborhood. One of "width","nobs","range", or "fraction". See details.} \item{width}{ width of an x-neighborhood. See details. } \item{n}{ Number of equally spaced points at which to compute local estimates. See details.} \item{drop.na}{ should points which result in missing values \code{NA} be omitted from the return value. Defaults to true. } \item{pts}{ \code{x} locations at which to compute the local mean when using the "width" or "range" methods. Ignored otherwise.} \item{\dots}{ arguments to be passed to \code{fun} } } \details{ Two basic techniques are available for determining what points fall within the same x-neighborhood. The first technique uses a window with a fixed width in the x-dimension and is is selected by setting \code{method="width"} or \code{method="range"}. For \code{method="width"} the \code{width} argument is an absolute distance in the x-dimension. For \code{method="range"}, the width is expressed as a fraction of the x-range. In both cases, \code{pts} specifies the points at which evaluation of \code{fun} occurs. When \code{pts} is omitted, \code{n} x values equally spaced along the x range are used. The second technique uses windows containing k neighboring points. The (x,y) pairs are sorted by the x-values and the nearest k/2 points with higher x values and the k/2 nearest points with lower x values are included in the window. When \code{method="nobs"}, k equals \code{width} (actually 2*floor(\code{width}/2) ). When \code{method="fraction"}, \code{width} specifies what fraction of the total number of points should be included. The actual number of points included in each window will be floor(n*frac/2)*2. Regardless of the value of \code{pts}, the function \code{fun} will be evaluated at all x locations. } \value{ Returns a list with components \item{x }{x location'} \item{y }{Result of applying \code{fun} to the window about each x location} } \author{ Gregory R. Warnes \email{greg@warnes.net} } \examples{ #show local mean and inner 2-sd interval to help diagnose changing mean #or variance structure x <- 1:1000 y <- rnorm(1000, mean=1, sd=1 + x/1000 ) plot(x,y) lines(wapply(x,y,mean),col="red") CL <- function(x,sd) mean(x)+sd*sqrt(var(x)) lines(wapply(x,y,CL,sd= 1),col="blue") lines(wapply(x,y,CL,sd=-1),col="blue") lines(wapply(x,y,CL,sd= 2),col="green") lines(wapply(x,y,CL,sd=-2),col="green") #show local mean and inner 2-sd interval to help diagnose changing mean #or variance structure x <- 1:1000 y <- rnorm(1000, mean=x/1000, sd=1) plot(x,y) lines(wapply(x,y,mean),col="red") CL <- function(x,sd) mean(x)+sd*sqrt(var(x)) lines(wapply(x,y,CL,sd= 1,method="fraction",width=1/20),col="blue") lines(wapply(x,y,CL,sd=-1,method="fraction",width=1/20),col="blue") lines(wapply(x,y,CL,sd= 2,method="nobs",width=250),col="green") lines(wapply(x,y,CL,sd=-2,method="nobs",width=250),col="green") } \keyword{ dplot } gplots/man/overplot.Rd0000644000176200001440000000666712471456254014527 0ustar liggesusers\name{overplot} \alias{overplot} \alias{panel.overplot} \title{Plot multiple variables on the same region, with appropriate axes} \description{ \code{overplot} graphs a set of variables defined on the same x-range but which have varying y-ranges on the same plotting area. For each set of y-values it uses a different color and line-type and and draws a correspondingly colored and line-typed axis. \code{panel.overplot} is used by \code{overplot} to draw the individual graphs. } \usage{ overplot(formula, data = parent.frame(), same.scale = FALSE, xlab, ylab, xlim, ylim, min.y, max.y, log = "", panel = "panel.overplot", subset, plot = TRUE, groups, main, f = 2/3, ...) } \arguments{ \item{formula}{Formula describing the x and y variables. It should be of the form x ~ y|z. The conditioning variable (z) should be a factor.} \item{same.scale}{ Logical value indicating whether the plot region should have the same range for all plots. Defaults to \code{FALSE}.} \item{xlab, ylab, xlim, ylim, main}{ Standard plotting parameters. See \code{\link{plot}} for details} \item{min.y, max.y}{Scalar or vector values used to specify the y plotting limits for individual plots. If a single scalar value is provided, it will be used for all plots. These parameters can be used specify one end of the individual plot ranges, while allowing the other end to vary with the data. EG, to force 0 to always be within the plot region.} \item{log}{ character string '', 'x', 'y', or 'xy', indicating which axes should be plotted on a log scale. Defaults to '' (neither).} \item{panel}{ a plotting function to be called to draw the individual plots. Defaults to \code{overplot.panel}, which plots the points and a \code{lowess} smooth. } \item{plot}{Logical value indicating whether to draw the plot.} \item{groups}{(optional) character vector giving the names of levels of the conditioning variable to plot. Defaults to all levels of the conditioning variable.} \item{f}{Smoothing parameter for \code{lowess}} \item{data, subset, \dots}{parameters passed to \code{model.frame} to obtain the data to be plotted from the formula.} } \details{ This function essentially performs tmp <- split(data, z) for(i in levels(z)) plot( x ~ y, data=tmp[[z]] ) except that all of the plots are shown on the same plotting region and varying scales for each value of z are handled nicely. } \value{ A copy of the data split by the conditioning variable. } \author{ Gregory R. Warnes \email{greg@warnes.net} } \seealso{ \code{\link{interaction.plot}}, \code{\link{coplot}} for alternative visualizations of 3-way data.} \examples{ # Example teratogenicity rtPCR data data(rtPCR) # same scale overplot( RQ ~ Conc..ug.ml. | Test.Substance, data=rtPCR, subset=Detector=="ProbeType 1" & Conc..ug.ml. > 0, same.scale=TRUE, log="xy", f=3/4, main="Detector=ProbeType 1", xlab="Concentration (ug/ml)", ylab="Relative Gene Quantification" ) # different scales, but force lower limit to 0.01 overplot( RQ ~ Conc..ug.ml. | Test.Substance, data=rtPCR, subset=Detector=="ProbeType 8" & Conc..ug.ml. > 0, log="xy", f=3/4, main="Detector=ProbeType 8", xlab="Concentration (ug/ml)", ylab="Relative Gene Quantification", min.y=0.01 ) } \keyword{hplot} gplots/man/gplots-defunct.Rd0000644000176200001440000000354312675264544015606 0ustar liggesusers\name{gplots-defunct} \alias{boxplot.n} \alias{plot.lm2} \alias{smartlegend} \title{Defunct functions} \description{ These functions are defunct and have been removed from the gplots package. } \usage{ boxplot.n(..., top=FALSE, shrink=1, textcolor=NULL) plot.lm2( x, which = 1:5, caption = c("Residuals vs Fitted", "Normal Q-Q plot", "Scale-Location plot", "Cook's distance plot"), panel = panel.smooth, sub.caption = deparse(x$call), main = "", ask, ..., id.n = 3, labels.id = names(residuals(x)), cex.id = 0.75, band=TRUE, rug=TRUE, width=1/10, max.n=5000 ) smartlegend(x = c("left", "center", "right"), y = c("top", "center", "bottom"), ..., inset = 0.05) } \arguments{ \item{ask, band, caption, cex.id, id.n, inset, labels.id, main, max.n, panel, rug, shrink, sub.caption, textcolor, top, which, width, x, y, \dots}{see man page for the corresponding replacement function} } \details{ These functions are no longer available. Please refer to the manual page for the replacement function: \itemize{ \item \code{boxplot.n} has been replaced by \code{\link{boxplot2}} \item \code{plot.lm2} has been replaced by \code{\link{lmplot2}} \item \code{smartlegend} is no longer needed because relative positioning has been implemented in \code{\link[graphics]{legend}}. } } \author{Gregory R. Warnes \email{greg@warnes.net}} \seealso{ \code{\link{boxplot2}}, \code{\link{lmplot2}}, \code{\link[graphics]{legend}}, \code{\link[base]{Defunct}} } \keyword{misc} gplots/man/ci2d.Rd0000644000176200001440000002114513727070277013464 0ustar liggesusers% $Id$ \name{ci2d} \alias{ci2d} \alias{print.ci2d} \title{ Create 2-dimensional empirical confidence regions } \description{ Create 2-dimensional empirical confidence regions from provided data. } \usage{ ci2d(x, y = NULL, nbins=51, method=c("bkde2D","hist2d"), bandwidth, factor=1.0, ci.levels=c(0.50,0.75,0.90,0.95,0.975), show=c("filled.contour","contour","image","none"), col=topo.colors(length(breaks)-1), show.points=FALSE, pch=par("pch"), points.col="red", xlab, ylab, ...) \method{print}{ci2d}(x, ...) } \arguments{ \item{x}{either a vector containing the x coordinates or a matrix with 2 columns. } \item{y}{a vector contianing the y coordinates, not required if `x' is matrix} \item{nbins}{number of bins in each dimension. May be a scalar or a 2 element vector. Defaults to 51.} \item{method}{One of "bkde2D" (for KernSmooth::bdke2d) or "hist2d" (for gplots::hist2d) specifyting the name of the method to create the 2-d density summarizing the data. Defaults to "bkde2D".} \item{bandwidth}{Bandwidth to use for \code{KernSmooth::bkde2D}. See below for default value. } \item{factor}{Numeric scaling factor for bandwidth. Useful for exploring effect of changing the bandwidth. Defaults to 1.0.} \item{ci.levels}{Confidence level(s) to use for plotting data. Defaults to \code{c(0.5, 0.75, 0.9, 0.95, 0.975)} } \item{show}{Plot type to be displaed. One of "filled.contour", "contour", "image", or "none". Defaults to "filled.contour".} \item{show.points}{Boolean indicating whether original data values should be plotted. Defaults to \code{TRUE}.} \item{pch}{Point type for plots. See \code{points} for details.} \item{points.col}{Point color for plotting original data. Defaiults to "red".} \item{col}{Colors to use for plots.} \item{xlab, ylab}{Axis labels} \item{\dots}{Additional arguments passed to \code{KernSmooth::bkde2D} or \code{gplots::hist2d}. } } \details{ This function utilizes either \code{KernSmooth::bkde2D} or \code{gplots::hist2d} to estmate a 2-dimensional density of the data passed as an argument. This density is then used to create and (optionally) display confidence regions. When \code{bandwidth} is ommited and \code{method="bkde2d"}, \code{KernSmooth::dpik} is appled in x and y dimensions to select the bandwidth. } \note{ Confidence intervals generated by ci2d are \emph{approximate}, and are subject to biases and/or artifacts induced by the binning or kernel smoothing method, bin locations, bin sizes, and kernel bandwidth. The \code{\link[r2d2]{conf2d}} function in the \pkg{r2d2} package may create a more accurate confidence region, and reports the actual proportion of points inside the region. } \value{ A \code{ci2d} object consisting of a list containing (at least) the following elements: \item{nobs}{number of original data points} \item{x}{x position of each density estimate bin} \item{y}{y position of each density estimate bin} \item{density}{Matrix containing the probability density of each bin (count in bin/total count)} \item{cumDensity}{Matrix where each element contains the cumulative probability density of all elements with the same density (used to create the confidence region plots) } \item{contours}{List of contours of each confidence region.} \item{call}{Call used to create this object} } \author{ Gregory R. Warnes \email{greg@warnes.net}} \seealso{ \code{\link[KernSmooth]{bkde2D}}, \code{\link[r2d2]{conf2d}}, \code{\link[KernSmooth]{dpik}}, \code{\link{hist2d}} } \examples{ #### ## Basic usage #### data(geyser, package="MASS") x <- geyser$duration y <- geyser$waiting # 2-d confidence intervals based on binned kernel density estimate ci2d(x,y) # filled contour plot ci2d(x,y, show.points=TRUE) # show original data # image plot ci2d(x,y, show="image") ci2d(x,y, show="image", show.points=TRUE) # contour plot ci2d(x,y, show="contour", col="black") ci2d(x,y, show="contour", col="black", show.points=TRUE) #### ## Control Axis scales #### x <- rnorm(2000, sd=4) y <- rnorm(2000, sd=1) # 2-d confidence intervals based on binned kernel density estimate ci2d(x,y) # 2-d confidence intervals based on 2d histogram ci2d(x,y, method="hist2d", nbins=25) # Require same scale for each axis, this looks oval ci2d(x,y, range.x=list(c(-20,20), c(-20,20))) ci2d(x,y, method="hist2d", same.scale=TRUE, nbins=25) # hist2d #### ## Control smoothing and binning #### x <- rnorm(2000, sd=4) y <- rnorm(2000, mean=x, sd=2) # Default 2-d confidence intervals based on binned kernel density estimate ci2d(x,y) # change the smoother bandwidth ci2d(x,y, bandwidth=c(sd(x)/8, sd(y)/8) ) # change the smoother number of bins ci2d(x,y, nbins=10) ci2d(x,y) ci2d(x,y, nbins=100) # Default 2-d confidence intervals based on 2d histogram ci2d(x,y, method="hist2d", show.points=TRUE) # change the number of histogram bins ci2d(x,y, nbin=10, method="hist2d", show.points=TRUE ) ci2d(x,y, nbin=25, method="hist2d", show.points=TRUE ) #### ## Perform plotting manually #### data(geyser, package="MASS") # let ci2d handle plotting contours... ci2d(geyser$duration, geyser$waiting, show="contour", col="black") # call contour() directly, show the 90 percent CI, and the mean point est <- ci2d(geyser$duration, geyser$waiting, show="none") contour(est$x, est$y, est$cumDensity, xlab="duration", ylab="waiting", levels=0.90, lwd=4, lty=2) points(mean(geyser$duration), mean(geyser$waiting), col="red", pch="X") #### ## Extract confidence region values ### data(geyser, package="MASS") ## Empirical 90 percent confidence limits quantile( geyser$duration, c(0.05, 0.95) ) quantile( geyser$waiting, c(0.05, 0.95) ) ## Bivariate 90 percent confidence region est <- ci2d(geyser$duration, geyser$waiting, show="none") names(est$contours) ## show available contours ci.90 <- est$contours[names(est$contours)=="0.9"] # get region(s) ci.90 <- rbind(ci.90[[1]],NA, ci.90[[2]], NA, ci.90[[3]]) # join them print(ci.90) # show full contour range(ci.90$x, na.rm=TRUE) # range for duration range(ci.90$y, na.rm=TRUE) # range for waiting #### ## Visually compare confidence regions #### data(geyser, package="MASS") ## Bivariate smoothed 90 percent confidence region est <- ci2d(geyser$duration, geyser$waiting, show="none") names(est$contours) ## show available contours ci.90 <- est$contours[names(est$contours)=="0.9"] # get region(s) ci.90 <- rbind(ci.90[[1]],NA, ci.90[[2]], NA, ci.90[[3]]) # join them plot( waiting ~ duration, data=geyser, main="Comparison of 90 percent confidence regions" ) polygon( ci.90, col="green", border="green", density=10) ## Univariate Normal-Theory 90 percent confidence region mean.x <- mean(geyser$duration) mean.y <- mean(geyser$waiting) sd.x <- sd(geyser$duration) sd.y <- sd(geyser$waiting) t.value <- qt(c(0.05,0.95), df=length(geyser$duration), lower=TRUE) ci.x <- mean.x + t.value* sd.x ci.y <- mean.y + t.value* sd.y plotCI(mean.x, mean.y, li=ci.x[1], ui=ci.x[2], barcol="blue", col="blue", err="x", pch="X", add=TRUE ) plotCI(mean.x, mean.y, li=ci.y[1], ui=ci.y[2], barcol="blue", col="blue", err="y", pch=NA, add=TRUE ) # rect(ci.x[1], ci.y[1], ci.x[2], ci.y[2], border="blue", # density=5, # angle=45, # col="blue" ) ## Empirical univariate 90 percent confidence region box <- cbind( x=quantile( geyser$duration, c(0.05, 0.95 )), y=quantile( geyser$waiting, c(0.05, 0.95 )) ) rect(box[1,1], box[1,2], box[2,1], box[2,2], border="red", density=5, angle=-45, col="red" ) ## now a nice legend legend( "topright", legend=c(" Region type", "Univariate Normal Theory", "Univarite Empirical", "Smoothed Bivariate"), lwd=c(NA,1,1,1), col=c("black","blue","red","green"), lty=c(NA,1,1,1) ) #### ## Test with a large number of points #### \dontrun{ x <- rnorm(60000, sd=1) y <- c( rnorm(40000, mean=x, sd=1), rnorm(20000, mean=x+4, sd=1) ) hist2d(x,y) ci <- ci2d(x,y) ci } } \keyword{dplot} \keyword{hplot} \keyword{nonparametric} gplots/DESCRIPTION0000644000176200001440000000513114700342362013271 0ustar liggesusersPackage: gplots Title: Various R Programming Tools for Plotting Data Description: Various R programming tools for plotting data, including: - calculating and plotting locally smoothed summary function as ('bandplot', 'wapply'), - enhanced versions of standard plots ('barplot2', 'boxplot2', 'heatmap.2', 'smartlegend'), - manipulating colors ('col2hex', 'colorpanel', 'redgreen', 'greenred', 'bluered', 'redblue', 'rich.colors'), - calculating and plotting two-dimensional data summaries ('ci2d', 'hist2d'), - enhanced regression diagnostic plots ('lmplot2', 'residplot'), - formula-enabled interface to 'stats::lowess' function ('lowess'), - displaying textual data in plots ('textplot', 'sinkplot'), - plotting dots whose size reflects the relative magnitude of the elements ('balloonplot', 'bubbleplot'), - plotting "Venn" diagrams ('venn'), - displaying Open-Office style plots ('ooplot'), - plotting multiple data on same region, with separate axes ('overplot'), - plotting means and confidence intervals ('plotCI', 'plotmeans'), - spacing points in an x-y plot so they don't overlap ('space'). Depends: R (>= 3.0) Imports: gtools, stats, caTools, KernSmooth, methods Suggests: grid, MASS, knitr, rmarkdown, r2d2, nlme LazyData: yes VignetteBuilder: knitr Version: 3.2.0 Date: 2024-10-05 Authors@R: c( person("Gregory R.", "Warnes", , role = "aut"), person("Ben", "Bolker", , role = "aut"), person("Lodewijk", "Bonebakker", , role = "aut"), person("Robert", "Gentleman", role = "aut"), person("Wolfgang", "Huber", role = "aut"), person("Andy", "Liaw", role = "aut"), person("Thomas", "Lumley", role = "aut"), person("Martin", "Maechler", role = "aut"), person("Arni", "Magnusson", role = "aut"), person("Steffen", "Moeller", role = "aut"), person("Marc", "Schwartz", role = "aut"), person("Bill", "Venables", role = "aut"), person("Tal", "Galili", , "tal.galili@gmail.com", c("aut", "cre")) ) License: GPL-2 URL: https://github.com/talgalili/gplots, https://talgalili.github.io/gplots/ BugReports: https://github.com/talgalili/gplots/issues NeedsCompilation: no Packaged: 2024-10-05 07:44:32 UTC; talgalili Author: Gregory R. Warnes [aut], Ben Bolker [aut], Lodewijk Bonebakker [aut], Robert Gentleman [aut], Wolfgang Huber [aut], Andy Liaw [aut], Thomas Lumley [aut], Martin Maechler [aut], Arni Magnusson [aut], Steffen Moeller [aut], Marc Schwartz [aut], Bill Venables [aut], Tal Galili [aut, cre] Maintainer: Tal Galili Repository: CRAN Date/Publication: 2024-10-05 23:00:02 UTC