The R Project SVN R

Rev

Rev 6943 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed


R : Copyright 1999, The R Development Core Team
Version 0.90.0 Patched (December 6, 1999)

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 a list.

Type    "demo()" for some demos, "help()" for on-line help, or
        "help.start()" for a HTML browser interface to help.
Type    "q()" to quit R.

> ###---- ALL tests here should return  TRUE !
> ###
> ###---- "Real" Arithmetic; Numerics etc  -->  ./arith-true.R
> 
> ## sum():
> all(1:12 == cumsum(rep(1,12)))
[1] TRUE
> x <- rnorm(127); sx <- sum(x);    abs((sum(rev(x)) -sx)) < 1e-12 * abs(sx)
[1] TRUE
> 
> ## seq():
> typeof(1:4) == "integer" #-- fails for 0.2, 0.3,.., 0.9
[1] TRUE
> 
> all((0:6) == pi + ((-pi):pi))
[1] TRUE
> all((0:7) == (pi+seq(-pi,pi, len=8))*7/(2*pi))
[1] TRUE
> 
> 1 == as.integer(is.na(c(pi,NA)[2]))
[1] TRUE
> 1 == as.integer(is.nan(0/0))
[1] TRUE
> 
> ## rev():
> cc <- c(1:10,10:1) ;      all(cc == rev(cc))
[1] TRUE
> 
> ## dim[names]():
> all(names(c(a=pi, b=1, d=1:4)) == c("a","b", paste("d", 1:4, sep="")))
[1] TRUE
> ##P names(c(a=pi, b=1, d=1:4))
> ncb <- dimnames(cbind(a=1, yy=1:3))[[2]]
> (!is.null(ncb)) && all(ncb == c("a","yy"))
[1] TRUE
> 
> all(cbind(a=1:2, b=1:3, c=1:6) == t(rbind(a=1:2, b=1:3, c=1:6)))
[1] TRUE
> ##P rbind(a=1:2, b=1:3, c=1:6)
> all(dim(cbind(cbind(I=1,x=1:4), c(a=pi))) == 4:3)# fails in S+
[1] TRUE
> 
> ## factor():
> is.factor(factor(list()))
[1] TRUE
> all(levels(ordered(rev(gl(3,4)))) == 1:3)# coercion to char
[1] TRUE
> all(levels(factor(factor(9:1)[3:5])) == 5:7)
[1] TRUE
> 
> ### data.frame s :
> 
> ## Logicals: (S is wrong)
> l1 <- c(TRUE,FALSE,TRUE)
> (! as.logical(as.data.frame(FALSE)[,1]))
[1] TRUE
> all(l1 == as.logical(as.data.frame(l1)[,1]))
[1] TRUE
>