Displaying 20 results from an estimated 7000 matches similar to: "best practice(s) for retrieving a local variable from a closure"
2010 Nov 17
2
Reference classes: accessor functions via 'getRefClass(...)$accessors(...)'
Hi there,
I''d like to choose between an "static" and "dynamic" access of a reference
class field, say ''a''.
myObj <- getRefClass("Blabla")$new()
Static: myObj$a
Dynamic: myObj$a.get() where the function retrieves the data
from a database (or some other location), stores it to a buffer and
2010 Apr 01
4
Scope and assignment: baffling
Hi,
The code below creates a value, x$a, which depending on how you access it
evaluates to its initial value, or to what it's been changed to. The last
two lines should, I would have thought, evaluate to the same value, but they
don't.
f <- function () {
x <- NULL;
x$a <- 0;
x$get.a <- function () {
x$a;
};
x$increment.a <- function () {
x$a <<- x$a + 5;
2008 Apr 15
4
NFS Performance
Hi,
With help from Oleg we got the right patches applied and NFS working
well. Maximum performance was about 60 MB/sec. Last week that dropped
to about 12.5 MB/sec and I cannot find a reason. Lustre clients all
obtain 100+ MB/sec on GigE. Each OST is good for 270 MB/sec. When
mounting the client on one of the OSSs I get 230 MB/sec. Seems the
speed is there. How can NFS and Lustre be tuned
2020 Jun 01
1
eval and Calling Frames
I ran into an interesting issue with `evalq` (and also
`eval(quote(...))`):
???? f <- function() {
?????? list(
???????? sys.parent(1),
???????? evalq(sys.parent(1)),
???????? evalq((function() sys.parent(2))()),? # add an anon fun layer
???????? evalq((function() sys.parent(1))())
?????? )
???? }
???? res <- f()
???? str(res)
???? ## List of 4
???? ##? $ : int 0???????? # sys.parent(1)
2015 Jul 15
2
bquote/evalq behavior changed in R-3.2.1
David,
If you are referring to the solution that would be:
rapply(list(test), eval, envir = fenv)
I thought I explained in the question that the above code does not work. It
does not throw an error, but the behavior is no different (at least in the
output or result). Using the above code still results in the x object not
being stored in fenv on 3.1.2.
Dayne
On Wed, Jul 15, 2015 at 4:40 PM,
2015 Jul 15
2
bquote/evalq behavior changed in R-3.2.1
On Jul 15, 2015, at 12:51 PM, William Dunlap wrote:
> I think rapply() was changed to act like lapply() in this respect.
>
When I looked at the source of the difference, it was that typeof() returned 'language' in 3.2.1, while it returned 'list' in the earlier version of R. The first check in rapply's code in both version was:
if (typeof(object) != "list")
2000 Jun 13
3
Question on closure (lexical scoping) and encapsulation
Dear R users,
I have two related questions about scoping and data encapsulation.
One is fairly specific - I am looking at "scoping.R" which is used in
demo(scoping) - it's an example of lexical scoping and encapsulation.
Where is the 'total' stored? It is not an attribute in 'ross' or
'robert'
however, functions like balance() have access to it.
Is it more
2017 Jun 08
4
DICompileUnit duplication in LLVM 4.0.0?
All,
I'm seeing duplication of DICompileUnits in a pass that worked in 3.8. I
assume I'm doing something wrong. Would someone be willing to point me in
the right direction?
The below minimized pass reproduces my issue in 4.0 with the following
error:
DICompileUnit not listed in llvm.dbg.cu
!1707 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1,
producer: "clang
2012 Aug 29
1
Help on not matching object lengths
Dear All
I have the following code set up:
Code #1
a <-matrix(seq(0,8, by = sign(8-0)*0.25))
b <-matrix(seq(8,16, by = sign(16-8)*0.25))
c <-runif(1000,50,60)
d <-exp(-c*a)+exp(-c*b)
This will give me the obvious error message of lengths not matching. What I am trying to do here is to have 33 rows x 1000 columns d values calculated in total. As an eaxmple for visual, this is what
2017 Dec 14
2
help with recursive function
Hi, I need some help with running a recursive function. I like to run funlp2 recursively.
When I try to run recursive function in another function named "calclp" I get this "Error: any(!dat2$norm_sd) >= 1 is not TRUE".
I have never built a recursive function before so having trouble executing it in this case. I would appreciate any help or guidance to resolve this issue.
2017 Dec 14
2
help with recursive function
My own typo ... whoops ...
!( any(dat2$norm_sd >= 1 ))
On Thu, Dec 14, 2017 at 3:43 PM, Eric Berger <ericjberger at gmail.com> wrote:
> You seem to have a typo at this expression (and some others like it)
>
> Namely, you write
>
> any(!dat2$norm_sd) >= 1
>
> when you possibly meant to write
>
> !( any(dat2$norm_sd) >= 1 )
>
> i.e. I think your !
2017 Dec 14
3
help with recursive function
If you are trying to understand why the "stopifnot" condition is met you
can replace it by something like:
if ( any(dat2$norm_sd >= 1) )
browser()
This will put you in a debugging session where you can examine your
variables, e.g.
> dat$norm_sd
HTH,
Eric
On Thu, Dec 14, 2017 at 5:33 PM, Eric Berger <ericjberger at gmail.com> wrote:
> The message is coming from
2017 Dec 14
2
help with recursive function
Hi, I accidently left out few lines of code from the calclp function. Updated function is pasted below.
I am still getting the same error ?Error: !(any(data1$norm_sd >= 1)) is not TRUE?
I would appreciate any help.
Nilesh
dput(calclp)
function (dataset)
{
dat1 <- funlp1(dataset)
recursive_funlp <- function(dataset = dat1, func = funlp2) {
dat2 <- dataset %>%
2017 Dec 14
0
help with recursive function
Eric: I will try and see if I can figure out the issue by debugging as you suggested. I don?t know why my code after stopifnot is not getting executed where I like the code to run the funlp2 function when the if statement is TRUE but when it is false, I like it to keep running until the stopifnot condition is met.
When the stopifnot condition is met, I like to get the output from if statement
2017 Dec 14
0
help with recursive function
You seem to have a typo at this expression (and some others like it)
Namely, you write
any(!dat2$norm_sd) >= 1
when you possibly meant to write
!( any(dat2$norm_sd) >= 1 )
i.e. I think your ! seems to be in the wrong place.
HTH,
Eric
On Thu, Dec 14, 2017 at 3:26 PM, DIGHE, NILESH [AG/2362] <
nilesh.dighe at monsanto.com> wrote:
> Hi, I need some help with running a
2017 Dec 14
0
help with recursive function
Eric: Thanks for taking time to look into my problem. Despite of making the change you suggested, I am still getting the same error. I am wondering if the logic I am using in the stopifnot and if functions is a problem.
I like the recursive function to stop whenever the norm_sd column has zero values that are above or equal to 1. Below is the calclp function after the changes you suggested.
2017 Dec 14
0
help with recursive function
The message is coming from your stopifnot() condition being met.
On Thu, Dec 14, 2017 at 5:31 PM, DIGHE, NILESH [AG/2362] <
nilesh.dighe at monsanto.com> wrote:
> Hi, I accidently left out few lines of code from the calclp function.
> Updated function is pasted below.
>
> I am still getting the same error ?Error: !(any(data1$norm_sd >= 1)) is
> not TRUE?
>
>
>
2017 Dec 14
1
help with recursive function
Your code contains the lines
stopifnot(!(any(data1$norm_sd >= 1)))
if (!(any(data1$norm_sd >= 1))) {
df1 <- dat1
return(df1)
}
stop() "throws an error", causing the current function and all functions in
the call
stack to abort and return nothing. It does not mean to stop now and return
a result.
Does the function give
2017 Jun 08
2
DICompileUnit duplication in LLVM 4.0.0?
Thank you. What I need to do to address this? Open an issue on bugs.llvm.org?
I'm not sure what the fix needs to be in the cloner.
On Thu, Jun 8, 2017 at 4:19 PM, Peter Collingbourne <peter at pcc.me.uk> wrote:
> There have in the past been bugs in the cloner involving duplicate
> DICompileUnits (see e.g. https://reviews.llvm.org/D29240), this one may
> need a similar fix.
2009 Jun 02
2
formal argument "envir" matched by multiple actual arguments
Hi list,
This looks similar to the problem reported here
https://stat.ethz.ch/pipermail/r-devel/2006-April/037199.html
by Henrik Bengtsson a long time ago. It is very sporadic and
non-reproducible.
Henrik, do you remember if your code was using reg.finalizer()?
I tend to suspect it but I'm not sure.
I've been hunting this bug for months but today, and we the help of other
Bioconductor