Andrew Simmons
2023-Jan-14 07:08 UTC
[R] Removing variables from data frame with a wile card
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 <styen at 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 at 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.
Thanks to all. Very helpful. Steven from iPhone> On Jan 14, 2023, at 3:08 PM, Andrew Simmons <akwsimmo at 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 <styen at 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 at 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]]
Seemingly Similar Threads
- Removing variables from data frame with a wile card
- Removing variables from data frame with a wile card
- Removing variables from data frame with a wile card
- Removing variables from data frame with a wile card
- Removing variables from data frame with a wile card