you probably mean something like this data.frame.$columnToAdd <- (data.frame.$CurrentColumnName == data.frame.$ConditionMet)
what you did is compare two character strings. They are not the same. Therefore a new column is created with the default value NA. > tmp <- data.frame(A=1:4, B=c(1,3,4,5)) > tmp A B 1 1 1 2 2 3 3 3 4 4 4 5 > tmp$C <- tmp$A == tmp$B > tmp A B C 1 1 1 TRUE 2 2 3 FALSE 3 3 4 FALSE 4 4 5 FALSE > tmp$D["A" == "B"] <- 1 > tmp A B C D 1 1 1 TRUE NA 2 2 3 FALSE NA 3 3 4 FALSE NA 4 4 5 FALSE NA > On Thu, Apr 7, 2016 at 9:46 PM, Michael Artz <michaelea...@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 > > [[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.