R : Copyright 1999, The R Development Core Team
Version 0.65.0 Patched (unreleased) (September 03, 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.
> #### eval / parse / deparse etc
>
> ##- From: Peter Dalgaard BSA
> ##- Subject: Re: source() / eval() bug ??? (PR#96)
> ##- Date: 20 Jan 1999 14:56:24 +0100
> e1 <- parse(text='c(F=(f <- .3), "Tail area" = 2 * if(f < 1) 30 else 90)')[[1]]
> e1
c(F = (f <- 0.3), "Tail area" = 2 * if (f < 1) 30 else 90)
> str(eval(e1))
Named num [1:2] 0.3 60
- attr(*, "names")= chr [1:2] "F" "Tail area"
> mode(e1)
[1] "call"
>
> ( e2 <- quote(c(a=1,b=2)) )
c(a = 1, b = 2)
> names(e2)[2] <- "a b c"
> e2
c("a b c" = 1, b = 2)
> parse(text=deparse(e2))
expression(c("a b c" = 1, b = 2))
>
> ##- From: Peter Dalgaard BSA
> ##- To: r-core
> ##- Date: 22 Jan 1999 11:47
> ##- ...
> ##- This is what didn't work before:
>
> ( e3 <- quote(c(F=1,"tail area"=pf(1,1,1))) )
c(F = 1, "tail area" = pf(1, 1, 1))
> eval(e3)
F tail area
1.0 0.5
> names(e3)
[1] "" "F" "tail area"
>
> names(e3)[2] <- "Variance ratio"
> e3
c("Variance ratio" = 1, "tail area" = pf(1, 1, 1))
> eval(e3)
Variance ratio tail area
1.0 0.5
>
>
>
> ##- From: Peter Dalgaard BSA
> ##- To: r-core
> ##- Date: 2 Sep 1999
>
> ## The first failed in 0.65.0 :
> attach(list(x=1))
> evalq(dim(x) <- 1,pos.to.env(2))
> dput(get("x", env=pos.to.env(2)))
structure(1, .Dim = 1)
>
> e <- local({x <- 1;environment()})
> evalq(dim(x) <- 1,e)
> dput(get("x",env=e))
structure(1, .Dim = 1)
>
>