The R Project SVN R

Rev

Rev 40032 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 40032 Rev 41688
1
 
1
 
2
R version 2.5.0 Under development (unstable) (2006-11-27 r40028)
2
R version 2.6.0 Under development (unstable) (2007-05-23 r41687)
3
Copyright (C) 2006 The R Foundation for Statistical Computing
3
Copyright (C) 2007 The R Foundation for Statistical Computing
4
ISBN 3-900051-07-0
4
ISBN 3-900051-07-0
5
 
5
 
6
R is free software and comes with ABSOLUTELY NO WARRANTY.
6
R is free software and comes with ABSOLUTELY NO WARRANTY.
7
You are welcome to redistribute it under certain conditions.
7
You are welcome to redistribute it under certain conditions.
8
Type 'license()' or 'licence()' for distribution details.
8
Type 'license()' or 'licence()' for distribution details.
9
 
9
 
10
R is a collaborative project with many contributors.
10
R is a collaborative project with many contributors.
11
Type 'contributors()' for more information and
11
Type 'contributors()' for more information and
12
'citation()' on how to cite R or R packages in publications.
12
'citation()' on how to cite R or R packages in publications.
13
 
13
 
14
Type 'demo()' for some demos, 'help()' for on-line help, or
14
Type 'demo()' for some demos, 'help()' for on-line help, or
15
'help.start()' for an HTML browser interface to help.
15
'help.start()' for an HTML browser interface to help.
16
Type 'q()' to quit R.
16
Type 'q()' to quit R.
17
 
17
 
18
> #### Regression tests for GRAPHICS & PLOTS
18
> #### Regression tests for GRAPHICS & PLOTS
19
> 
19
> 
20
> postscript("reg-plot.ps", paper="a4", horizontal=TRUE,
20
> postscript("reg-plot.ps", paper="a4", horizontal=TRUE,
21
+            encoding ="ISOLatin1.enc")
21
+            encoding ="ISOLatin1.enc")
22
> ## since we supply the font metrics, the results depend only on
22
> ## since we supply the font metrics, the results depend only on
23
> ## the encoding used: Windows is different from Unix by default.
23
> ## the encoding used: Windows is different from Unix by default.
24
> ## As from 2.1.0 we only test genuine Latin-1 chars: Adobe has dotlessi
24
> ## As from 2.1.0 we only test genuine Latin-1 chars: Adobe has dotlessi
25
> ## and accents at 144:152, 154, 155, 157:159, but Unicode does not.
25
> ## and accents at 144:152, 154, 155, 157:159, but Unicode does not.
26
> 
26
> 
27
> options(warn = 1)# print them as they occur
27
> options(warn = 1)# print them as they occur
28
> 
28
> 
29
> plot(0) # this should remain constant
29
> plot(0) # this should remain constant
30
> str(par(c("usr","xaxp","yaxp")))
30
> str(par(c("usr","xaxp","yaxp")))
31
List of 3
31
List of 3
32
 $ usr : num [1:4]  0.568  1.432 -1.080  1.080
32
 $ usr : num [1:4]  0.568  1.432 -1.080  1.080
33
 $ xaxp: num [1:3] 0.6 1.4 4.0
33
 $ xaxp: num [1:3] 0.6 1.4 4.0
34
 $ yaxp: num [1:3] -1 1 4
34
 $ yaxp: num [1:3] -1 1 4
35
> 
35
> 
36
> 
36
> 
37
> 
37
> 
38
> ### Test for centring of chars.  All the chars which are plotted should
38
> ### Test for centring of chars.  All the chars which are plotted should
39
> ### be centred, and there should be no warnings about
39
> ### be centred, and there should be no warnings about
40
> ### font metrics unknown for character `?'
40
> ### font metrics unknown for character `?'
41
> 
41
> 
42
> par(pty="s")
42
> par(pty="s")
43
> plot(c(-1,16), c(-1,16), type="n", xlab="", ylab="", xaxs="i", yaxs="i")
43
> plot(c(-1,16), c(-1,16), type="n", xlab="", ylab="", xaxs="i", yaxs="i")
44
> title("Centred chars in default char set (ISO Latin1)")
44
> title("Centred chars in default char set (ISO Latin1)")
45
> grid(17, 17, lty=1)
45
> grid(17, 17, lty=1)
46
> known <- c(32:126, 160:255)
46
> known <- c(32:126, 160:255)
47
> 
47
> 
48
> for(i in known) {
48
> for(i in known) {
49
+     x <- i %% 16
49
+     x <- i %% 16
50
+     y <- i %/% 16
50
+     y <- i %/% 16
51
+     points(x, y, pch=i)
51
+     points(x, y, pch=i)
52
+ }
52
+ }
53
> 
53
> 
54
> par(pty="m")
54
> par(pty="m")
55
> 
55
> 
56
> ## PR 816 (label sizes in dotchart)
56
> ## PR 816 (label sizes in dotchart)
57
> 
57
> 
58
> ### Prior to 1.2.2, the label sizes were unaffected by cex.
58
> ### Prior to 1.2.2, the label sizes were unaffected by cex.
59
> 
59
> 
60
> dotchart(VADeaths, main = "Death Rates in Virginia - 1940", cex = 0.5)
60
> dotchart(VADeaths, main = "Death Rates in Virginia - 1940", cex = 0.5)
61
> dotchart(VADeaths, main = "Death Rates in Virginia - 1940", cex = 1.5)
61
> dotchart(VADeaths, main = "Death Rates in Virginia - 1940", cex = 1.5)
62
> 
62
> 
63
> ## killed by 0 prior to 1.4.0 and in 1.4.1:
63
> ## killed by 0 prior to 1.4.0 and in 1.4.1:
64
> t1 <- ts(0:100)
64
> t1 <- ts(0:100)
65
> ## only warnings about values <= 0
65
> ## only warnings about values <= 0
66
> plot(t1, log = "y")
66
> plot(t1, log = "y")
-
 
67
Warning in xy.coords(x, NULL, log = log) :
67
Warning in xy.coords(x, NULL, log = log) : 1 y value <= 0 omitted from logarithmic plot
68
  1 y value <= 0 omitted from logarithmic plot
68
> plot(cbind(t1, 10*t1, t1 - 4), log="y", plot.type = "single")
69
> plot(cbind(t1, 10*t1, t1 - 4), log="y", plot.type = "single")
69
Warning in xy.coords(x = matrix(rep.int(tx, k), ncol = k), y = x, log = log) : 
70
Warning in xy.coords(x = matrix(rep.int(tx, k), ncol = k), y = x, log = log) :
70
	 7 y values <= 0 omitted from logarithmic plot
71
  7 y values <= 0 omitted from logarithmic plot
71
> stopifnot(par("usr")[4] > 3) # log10: ylim[2] = 1000
72
> stopifnot(par("usr")[4] > 3) # log10: ylim[2] = 1000
72
> 
73
> 
73
> 
74
> 
74
> ## This one needs to be looked at.
75
> ## This one needs to be looked at.
75
> ## lty = "blank" killed the fill colour too.
76
> ## lty = "blank" killed the fill colour too.
76
> plot(1:10, type="n")
77
> plot(1:10, type="n")
77
> polygon(c(1, 3, 3, 1), c(1, 1, 3, 3), col="yellow", border="red", lty="blank")
78
> polygon(c(1, 3, 3, 1), c(1, 1, 3, 3), col="yellow", border="red", lty="blank")
78
> rect(6, 6, 10, 10,  col="blue", border="red", lty="blank")
79
> rect(6, 6, 10, 10,  col="blue", border="red", lty="blank")
79
> ## in 1.5.0 all omit the fill colours.
80
> ## in 1.5.0 all omit the fill colours.
80
> with(trees, symbols(Height, Volume, circles=Girth/24, inches=FALSE,
81
> with(trees, symbols(Height, Volume, circles=Girth/24, inches=FALSE,
81
+                     lty="blank", bg="blue"))
82
+                     lty="blank", bg="blue"))
82
> ## in 1.5.0 ignored the lty.
83
> ## in 1.5.0 ignored the lty.
83
> 
84
> 
84
> ## axis() and par(mgp < 0) {keep this example S+ compatible!}:
85
> ## axis() and par(mgp < 0) {keep this example S+ compatible!}:
85
> lt <- if(is.R()) "31" else 2
86
> lt <- if(is.R()) "31" else 2
86
> x <- seq(-2,3, len=1001)
87
> x <- seq(-2,3, len=1001)
87
> op <- par(tck= +0.02, mgp = -c(3,2,0))
88
> op <- par(tck= +0.02, mgp = -c(3,2,0))
88
> plot(x, x^2 - 1.2, xaxt = "n", xlab="", type ='l', col = 2,
89
> plot(x, x^2 - 1.2, xaxt = "n", xlab="", type ='l', col = 2,
89
+      main = "mgp < 0: all ticks and labels inside `frame'")
90
+      main = "mgp < 0: all ticks and labels inside `frame'")
90
> x <- -2:3
91
> x <- -2:3
91
> lines(x, x^2 - 1.2, type ="h", col = 3, lwd=3)
92
> lines(x, x^2 - 1.2, type ="h", col = 3, lwd=3)
92
> axis(1, pos = 0, at=-1:1, lty = lt, col=4)## col & lty work only from R 1.6
93
> axis(1, pos = 0, at=-1:1, lty = lt, col=4)## col & lty work only from R 1.6
93
> par(op)
94
> par(op)
94
> axis(1, pos = 0, at=c(-2,2,3), lty = lt, col=4)
95
> axis(1, pos = 0, at=c(-2,2,3), lty = lt, col=4)
95
> mtext(side=1,"note the x-ticks on the other side of the bars")
96
> mtext(side=1,"note the x-ticks on the other side of the bars")
96
> 
97
> 
97
> ## plot.table(): explicit xlab and ylab for non-1D
98
> ## plot.table(): explicit xlab and ylab for non-1D
98
> plot(UCBAdmissions)# default x- and y-lab
99
> plot(UCBAdmissions)# default x- and y-lab
99
> plot(UCBAdmissions, xlab = "x label", ylab = "YY")# wrong in 1.5.1
100
> plot(UCBAdmissions, xlab = "x label", ylab = "YY")# wrong in 1.5.1
100
> ##   axis suppression
101
> ##   axis suppression
101
> plot(tt <- table(c(rep(0,7), rep(1,4), rep(5, 3))), axes = FALSE)
102
> plot(tt <- table(c(rep(0,7), rep(1,4), rep(5, 3))), axes = FALSE)
102
> plot(tt, xaxt = "n")
103
> plot(tt, xaxt = "n")
103
> ## wrong till (incl.) 1.6.x
104
> ## wrong till (incl.) 1.6.x
104
> 
105
> 
105
> ## legend with call
106
> ## legend with call
106
> lo <- legend(2,2, substitute(hat(theta) == that, list(that= pi)))
107
> lo <- legend(2,2, substitute(hat(theta) == that, list(that= pi)))
107
> stopifnot(length(lo$text$x) == 1)
108
> stopifnot(length(lo$text$x) == 1)
108
> ## length() was 3 till 1.7.x
109
> ## length() was 3 till 1.7.x
109
> 
110
> 
110
> plot(ecdf(c(1:4,8,12)), ylab = "ECDF", main=NULL)
111
> plot(ecdf(c(1:4,8,12)), ylab = "ECDF", main=NULL)
111
> ## ylab didn't work till 1.8.0
112
> ## ylab didn't work till 1.8.0
112
> 
113
> 
113
> plot(1:10, pch = NA) # gave error till 1.9.0
114
> plot(1:10, pch = NA) # gave error till 1.9.0
114
> points(1:3, pch=c("o",NA,"x"))# used "N"
115
> points(1:3, pch=c("o",NA,"x"))# used "N"
115
> try(points(4, pch=c(NA,FALSE)))# still give an error
116
> try(points(4, pch=c(NA,FALSE)))# still give an error
116
Error in plot.xy(xy.coords(x, y), type = type, ...) : 
117
Error in plot.xy(xy.coords(x, y), type = type, ...) : 
117
	only NA allowed in logical plotting symbol
118
	only NA allowed in logical plotting symbol
118
> 
119
> 
119
> ## 'lwd' should transfer to plot symbols
120
> ## 'lwd' should transfer to plot symbols
120
> legend(1,10, c("A","bcd"), lwd = 2:3, pch= 21:22, pt.bg="skyblue",
121
> legend(1,10, c("A","bcd"), lwd = 2:3, pch= 21:22, pt.bg="skyblue",
121
+        col = 2:3, bg = "thistle")
122
+        col = 2:3, bg = "thistle")
122
> ## (gave an error for 2 days in "2.0.0 unstable")
123
> ## (gave an error for 2 days in "2.0.0 unstable")
123
> 
124
> 
124
> x <- 2^seq(1,1001, length=20)
125
> x <- 2^seq(1,1001, length=20)
125
> plot(x, x^0.9, type="l", log="xy")
126
> plot(x, x^0.9, type="l", log="xy")
126
> ## gave error 'Infinite axis extents [GEPretty(1.87013e-12,inf,5)]' for R 2.0.1
127
> ## gave error 'Infinite axis extents [GEPretty(1.87013e-12,inf,5)]' for R 2.0.1
127
> 
128
> 
128
> plot(as.Date("2001/1/1") + 12*(1:9), 1:9)
129
> plot(as.Date("2001/1/1") + 12*(1:9), 1:9)
129
> ## used bad 'xlab/ylab' in some versions of R 2.2.0(unstable)
130
> ## used bad 'xlab/ylab' in some versions of R 2.2.0(unstable)
130
> 
131
> 
131
> ## dotchart() restoring par()
132
> ## dotchart() restoring par()
132
> Opar <- par(no.readonly=TRUE) ; dotchart(1:4, cex= 0.7)
133
> Opar <- par(no.readonly=TRUE) ; dotchart(1:4, cex= 0.7)
133
> Npar <- par(no.readonly=TRUE)
134
> Npar <- par(no.readonly=TRUE)
134
> ii <- c(37, 50:51, 58:59, 63)
135
> ii <- c(37, 50:51, 58:59, 63)
135
> stopifnot(identical(names(Opar)[ii],
136
> stopifnot(identical(names(Opar)[ii],
136
+                     c("mai","pin","plt","usr","xaxp","yaxp")),
137
+                     c("mai","pin","plt","usr","xaxp","yaxp")),
137
+           identical(Opar[-ii], Npar[-ii]))
138
+           identical(Opar[-ii], Npar[-ii]))
138
> ## did not correctly restore par("mar") up to (incl) R 2.4.0
139
> ## did not correctly restore par("mar") up to (incl) R 2.4.0
139
> 
140
> 
140
> 
141
>