On 23/07/2010 11:16 AM, Brigid Mooney wrote:
I'm  working on a problem where I'm introducing random error and have
been using the built in function runif to provide that random error.
However, I realized that I seem to be getting some unexpected behavior
out of the function and was hoping someone could share some insight.

I don't know the runif algorithm at all, but from the behavior I'm
seeing, it seems that whenever I open a new R console, the function
runif gets "reset" to some initial value.  For example...

In a NEW R console, enter the following:

x1 <- runif(1000, -1, 1)
x2 <- runif(1000, -1, 1)

x1[1:5]
x2[1:5]

objectsToSave <- c("x1", "x2")
filename <- "C:\\Documents\\x1x2file.Rdata"

save(list=objectsToSave, file=filename, envir = parent.frame())


Then in a different NEW R console, enter this:

x3 <- runif(1000, -1, 1)
x4 <- runif(1000, -1, 1)

x3[1:5]
x4[1:5]
# For me, the values look identical to x1 and x2, but let's check by
loading the x1x2 file and comparing them directly...

filename <- "C:\\Documents\\x1x2file.Rdata"

load(filename)

sum(x1==x3)
sum(x2==x4)


For my results, I get that x1=x3 for all 1000 elements in the vector,
and x2=x4 for all 1000 elements in that vector.

Does anyone have insight into what's going on here?  Am I doing
something wrong here, or is this a quirk of the runif algorithm?  Is
there a better function out there for seeding truly random error?

You are doing something wrong: At some point in the past, you saved your workspace, but more recently, you haven't been saving it. Your workspace contains the key used by all the random number generators, so you keep restoring the same old key.

I would advise that you *never* save your workspace, and if you see the message:

[Previously saved workspace restored]

you treat that as an error, and try to track down where the old workspace came from. Some other people would advise that you always save your workspace. Both approaches will solve this problem.
For what it's worth, here's my R version info:

platform       i386-pc-mingw32
arch           i386
os             mingw32
system         i386, mingw32
status
major          2
minor          8.1
year           2008
month          12
day            22
svn rev        47281
language       R
version.string R version 2.8.1 (2008-12-22)

I'd also suggest upgrading: there have been a lot of bug fixes and new features added since 2.8.1.

Duncan Murdoch

Thanks for the help,
Brigid

______________________________________________
R-help@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.


______________________________________________
R-help@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.

Reply via email to