[R] Changing sign on absolute numbers 0 problems

David Winsemius dwinsemius at comcast.net
Wed Oct 20 21:45:39 CEST 2010


On Oct 20, 2010, at 3:19 PM, David Winsemius wrote:

>
> On Oct 20, 2010, at 11:47 AM, Sadz A wrote:
>
>> Hi,
>>
>> I am trying to do some calculations turning DMS data to decimal  
>> degrees using
>> the formula (D+(M/60)+(S/3600)), some of the D's involve -ve  
>> numbers, the
>> easiest way to do the calculation is to use absolute numbers then  
>> use the 'sign'
>> function in R to change the answer back to the correct -ve or +ve,
>>
>> for example, if;
>> D<--69
>> M<-8
>> S<-10
>> then
>> decimal<-D+(M/60)+(S/3600)
>> -69+(8/60)+(10/3600)   = this would equal -68.86389  (which is  
>> wrong, it should
>> be -69.13611,  so i used the following function)
>>
>> decimal<-(abs(D)+(M/60)+(S/3600))
>> decimal.degs<-sign(D)*decimal
>> decimal.degs
>> -69.13611
>>
>> because ((69+(8/60)+(10/3600)=69.13611) and then the -sign is put  
>> back in.
>>
>> This works fine untill D=0
>> because then 'sign' does not give 0 a +ve sign it takes it as 0 and  
>> multiplies
>> decimal by 0 to give 0.
>> example
>> D<-0
>> decimal<-D+(M/60)+(S/3600)
>> decimal.degs<-sign(D)*decimal
>> decimal.degs
>> 0
>>
>> Is there anyway to get around this??????????
>
> I am not sure I understand the source of your distress. Why are you  
> disturbed that 0 returns 0? ??????
>
>> and make D=0 a positive and not a 0 with sign or another  
>> function??????
>
> You can always define your own function:
>
> nonneg <- function(x) { 0 + !sign(x) }
>
> > nonneg(0)
> [1] 1

Insufficient testing. Try instead:

 > nonneg <- function(x) { 0+(x >= 0 )}
 > nonneg(c(-2,-1,0,1,2))
[1] 0 0 1 1 1


>
>
>>
>> Any help is appreciated
>> Thank you
>> sadz
>>
>> ps please email me if you need more info
> -- 
> David Winsemius, MD
> West Hartford, CT
>
> ______________________________________________
> 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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list