Does someone have an idea about how can I remove everything in R except one object? Normally, to remove everything I code:
rm(list=ls())
So I tried:
rm(c(list=ls()-my_object))
but it didn’t work.
The setdiff()
function shows the difference between sets, so we can use this to give the difference between all the objects (ls()
), and the object you want to keep. For example
## create some objects
df <- data.frame()
v <- as.numeric()
# show everything in environment
objects()
# [1] "df" "v"
## or similarly
ls()
# [1] "df" "v"
## the setdiff() funciton shows the difference between two sets
setdiff(ls(), "df")
# [1] "v"
# so we can use this to remove everything except 'df'
rm(list = setdiff(ls(), "df"))
objects()
# [1] "df"