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
source() behavior I don't understand
3 messages · Richard M. Heiberger, jim holtman, Duncan Murdoch
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?
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