[R] get: problem with environments
Rui Barradas
ruipbarradas at sapo.pt
Sun Oct 7 13:33:16 CEST 2012
Hello,
No, I can't confirm the behavior the op sees.
I've tried it in an R terminal on ubuntu 12.04, rkward on ubuntu, and
RGui on Windows 7. R version 2.15.1.
Here's the rkward sessionInfo.
sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=pt_PT.UTF-8 LC_NUMERIC=C
[3] LC_TIME=pt_PT.UTF-8 LC_COLLATE=pt_PT.UTF-8
[5] LC_MONETARY=pt_PT.UTF-8 LC_MESSAGES=pt_PT.UTF-8
[7] LC_PAPER=pt_PT.UTF-8 LC_NAME=pt_PT.UTF-8
[9] LC_ADDRESS=pt_PT.UTF-8 LC_TELEPHONE=pt_PT.UTF-8
[11] LC_MEASUREMENT=pt_PT.UTF-8 LC_IDENTIFICATION=pt_PT.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rkward_0.5.6
loaded via a namespace (and not attached):
[1] tools_2.15.1
Rui Barradas
Em 07-10-2012 10:34, R. Michael Weylandt escreveu:
> On Sun, Oct 7, 2012 at 10:16 AM, Martin Ivanov <tramni at abv.bg> wrote:
>> Dear R users,
>>
>> I am running R-2.15.1 in Linux Slackware64-14.0. Here is my minimal working example:
>>
>> testfun <- function (x) {
>> a <- 0;
>> sapply(X="a", FUN=get, envir=sys.frame(which=x));
>> }
>>
>> Inside R, that is R called from within a Linux terminal, the following code works:
>> testfun(x=5)
>> print(testfun(x=6))
>> But within rkward the above code fails and the following works:
>> testfun(x=1)
>> print(testfun(x=2))
>>
>> As you can see, the number of contexts up the call stack that contain the variable "a"
>> varies depending on the implementation. If I call testfun() from within print(), I have to go
>> one context up the call stack than if I call testfun() alone by itself. This implies
>> some inherent instability of my code.
> Unlike you, I don't get testfun(x = 5) to work in a terminal emulator.
> As expected, I only get x =1 and print(... x = 2) to work and I just
> tried this with R 2.15.0 and R devel, both in Terminal and by way of
> ESS. It could be a buglet introduced later into the 2.15 branch, but
> that seems unlikely. As expected,
>
>> testfun(5)
> Error in sys.frame(which = x) : not that many frames on the stack
>
> Can someone else confirm the behavior you see?
>
> Cheers,
> Michael
>
> ______________________________________________
> 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.
More information about the R-help
mailing list