You rang sir? library(tidyverse) xx = 1:10 yr1 = yr2 = yr3 = rnorm(10) dat1 <- data.frame(xx , yr1, yr2, y3)
dat1 %>% select(!starts_with("yr")) or for something a bit more exotic as I have been trying to learn a bit about the "data.table package library(data.table) xx = 1:10 yr1 = yr2 = yr3 = rnorm(10) dat2 <- data.table(xx , yr1, yr2, yr3) dat2[, !names(dat2) %like% "yr", with=FALSE ] On Sat, 14 Jan 2023 at 12:28, <avi.e.gr...@gmail.com> wrote: > Steven, > > Just want to add a few things to what people wrote. > > In base R, the methods mentioned will let you make a copy of your original > DF that is missing the items you are selecting that match your pattern. > > That is fine. > > For some purposes, you want to keep the original data.frame and remove a > column within it. You can do that in several ways but the simplest is > something where you sat the column to NULL as in: > > mydata$NAME <- NULL > > using the mydata["NAME"] notation can do that for you by using a loop of > unctional programming method that does that with all components of your > grep. > > R does have optimizations that make this less useful as a partial copy of > a data.frame retains common parts till things change. > > For those who like to use the tidyverse, it comes with lots of tools that > let you select columns that start with or end with or contain some pattern > and I find that way easier. > > > > -----Original Message----- > From: R-help <r-help-boun...@r-project.org> On Behalf Of Steven Yen > Sent: Saturday, January 14, 2023 7:49 AM > To: Andrew Simmons <akwsi...@gmail.com> > Cc: R-help Mailing List <r-help@r-project.org> > Subject: Re: [R] Removing variables from data frame with a wile card > > Thanks to all. Very helpful. > > Steven from iPhone > > > On Jan 14, 2023, at 3:08 PM, Andrew Simmons <akwsi...@gmail.com> wrote: > > > > You'll want to use grep() or grepl(). By default, grep() uses > > extended regular expressions to find matches, but you can also use > > perl regular expressions and globbing (after converting to a regular > expression). > > For example: > > > > grepl("^yr", colnames(mydata)) > > > > will tell you which 'colnames' start with "yr". If you'd rather you > > use globbing: > > > > grepl(glob2rx("yr*"), colnames(mydata)) > > > > Then you might write something like this to remove the columns starting > with yr: > > > > mydata <- mydata[, !grepl("^yr", colnames(mydata)), drop = FALSE] > > > >> On Sat, Jan 14, 2023 at 1:56 AM Steven T. Yen <st...@ntu.edu.tw> wrote: > >> > >> I have a data frame containing variables "yr3",...,"yr28". > >> > >> How do I remove them with a wild card----something similar to "del yr*" > >> in Windows/doc? Thank you. > >> > >>> colnames(mydata) > >> [1] "year" "weight" "confeduc" "confothr" "college" > >> [6] ... > >> [41] "yr3" "yr4" "yr5" "yr6" "yr7" > >> [46] "yr8" "yr9" "yr10" "yr11" "yr12" > >> [51] "yr13" "yr14" "yr15" "yr16" "yr17" > >> [56] "yr18" "yr19" "yr20" "yr21" "yr22" > >> [61] "yr23" "yr24" "yr25" "yr26" "yr27" > >> [66] "yr28"... > >> > >> ______________________________________________ > >> 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. > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > -- John Kane Kingston ON Canada [[alternative HTML version deleted]] ______________________________________________ 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.