temp.ttt <- "ttt <- 1\nttt" conn.ttt <- textConnection(temp.ttt) source(conn.ttt, echo=TRUE) ## name of variable is echoed close(conn.ttt) cat(file="c:/temp/temp.R", temp.ttt) ## name of variable not echoed source("c:/temp/temp.R", echo=TRUE) temp.abc <- "abc <- 1\nabc" conn.abc <- textConnection(temp.abc) source(conn.abc, echo=TRUE) ## name of variable is echoed close(conn.abc) cat(file="c:/temp/temp.R", temp.abc) ## name of variable is echoed source("c:/temp/temp.R", echo=TRUE) The behavior I don't understand is why the variable name "ttt" is not echoed when sourced from a file. It is echoed when sourced from a character string. The name is echoed in both situations when it begins with a letter other than "t". Specifically I have tested "tt" and "ttt". I am using R-2.6.1 on Windows. Rich
Put 'print' around your variable:> temp.ttt <- "ttt <- 1\nprint(ttt)" > conn.ttt <- textConnection(temp.ttt) > source(conn.ttt, echo=TRUE) ## name of variable is echoed> ttt <- 1> print(ttt)[1] 1> close(conn.ttt) > cat(file="c:/temp/temp.R", temp.ttt) ## name of variable not echoed > source("c:/temp/temp.R", echo=TRUE)> ttt <- 1> print(ttt)[1] 1> > > temp.abc <- "abc <- 1\nprint(abc)" > conn.abc <- textConnection(temp.abc) > source(conn.abc, echo=TRUE) ## name of variable is echoed> abc <- 1> print(abc)[1] 1> close(conn.abc) > cat(file="c:/temp/temp.R", temp.abc) ## name of variable is echoed > source("c:/temp/temp.R", echo=TRUE)> abc <- 1> print(abc)[1] 1>On Sun, Mar 9, 2008 at 9:01 PM, Richard M. Heiberger <rmh at temple.edu> wrote:> temp.ttt <- "ttt <- 1\nttt" > conn.ttt <- textConnection(temp.ttt) > source(conn.ttt, echo=TRUE) ## name of variable is echoed > close(conn.ttt) > cat(file="c:/temp/temp.R", temp.ttt) ## name of variable not echoed > source("c:/temp/temp.R", echo=TRUE) > > > temp.abc <- "abc <- 1\nabc" > conn.abc <- textConnection(temp.abc) > source(conn.abc, echo=TRUE) ## name of variable is echoed > close(conn.abc) > cat(file="c:/temp/temp.R", temp.abc) ## name of variable is echoed > source("c:/temp/temp.R", echo=TRUE) > > > The behavior I don't understand is why the variable name "ttt" is not echoed > when sourced from a file. It is echoed when sourced from a character string. > The name is echoed in both situations when it begins with a letter other > than "t". Specifically I have tested "tt" and "ttt". > > I am using R-2.6.1 on Windows. > > Rich > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >-- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve?
Duncan Murdoch
2008-Mar-10 02:14 UTC
[R] source(echo=TRUE) bug (was: source() behavior I don't understand)
On 09/03/2008 10:01 PM, Richard M. Heiberger wrote:> temp.ttt <- "ttt <- 1\nttt" > conn.ttt <- textConnection(temp.ttt) > source(conn.ttt, echo=TRUE) ## name of variable is echoed > close(conn.ttt) > cat(file="c:/temp/temp.R", temp.ttt) ## name of variable not echoed > source("c:/temp/temp.R", echo=TRUE) > > > temp.abc <- "abc <- 1\nabc" > conn.abc <- textConnection(temp.abc) > source(conn.abc, echo=TRUE) ## name of variable is echoed > close(conn.abc) > cat(file="c:/temp/temp.R", temp.abc) ## name of variable is echoed > source("c:/temp/temp.R", echo=TRUE) > > > The behavior I don't understand is why the variable name "ttt" is not echoed > when sourced from a file. It is echoed when sourced from a character string. > The name is echoed in both situations when it begins with a letter other > than "t". Specifically I have tested "tt" and "ttt".Looks like a bug in a regular expression. R doesn't echo lines containing nothing but blanks and tabs, and I think the regular expression that is supposed to match tabs is matching t instead. Thanks for the report, I'll fix it. Duncan Murdoch
Seemingly Similar Threads
- How would I color points conditional on their value in a plot of a time series
- How would I color points conditional on their value in a plot of a time series
- How would I color points conditional on their value in a plot of a time series
- How would I color points conditional on their value in a plot of a time series
- Get Slot from a Class