I would like to check if the current environment is the global environment in R. However, direct comparison doesn't seem to work with evironments. What is the best way to do this?
#doesn't work
sys.frame() == .GlobalEnv
I would like to check if the current environment is the global environment in R. However, direct comparison doesn't seem to work with evironments. What is the best way to do this?
#doesn't work
sys.frame() == .GlobalEnv
Matthew Plourde's solution:
> identical(sys.frame(),.GlobalEnv)
[1] TRUE
You can also check names, though this might be less reliable:
> environmentName(sys.frame())=="R_GlobalEnv"
[1] TRUE
all.equal
if you just want to check whether 2 different environments both have the same contents –
Ella Both print and cat return <environment: "an address"> but can't be used for comparison. However format seems to do the job.
Just use format (envir1) == format (envir2)
© 2022 - 2024 — McMap. All rights reserved.
identical
.==
is for vector comparison. – Lemmons