[R] format negative numbers

MacQueen, Don macqueen1 at llnl.gov
Mon Oct 20 19:22:00 CEST 2014


You could do it with minimal use of regular expressions, along the lines
of this example:

x <- c('123','2.31','2.313-', '45-')
is.neg <- grepl('-',x)
xn <- x
xn[is.neg] <- paste0( '-', substring(x[is.neg],1, nchar(x[is.neg])-1))
xn <- as.numeric(xn)
                   
I made a copy, 'xn', so that original and final can easily be compared,
but it's not necessary to do so.


-Don

-- 
Don MacQueen

Lawrence Livermore National Laboratory
7000 East Ave., L-627
Livermore, CA 94550
925-423-1062





On 10/20/14, 12:03 AM, "PIKAL Petr" <petr.pikal at precheza.cz> wrote:

>Dear all.
>
>Before I start fishing in (for me) murky regular expression waters I try
>to ask community about changing format of negative numbers.
>
>For some reason I get a file with negative numbers formatted with
>negative sign at end of number.
>
>something like
>
>0.123-
>
>It is imported as factors and I need to convert it to numbers again.
>Before converting I need to change it to "correct" format
>
>-0.123
>
>Does anybody know some simple way?
>
>Cheers
>Petr
>
>
>________________________________
>Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou
>určeny pouze jeho adresátům.
>Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě
>neprodleně jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho
>kopie vymažte ze svého systému.
>Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento
>email jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat.
>Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi
>či zpožděním přenosu e-mailu.
>
>V případě, že je tento e-mail součástí obchodního jednání:
>- vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření
>smlouvy, a to z jakéhokoliv důvodu i bez uvedení důvodu.
>- a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně
>přijmout; Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze
>strany příjemce s dodatkem či odchylkou.
>- trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve
>výslovným dosažením shody na všech jejích náležitostech.
>- odesílatel tohoto emailu informuje, že není oprávněn uzavírat za
>společnost žádné smlouvy s výjimkou případů, kdy k tomu byl písemně
>zmocněn nebo písemně pověřen a takové pověření nebo plná moc byly
>adresátovi tohoto emailu případně osobě, kterou adresát zastupuje,
>předloženy nebo jejich existence je adresátovi či osobě jím zastoupené
>známá.
>
>This e-mail and any documents attached to it may be confidential and are
>intended only for its intended recipients.
>If you received this e-mail by mistake, please immediately inform its
>sender. Delete the contents of this e-mail with all attachments and its
>copies from your system.
>If you are not the intended recipient of this e-mail, you are not
>authorized to use, disseminate, copy or disclose this e-mail in any
>manner.
>The sender of this e-mail shall not be liable for any possible damage
>caused by modifications of the e-mail or by delay with transfer of the
>email.
>
>In case that this e-mail forms part of business dealings:
>- the sender reserves the right to end negotiations about entering into a
>contract in any time, for any reason, and without stating any reasoning.
>- if the e-mail contains an offer, the recipient is entitled to
>immediately accept such offer; The sender of this e-mail (offer) excludes
>any acceptance of the offer on the part of the recipient containing any
>amendment or variation.
>- the sender insists on that the respective contract is concluded only
>upon an express mutual agreement on all its aspects.
>- the sender of this e-mail informs that he/she is not authorized to
>enter into any contracts on behalf of the company except for cases in
>which he/she is expressly authorized to do so in writing, and such
>authorization or power of attorney is submitted to the recipient or the
>person represented by the recipient, or the existence of such
>authorization is known to the recipient of the person represented by the
>recipient.
>______________________________________________
>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.



More information about the R-help mailing list