[R] how to overlook the zero in the denominator

Adaikalavan Ramasamy ramasamy at cancer.org.uk
Wed Jul 27 11:19:00 CEST 2005


The simplest way would be to ignore them in the sum

	sum( ( x - y )/x, na.rm=T )

and notice that I have utilised the vectorised operation. But if you
want to, you can explicitly remove them with

	good <- which( x != 0 )
	sum(  ( x[good] - y[good] )/ x[good]   )

Regards, Adai



On Wed, 2005-07-27 at 16:51 +0800, Chun-Ying Lee wrote:
> Dear R users:
> 
> I have two set of data, as follow:
> x<-c(0,0,0.28,0.55,1.2,2,1.95,1.85,
>      1.6,0.86,0.78,0.6,0.21,0.18)
> y<-c(0,0,0,0.53,1.34,1.79,2.07,1.88,
>     1.52,0.92,0.71,0.55,0.32,0.19)
> i<-1:length(x)
> 
> I want to sum each (x[i]-y[i])^2/x[i] together, 
> like:
> >Sum <-sum((x[i]-y[i])^2/x[i])
> >Sum
> [1] NaN
> 
> Because the denominator shoud not be zero.
> So I want to overlook those when x[i]=0,
> and just to sum those x[i] not equal to 0.
> What should I do?
> Any suggestion.
> Thanks in advance !!
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html




More information about the R-help mailing list