On Jun 21, 2011, at 9:57 AM, Ista Zahn wrote:

I would cation people not to use the -which strategy because entering
a value that doesn't exist as a column name returns a zero-column
data.frame, without so much as a warning. This can be a problem if you
don't know if a column exists but just want to make sure it doesn't,
or if you make a typo. Compare

head(mtcars[, -which(names(mtcars) == "make.sure.to.delete")])

to

head(mtcars[, setdiff(names(mtcars), "make.sure.to.delete")])

Excellent point, and also applies to the greppish strategies. Although these do give the desired results:

# [which( ... != <target>)]
> head(mtcars[, which(names(mtcars) != "make.sure.to.delete")])
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

# Logical negation of grepl result
> head( mtcars[ , !grepl("^make.sure.to.delete$", names(mtcars) ) ] )
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1



Best,
Ista

On Tue, Jun 21, 2011 at 12:22 AM, Joshua Wiley <jwiley.ps...@gmail.com> wrote:
On Mon, Jun 20, 2011 at 8:55 PM, Erin Hodgess <erinm.hodg...@gmail.com > wrote:
Too funny!

how about subset?

Sure, that is one option.  Each of the following will also work.  The
ones wrapped with c() can easily omit more than one at a time.

mtcars[, -which(names(mtcars) == "drat")]
mtcars[, names(mtcars) != "drat"]
mtcars[, !names(mtcars) %in% c("drat")]
mtcars[, -match(c("drat"), names(mtcars))]


On Mon, Jun 20, 2011 at 10:52 PM, Joshua Wiley <jwiley.ps...@gmail.com > wrote:
Hi Erin,

See inline.

On Mon, Jun 20, 2011 at 8:45 PM, Erin Hodgess <erinm.hodg...@gmail.com > wrote:
Dear R People:

I have a data frame, xm1, which has 12 rows and 4 columns.

If I put is xm1[,-4], I get all rows, and columns 1 - 3, which is as
it should be.

Okay, so you know how to use the column number to omit columns.


Now, is there a way to use the names of the columns to omit them, please?

You have all the pieces (the column names, and the knowledge that you
can omit columns by their index).

Homework: find a way to return the column numbers given the column names (hint).

Cheers,

Josh




Thanks so much in advance!

Sincerely,
Erin


--
Erin Hodgess
Associate Professor
Department of Computer and Mathematical Sciences
University of Houston - Downtown
mailto: erinm.hodg...@gmail.com

______________________________________________
R-help@r-project.org mailing list
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.




--
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
http://www.joshuawiley.com/




--
Erin Hodgess
Associate Professor
Department of Computer and Mathematical Sciences
University of Houston - Downtown
mailto: erinm.hodg...@gmail.com




--
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
http://www.joshuawiley.com/

______________________________________________
R-help@r-project.org mailing list
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.




--
Ista Zahn
Graduate student
University of Rochester
Department of Clinical and Social Psychology
http://yourpsyche.org

______________________________________________
R-help@r-project.org mailing list
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.

David Winsemius, MD
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to