Hi

It is not seq problem, it is floating point numbers representation in finit 
precision problem. Ben pointed to it and you could learn about it from FAQ 7.31.

Cheers
Petr

> -----Original Message-----
> From: POLWART, Calum (COUNTY DURHAM AND DARLINGTON NHS
> FOUNDATION TRUST) <calum.polw...@nhs.net>
> Sent: Thursday, January 17, 2019 2:56 PM
> To: PIKAL Petr <petr.pi...@precheza.cz>; Ben Tupper <btup...@bigelow.org>
> Cc: r-help@r-project.org
> Subject: RE: [R] I can't get seq to behave how I think it should
>
> Thanks guys.
>
> I've used Petr's method and its working for me.
>
> If the data had been from a calculation I'd have rounded it... just didn't 
> expect
> seq to break it!
>
> C
>
> -----Original Message-----
> From: PIKAL Petr [mailto:petr.pi...@precheza.cz]
> Sent: 17 January 2019 13:53
> To: Ben Tupper; POLWART, Calum (COUNTY DURHAM AND DARLINGTON NHS
> FOUNDATION TRUST)
> Cc: r-help@r-project.org
> Subject: RE: [R] I can't get seq to behave how I think it should
>
> Hi
>
> Or you could use rounding.
> which(round(lut, 3)==1.8)
> [1] 401
>
> Cheers
> Petr
>
> > -----Original Message-----
> > From: R-help <r-help-boun...@r-project.org> On Behalf Of Ben Tupper
> > Sent: Thursday, January 17, 2019 2:43 PM
> > To: POLWART, Calum (COUNTY DURHAM AND DARLINGTON NHS
> FOUNDATION TRUST)
> > <calum.polw...@nhs.net>
> > Cc: r-help@r-project.org
> > Subject: Re: [R] I can't get seq to behave how I think it should
> >
> > Hi,
> >
> > This looks like a floating point reality bump - see
> >
> > https://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-
> > these-numbers-are-equal_003f <https://cran.r-project.org/doc/FAQ/R-
> > FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f>
> >
> > You can use other methods to finding your row - I would opt for
> > findInterval()
> >
> > > lut = seq(1.4, 2.1, by=0.001)
> > > findInterval(1.8, lut)
> > [1] 401
> >
> > findInterval() uses a rapid search to find the index in the look up
> > table (lut) that is just less than  or equal to the search value (in your 
> > example
> 1.8).
> >
> > Cheers,
> > Ben
> >
> > > On Jan 17, 2019, at 8:33 AM, POLWART, Calum (COUNTY DURHAM AND
> > DARLINGTON NHS FOUNDATION TRUST) via R-help <r-help@r-project.org>
> > wrote:
> > >
> > > I am using seq with the expression seq(1.4, 2.1, by=0.001) to create
> > > a sequence of references from 1.4 to 2.1 in 0.001 increments.  They
> > > appear to be created correctly.  They have a related pair of data
> > > which for the purposes of this we will call val.  I'm interested in
> > > the content on the row with seq = 1.8. But I can't seem to get it
> > > returned.  I can get other values but not 1.8!  yet looking at row
> > > 401 there is nothing to indicate an issue
> > >
> > >> a = 1.4
> > >> b = 2.1
> > >> seq = seq(a, b, by=0.001)
> > >> val = ceiling(seq * 50)
> > >> s=data.frame(seq, val)
> > >> s$val[seq==1.799]
> > > [1] 90
> > >> s$val[s$seq==1.8]
> > > numeric(0)
> > >> s$val[seq==1.8]
> > > numeric(0)
> > >> s$val[s$seq==1.800]
> > > numeric(0)
> > >> s$val[s$seq==1.801]
> > > [1] 91
> > >> head(s[s$seq>1.798,])
> > >      seq val
> > > 400 1.799  90
> > > 401 1.800  90
> > > 402 1.801  91
> > > 403 1.802  91
> > > 404 1.803  91
> > > 405 1.804  91
> > >
> > >
> > > Can anyone explain what's going on here and how I would correctly
> > > find the
> > content of row 401 by using an expression to equal the seq column?
> > >
> > >
> > >
> > >
> > >
> > >
> >
> *******************************************************************
> > ***
> > > **********************************************
> > >
> > > This message may contain confidential information. If
> > > ...{{dropped:25}}
> >
> > ______________________________________________
> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > 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.
> Osobní údaje: Informace o zpracování a ochraně osobních údajů obchodních
> partnerů PRECHEZA a.s. jsou zveřejněny na: https://www.precheza.cz/zasady-
> ochrany-osobnich-udaju/ | Information about processing and protection of
> business partner’s personal data are available on website:
> https://www.precheza.cz/en/personal-data-protection-principles/
> Důvěrnost: Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné
> a podléhají tomuto právně závaznému prohláąení o vyloučení odpovědnosti:
> https://www.precheza.cz/01-dovetek/ | This email and any documents
> attached to it may be confidential and are subject to the legally binding
> disclaimer: https://www.precheza.cz/en/01-disclaimer/
>
>
>
> *******************************************************************
> *************************************************
>
> This message may contain confidential information. If you are not the intended
> recipient please inform the sender that you have received the message in error
> before deleting it.
> Please do not disclose, copy or distribute information in this e-mail or take 
> any
> action in relation to its contents. To do so is strictly prohibited and may be
> unlawful. Thank you for your co-operation.
>
> NHSmail is the secure email and directory service available for all NHS staff 
> in
> England and Scotland. NHSmail is approved for exchanging patient data and
> other sensitive information with NHSmail and other accredited email services.
>
> For more information and to find out how you can switch,
> https://portal.nhs.net/help/joiningnhsmail

Osobní údaje: Informace o zpracování a ochraně osobních údajů obchodních 
partnerů PRECHEZA a.s. jsou zveřejněny na: 
https://www.precheza.cz/zasady-ochrany-osobnich-udaju/ | Information about 
processing and protection of business partner’s personal data are available on 
website: https://www.precheza.cz/en/personal-data-protection-principles/
Důvěrnost: Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a 
podléhají tomuto právně závaznému prohláąení o vyloučení odpovědnosti: 
https://www.precheza.cz/01-dovetek/ | This email and any documents attached to 
it may be confidential and are subject to the legally binding disclaimer: 
https://www.precheza.cz/en/01-disclaimer/

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.
  • ... POLWART, Calum (COUNTY DURHAM AND DARLINGTON NHS FOUNDATION TRUST) via R-help
    • ... Ben Tupper
      • ... PIKAL Petr
        • ... POLWART, Calum (COUNTY DURHAM AND DARLINGTON NHS FOUNDATION TRUST) via R-help
          • ... PIKAL Petr
            • ... POLWART, Calum (COUNTY DURHAM AND DARLINGTON NHS FOUNDATION TRUST) via R-help
              • ... Jeff Newmiller
              • ... peter dalgaard
                • ... ProfJCNash
        • ... Martin Maechler

Reply via email to