[R] ifelse + numeric

jim holtman jholtman at gmail.com
Thu Nov 22 02:50:06 CET 2012


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.




More information about the R-help mailing list