Try leaving the quote marks off the NA:
data[,4] <- ifelse(data[,3]<1,data[,1]/(1-data[,3]),NA)
You are putting a character value with the "NA" which converts
everything else to a character. If you had examined the dataframe
with 'str(data)' you would probably have seen the problem.
On Wed, Nov 21, 2012 at 5:34 PM, djbanana <karl79264219 at gmail.com>
wrote:> Hi,
>
> I have a data frame and I need to add another column.
>
> I am using: data[,4] <-
ifelse(data[,3]<1,data[,1]/(1-data[,3]),"NA")
>
> This is returning values but are in quotation marks. The error I am getting
> is "non-numeric argument to binary operator"
>
> I need column four in data to be numeric. Tried as.numeric but it did not
> work well either.
>
> Would appreciate any help.
>
> Thanks.
>
>
>
> --
> View this message in context:
http://r.789695.n4.nabble.com/ifelse-numeric-tp4650390.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at 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.
--
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.