How do I clear only a few specific objects from the workspace?
I would like to remove some data from the workspace. I know the "Clear All" button will remove all data. However, I would like to remove just certain data.
For example, I have these data frames in the data section:
data
data_1
data_2
data_3
I would like to remove data_1
, data_2
and data_3
, while keeping data
.
I tried data_1 <- data_2 <- data_3 <- NULL
, which does remove the data (I think), but still keeps it in the workspace area, so it is not fully what I would like to do.
Solution 1:
You'll find the answer by typing ?rm
rm(data_1, data_2, data_3)
Solution 2:
A useful way to remove a whole set of named-alike objects:
rm(list = ls()[grep("^tmp", ls())])
thereby removing all objects whose name begins with the string "tmp".
Edit: Following Gsee's comment, making use of the pattern
argument:
rm(list = ls(pattern = "^tmp"))
Edit: Answering Rafael comment, one way to retain only a subset of objects is to name the data you want to retain with a specific pattern. For example if you wanted to remove all objects whose name do not start with paper
you would issue the following command:
rm(list = grep("^paper", ls(), value = TRUE, invert = TRUE))