Displaying 20 results from an estimated 30000 matches similar to: "on lexical scoping...."
2023 Apr 04
2
on lexical scoping....
The following *might* be of use to you. If you can predict what the various
function invocations will do, I think you have a reasonable grasp of how
lexical scoping works in R (contrary or supplementary opinions welcome).
It is the sort of thing you will find in the references also. If this is
all obvious, sorry for wasting your time.
#######################
search()
ls()
dat <- list(x =2)
2023 Apr 05
1
on lexical scoping....
R *does* search the environment stack.
> search()
[1] ".GlobalEnv" "package:stats" "package:graphics"
[4] "package:grDevices" "package:utils" "package:datasets"
[7] "package:methods" "Autoloads" "package:base
What you seem to be missing is that a package may contain
bindings that it
2023 Apr 04
2
on lexical scoping....
obviously, everyone has different opinions on what's useful but I always
found this document quite
helpful. I think, in the past, someone said that there are some incorrect
statements in but I'm not sure
what they are.
https://askming.github.io/study_notes/Stats_Comp/Note-How%20R%20searches%20and%20finds%20stuff.html
On Tue, Apr 4, 2023 at 7:06?PM Bert Gunter <bgunter.4567 at
2023 Apr 04
1
on lexical scoping....
?search and ?environment
See also "The R Language Definition" manual for similar such questions.
-- Bert
On Tue, Apr 4, 2023 at 6:56?AM akshay kulkarni <akshay_e4 at hotmail.com> wrote:
>
> Dear Members,
> I have the following code typed at the console prompt:
>
> y <- x*10
>
> X has not been defined and the above code
2023 Apr 04
1
on lexical scoping....
Dear Deepayan,
THanks for the pithy, pointed reply.
But isn't it risky? Can I somehow get a warning when x is not defined in the global environment but takes on a value from one of the loaded packages? any packages for that?
THanking you,
Yours sincerely,
AKSHAY M KULKARNI
________________________________
From: Deepayan Sarkar <deepayan.sarkar at
2023 Apr 04
1
on lexical scoping....
You can't change the basic way R searches, but you can ask for a
different kind of search. For example, to see if "x" exists, you can use
exists("x")
and it will do the default search, but
exists("x", inherits = FALSE)
will only look in the current environment. The get() function has a
similar argument which returns the value
Unfortunately these
2023 Apr 04
1
on lexical scoping....
Dear Duncan,
THanks for the reply...!
So the takeaway is that define the symbol in the same environment before using it right!?
Thanking you,
Yours sincerely,
AKSHAY M KULKARNI
________________________________
From: Duncan Murdoch <murdoch.duncan at gmail.com>
Sent: Tuesday, April 4, 2023 8:21 PM
To: akshay kulkarni <akshay_e4 at hotmail.com>; Deepayan Sarkar
2023 Apr 04
1
on lexical scoping....
No, there are lots of situations where that doesn't make sense. You
don't want to have to define local copies of the functions from every
package you use, for example.
I think the takeaway is to learn how R scoping works, and keep things
simple. That's one reason I tend to avoid "tidyverse" packages. There
are a lot of really good ideas in those packages, but
2023 Apr 05
1
on lexical scoping....
It seems mostly correct. Here are a few quibbles:
- I don't think "owner" is a good description of the parent environment.
Usually when I use owner in computing, there's an implication that the
owner controls what it owns, is responsible for allocating and
destroying it, etc. Parent environments are targets of a pointer from
other environments that list them as their
2023 Apr 04
1
on lexical scoping....
On 04/04/2023 9:56 a.m., akshay kulkarni wrote:
> Dear Members,
> I have the following code typed at the console prompt:
>
> y <- x*10
>
> X has not been defined and the above code throws an object not found error. That is, the global environment does not contain x. Why doesn't it look further in the environment stack, like that of
2023 Mar 19
1
lexical scoping for scripts......
Again, the answer is "interactivity does not matter".
On March 19, 2023 12:54:28 PM PDT, akshay kulkarni <akshay_e4 at hotmail.com> wrote:
>Dear Jeff,
> I will not be running R command in the shell prompt. So there is no banner, no > prompt. Just running "myscript.R" from the shell prompt. or from crontab in Linux. I think you get the
2023 Mar 19
2
lexical scoping for scripts......
Dear Duncun,
What if there is no interactive "session" running? I will be running my scripts automatically from crontab in Linux.
THanking you,
Yours sincerely,
AKSHAY M KULKARNI
________________________________
From: Duncan Murdoch <murdoch.duncan at gmail.com>
Sent: Monday, March 20, 2023 12:20 AM
To: akshay kulkarni <akshay_e4 at hotmail.com>; R
2023 Mar 19
1
lexical scoping for scripts......
On 19/03/2023 2:55 p.m., akshay kulkarni wrote:
> Dear Duncun,
> ? ? ? ? ? ? ? ? ? ? ? ? ?What if there is no interactive "session"
> running? I will be running my scripts automatically from crontab in Linux.
I was talking about the session that is created for the duration of the
BATCH run, not some other session that may be running in another
process. Sorry for the
2023 Mar 19
1
lexical scoping for scripts......
Dear Jeff,
I will not be running R command in the shell prompt. So there is no banner, no > prompt. Just running "myscript.R" from the shell prompt. or from crontab in Linux. I think you get the context.....
thanking you,
yours sincerely
AKSHAY M KULKARNI
________________________________
From: Jeff Newmiller <jdnewmil at dcn.davis.ca.us>
Sent: Monday, March
2023 Mar 19
1
lexical scoping for scripts......
What do _you_ mean when you use the term "interactive"? Because R distinguishes between executing code in a function and executing code from the global environment, but it does not care whether a person is doing the typing or not.
I get the feeling that you think of your R code in terms of "scripts" when you should be thinking of your code in terms of functions. What
2023 Mar 19
1
lexical scoping for scripts......
On 19/03/2023 2:33 p.m., akshay kulkarni wrote:
> Dear Duncun,
> ? ? ? ? ? ? ? ? ? ? ? ? ?thanks for the reply....
>
> So when I run a script in the system command line by R CMD BATCH, the
> objects created in the script cannot be stored in the workspace ,right?
> If yes, how to save them? Moreover, the only way to save the objects
> CREATED from the script permanently is
2023 Mar 19
1
lexical scoping for scripts......
Dear Duncun,
thanks for the reply....
So when I run a script in the system command line by R CMD BATCH, the objects created in the script cannot be stored in the workspace ,right? If yes, how to save them? Moreover, the only way to save the objects CREATED from the script permanently is to save them to the disk, right?
THanking you,
yours sincerely,
AKSHAY M KULKARNI
2023 Mar 18
1
lexical scoping for scripts......
On 18/03/2023 1:57 p.m., akshay kulkarni wrote:
> Dear members,
> The documentation for source() says:
>
> Input is read and parsed from that file until the end of the file is reached, then the parsed expressions are evaluated sequentially in the chosen environment.
>
> What does this mean? I presume that any objects that are CREATED by the script
2023 Jan 12
4
return value of {....}
Hello Akshay,
R is quite inspired by LISP, where this is a common thing. It is not in fact that {...} returned something, rather any expression evalulates to some value, and for a compound statement that is the last evaluated expression.
{...} might be seen as similar to LISPs (begin ...).
Now this is a very different thing compared to {...} in something like C, even if it looks or behaves
2023 Jan 09
3
return value of {....}
Dear Valentin,
But why should {....} "return" a value? It could just as well evaluate all the expressions and store the resulting objects in whatever environment the interpreter chooses, and then it would be left to the user to manipulate any object he chooses. Don't you think returning the last, or any value, is redundant? We are living in the 21st century