Hello,
You can get all objects to be changed into a list, change the list's
names attribute and assign back to the globalenv. Something like the
following.
First see if the objects exist in the global env.
ls()
#[1] "meb1.p.emb" "meb2.p.emb" "mec1.p.emb" "mec2.p.emb"
#[5] "mej12.p.emb" "mej22.p.emb"
Now the code to change their names
# create a vector of names of the objects
# whose names are to be changed
obj_names <- ls(pattern = "\\.emb$")
# this is instruction is not strictly needed
# it's meant to check if the regex works (it does)
sub("\\.emb$", "", obj_names)
#[1] "meb1.p" "meb2.p" "mec1.p" "mec2.p" "mej12.p" "mej22.p"
# get the objects into a list
tmp_list <- mget(obj_names, envir = .GlobalEnv)
# change the list's names
names(tmp_list) <- sub("\\.emb$", "", obj_names)
# assign them to the global environment
list2env(tmp_list, envir = .GlobalEnv)
# clean up
rm(tmp_list)
rm(list = obj_names)
# check to see if it worked (it did)
ls()
#[1] "meb1.p" "meb2.p" "mec1.p" "mec2.p" "mej12.p" "mej22.p"
Hope this helps,
Rui Barradas
Às 10:27 de 20/11/21, Steven Yen escreveu:
I have named NUMEROUS objects (each containing, e.g., 48 obs. of 5
variables), such as
mec1.p.emb
mec2.p.emb
meb1.p.emb
meb2.p.emb
mej12.p.emb
mej22.p.emb
How would I rename these objects removing the silly ".emb", into objects
mec1.p
mec2.p
meb1.p
meb2.p
mej12.p
mej22.p
Thank you!
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.