I may be making a simple error, but I've looked at the str() of the
resulting objects and I can't see any obvious reason I'm having the
problem I am having, so I am reaching out to the R-help group. ?I am
generating a string in my code. ?When I make a slight modification
(add a comma at the end using my "lastcomma" function), I can no
longer successfully write that string to a file. ?Specifically, the
resulting file contains only the "?" character. ?This occurs in:
R version 2.10.0 (2009-10-26) & R version 2.10.1 (2009-12-14)
i386-pc-mingw32
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats ? ? graphics ?grDevices utils ? ? datasets ?methods ? base
but not in...
R version 2.7.1 (2008-06-23)
x86_64-pc-linux-gnu
locale:
LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=C;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C
attached base packages:
[1] stats ? ? graphics ?grDevices utils ? ? datasets ?methods ? base
Sample code:
h.long <- 150
task <- c(rep(1,h.long),rep(2,h.long))
ord <- sample(1:length(task))
task <- task[ord]
taskout <- paste(task,collapse=",")
write(file="please.txt",taskout)
lastcomma <- function(x)
{return(paste(x,",",collapse="",sep=""))}
res <- lastcomma(taskout)
write(file="fail.txt",res)
cat(file="catfail.txt",res)
Any ideas as to how to avoid this problem would be appriciated as well
as suggestions as to whether this is expected behavior, or whether it
ought to be reported as a bug.
Best,
Russell Pierce
Russell Pierce wrote:> I may be making a simple error, but I've looked at the str() of the > resulting objects and I can't see any obvious reason I'm having the > problem I am having, so I am reaching out to the R-help group. I am > generating a string in my code. When I make a slight modification > (add a comma at the end using my "lastcomma" function), I can no > longer successfully write that string to a file. Specifically, the > resulting file contains only the "?" character. This occurs in: > R version 2.10.0 (2009-10-26) & R version 2.10.1 (2009-12-14) > i386-pc-mingw32 > locale: > [1] LC_COLLATE=English_United States.1252 > [2] LC_CTYPE=English_United States.1252 > [3] LC_MONETARY=English_United States.1252 > [4] LC_NUMERIC=C > [5] LC_TIME=English_United States.1252 > attached base packages: > [1] stats graphics grDevices utils datasets methods base > but not in... > R version 2.7.1 (2008-06-23) > x86_64-pc-linux-gnu > locale: > LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=C;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C > attached base packages: > [1] stats graphics grDevices utils datasets methods base > Sample code: > h.long <- 150 > task <- c(rep(1,h.long),rep(2,h.long)) > ord <- sample(1:length(task)) > task <- task[ord] > taskout <- paste(task,collapse=",") > write(file="please.txt",taskout) > lastcomma <- function(x) {return(paste(x,",",collapse="",sep=""))} > res <- lastcomma(taskout) > write(file="fail.txt",res) > cat(file="catfail.txt",res) > > Any ideas as to how to avoid this problem would be appriciated as well > as suggestions as to whether this is expected behavior, or whether it > ought to be reported as a bug.I don't see the problem in R version 2.10.1 Patched (2010-01-05 r50896) nor in R 2.11.0 Pre-release (Windows Vista). -Peter Ehlers> > Best, > > Russell Pierce >-- Peter Ehlers University of Calgary
Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com> -----Original Message----- > From: r-help-bounces at r-project.org > [mailto:r-help-bounces at r-project.org] On Behalf Of Russell Pierce > Sent: Wednesday, February 10, 2010 9:21 PM > To: r-help at r-project.org > Subject: [R] Suprising behavior of paste or cat? > > I may be making a simple error, but I've looked at the str() of the > resulting objects and I can't see any obvious reason I'm having the > problem I am having, so I am reaching out to the R-help group. ?I am > generating a string in my code. ?When I make a slight modification > (add a comma at the end using my "lastcomma" function), I can no > longer successfully write that string to a file. ?Specifically, the > resulting file contains only the "?" character.That character (which prints as an unfilled square when I look at it in Outlook) is (when I copy and paste it to R 2.10.0 on Windows): > "?" [1] "\u2c31" The 2 bytes in it would be comma and one in ascii: > "\x2c" [1] "," > "\x31" [1] "1" It looks like a ascii/UTF-8 mismatch. Is the square Outlook's way of saying it is illegal UTF-8? Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com> This occurs in: > R version 2.10.0 (2009-10-26) & R version 2.10.1 (2009-12-14) > i386-pc-mingw32 > locale: > [1] LC_COLLATE=English_United States.1252 > [2] LC_CTYPE=English_United States.1252 > [3] LC_MONETARY=English_United States.1252 > [4] LC_NUMERIC=C > [5] LC_TIME=English_United States.1252 > attached base packages: > [1] stats ? ? graphics ?grDevices utils ? ? datasets ?methods ? base > but not in... > R version 2.7.1 (2008-06-23) > x86_64-pc-linux-gnu > locale: > LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLA > TE=en_US.UTF-8;LC_MONETARY=C;LC_MESSAGES=en_US.UTF-8;LC_PAPER> en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREME > NT=en_US.UTF-8;LC_IDENTIFICATION=C > attached base packages: > [1] stats ? ? graphics ?grDevices utils ? ? datasets ?methods ? base > Sample code: > h.long <- 150 > task <- c(rep(1,h.long),rep(2,h.long)) > ord <- sample(1:length(task)) > task <- task[ord] > taskout <- paste(task,collapse=",") > write(file="please.txt",taskout) > lastcomma <- function(x) {return(paste(x,",",collapse="",sep=""))} > res <- lastcomma(taskout) > write(file="fail.txt",res) > cat(file="catfail.txt",res) > > Any ideas as to how to avoid this problem would be appriciated as well > as suggestions as to whether this is expected behavior, or whether it > ought to be reported as a bug. > > Best, > > Russell Pierce > > ______________________________________________ > 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. >