[R] why data frame's logical index isnt working

David Winsemius dwinsemius at comcast.net
Fri Apr 8 04:29:04 CEST 2016

> On Apr 7, 2016, at 6:46 PM, Michael Artz <michaeleartz at gmail.com> wrote:
> data.frame.$columnToAdd["CurrentColumnName" == "ConditionMet"] <- 1
> Can someone please explain to me why the above command gives all NAs to
> columnToAdd?  I thought this was possible in R to do logical expression in
> the index of a data frame

It is possible, but please execute this at a console line and then read ?"[" to see what is happening:

"CurrentColumnName" == "ConditionMet"  # almost surely FALSE

Let's assume your dataframe were named 'dat'.

Perhaps you meant to write:

dat$colToAdd[ dat[["CurrentColumnName"]] == dat[["ConditionMet"]] ] <- 1

And do please stop naming your dataframes "data.frame".

> 	[[alternative HTML version deleted]]
> ______________________________________________
> 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.

David Winsemius
Alameda, CA, USA

More information about the R-help mailing list