Quantcast

In R 2.14.1, what does wrong sign in 'by' argument mean?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

In R 2.14.1, what does wrong sign in 'by' argument mean?

bioinformatics
Here is my code


    slidingwindowplotATGC = function(windowsize, inputseq)
    {

    starts = seq(1, length(inputseq)-windowsize, by = windowsize)
    n = length(starts)
    chunkGs = numeric(n)
    chunkAs = numeric(n)
    chunkTs = numeric(n)
    chunkCs = numeric(n)
    for (i in 1:n) {
        chunk = windowsize[starts[i]:(starts[i]+9999)]
        chunkG = sum("g" == chunk)/length(chunk)
        chunkA = sum("a" == chunk)/length(chunk)
        chunkT = sum("t" == chunk)/length(chunk)
        chunkC = sum("c" == chunk)/length(chunk)
          chunkGs[i] = chunkG
        chunkAs[i] = chunkA
          chunkTs[i] = chunkT
          chunkCs[i] = chunkC
        }  
    plot(starts,chunkGs,type="b",ylim=c(min(min(chunkAs),min(chunkTs),min(chunkCs),min(chunkGs)),max(max(chunkAs),max(chunkTs),max(chunkCs),max(chunkGs))),col = "red")
    points(starts,chunkTs,col = "blue")
    points(starts,chunkAs,col = "green")
    points(starts,chunkCs)
}


Im getting the following error message,

    Error in seq.default(1, length(inputseq) - windowsize, by = windowsize) :
      wrong sign in 'by' argument


which I never got before when running codes of this sort, infact I re ran old code that worked perfectly before, except this time Im getting this error message which doesn't seem to make any sense at all! I need help with this before I go completely insane... Maybe Im just bad at this program, but it seems to me that it has a mind of its own... I was also getting an error message before regarding the ylim function, stating that it needed to be a finite value, which is what I was giving it? HELP!!!
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: In R 2.14.1, what does wrong sign in 'by' argument mean?

Richard M. Heiberger
> seq(1,4,1)
[1] 1 2 3 4
> seq(1,4,-1)
Error in seq.default(1, 4, -1) : wrong sign in 'by' argument
>

On Tue, Feb 21, 2012 at 1:53 PM, bioinformatics <[hidden email]> wrote:

> Here is my code
>
>
>    slidingwindowplotATGC = function(windowsize, inputseq)
>    {
>
>    starts = seq(1, length(inputseq)-windowsize, by = windowsize)
>    n = length(starts)
>    chunkGs = numeric(n)
>    chunkAs = numeric(n)
>    chunkTs = numeric(n)
>    chunkCs = numeric(n)
>    for (i in 1:n) {
>        chunk = windowsize[starts[i]:(starts[i]+9999)]
>        chunkG = sum("g" == chunk)/length(chunk)
>        chunkA = sum("a" == chunk)/length(chunk)
>        chunkT = sum("t" == chunk)/length(chunk)
>        chunkC = sum("c" == chunk)/length(chunk)
>          chunkGs[i] = chunkG
>        chunkAs[i] = chunkA
>          chunkTs[i] = chunkT
>          chunkCs[i] = chunkC
>        }
>
>
> plot(starts,chunkGs,type="b",ylim=c(min(min(chunkAs),min(chunkTs),min(chunkCs),min(chunkGs)),max(max(chunkAs),max(chunkTs),max(chunkCs),max(chunkGs))),col
> = "red")
>    points(starts,chunkTs,col = "blue")
>    points(starts,chunkAs,col = "green")
>    points(starts,chunkCs)
> }
>
>
> Im getting the following error message,
>
>    Error in seq.default(1, length(inputseq) - windowsize, by = windowsize)
> :
>      wrong sign in 'by' argument
>
>
> which I never got before when running codes of this sort, infact I re ran
> old code that worked perfectly before, except this time Im getting this
> error message which doesn't seem to make any sense at all! I need help with
> this before I go completely insane... Maybe Im just bad at this program,
> but
> it seems to me that it has a mind of its own... I was also getting an error
> message before regarding the ylim function, stating that it needed to be a
> finite value, which is what I was giving it? HELP!!!
>
> --
> View this message in context:
> http://r.789695.n4.nabble.com/In-R-2-14-1-what-does-wrong-sign-in-by-argument-mean-tp4407926p4407926.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: In R 2.14.1, what does wrong sign in 'by' argument mean?

bioinformatics
Thats all well and good but the number im using is a positive so that shouldn't be happening.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: In R 2.14.1, what does wrong sign in 'by' argument mean?

David Carlson
In reply to this post by Richard M. Heiberger
Don't delete the context of the message. If you are sure that windowsize is
positive, are you also sure that it is less than length(inputseq)?

> seq(1, -10, 1)
Error in seq.default(1, -10, 1) : wrong sign in 'by' argument

----------------------------------------------
David L Carlson
Associate Professor of Anthropology
Texas A&M University
College Station, TX 77843-4352


Date: Tue, 21 Feb 2012 11:43:15 -0800 (PST)
From: bioinformatics <[hidden email]>
To: [hidden email]

Thats all well and good but the number im using is a positive so that
shouldn't be happening.

--

From: [hidden email] [mailto:[hidden email]] On
Behalf Of Richard M. Heiberger
Sent: Tuesday, February 21, 2012 1:36 PM
To: bioinformatics
Cc: [hidden email]
Subject: Re: [R] In R 2.14.1, what does wrong sign in 'by' argument mean?

> seq(1,4,1)
[1] 1 2 3 4
> seq(1,4,-1)
Error in seq.default(1, 4, -1) : wrong sign in 'by' argument
>

On Tue, Feb 21, 2012 at 1:53 PM, bioinformatics <[hidden email]> wrote:

> Here is my code
>
>
>    slidingwindowplotATGC = function(windowsize, inputseq)
>    {
>
>    starts = seq(1, length(inputseq)-windowsize, by = windowsize)
>    n = length(starts)
>    chunkGs = numeric(n)
>    chunkAs = numeric(n)
>    chunkTs = numeric(n)
>    chunkCs = numeric(n)
>    for (i in 1:n) {
>        chunk = windowsize[starts[i]:(starts[i]+9999)]
>        chunkG = sum("g" == chunk)/length(chunk)
>        chunkA = sum("a" == chunk)/length(chunk)
>        chunkT = sum("t" == chunk)/length(chunk)
>        chunkC = sum("c" == chunk)/length(chunk)
>          chunkGs[i] = chunkG
>        chunkAs[i] = chunkA
>          chunkTs[i] = chunkT
>          chunkCs[i] = chunkC
>        }
>
>
>
plot(starts,chunkGs,type="b",ylim=c(min(min(chunkAs),min(chunkTs),min(chunkC
s),min(chunkGs)),max(max(chunkAs),max(chunkTs),max(chunkCs),max(chunkGs))),c
ol

> = "red")
>    points(starts,chunkTs,col = "blue")
>    points(starts,chunkAs,col = "green")
>    points(starts,chunkCs)
> }
>
>
> Im getting the following error message,
>
>    Error in seq.default(1, length(inputseq) - windowsize, by = windowsize)
> :
>      wrong sign in 'by' argument
>
>
> which I never got before when running codes of this sort, infact I re ran
> old code that worked perfectly before, except this time Im getting this
> error message which doesn't seem to make any sense at all! I need help
with
> this before I go completely insane... Maybe Im just bad at this program,
> but
> it seems to me that it has a mind of its own... I was also getting an
error
> message before regarding the ylim function, stating that it needed to be a
> finite value, which is what I was giving it? HELP!!!
>
> --
> View this message in context:
>
http://r.789695.n4.nabble.com/In-R-2-14-1-what-does-wrong-sign-in-by-argumen
t-mean-tp4407926p4407926.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
>
http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting
-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] 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.

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: In R 2.14.1, what does wrong sign in 'by' argument mean?

Petr Savicky
In reply to this post by bioinformatics
On Tue, Feb 21, 2012 at 10:53:44AM -0800, bioinformatics wrote:

> Here is my code
>
>
>     slidingwindowplotATGC = function(windowsize, inputseq)
>     {
>
>     starts = seq(1, length(inputseq)-windowsize, by = windowsize)
>     n = length(starts)
>     chunkGs = numeric(n)
>     chunkAs = numeric(n)
>     chunkTs = numeric(n)
>     chunkCs = numeric(n)
>     for (i in 1:n) {
>         chunk = windowsize[starts[i]:(starts[i]+9999)]
>         chunkG = sum("g" == chunk)/length(chunk)
>         chunkA = sum("a" == chunk)/length(chunk)
>         chunkT = sum("t" == chunk)/length(chunk)
>         chunkC = sum("c" == chunk)/length(chunk)
>  chunkGs[i] = chunkG
>         chunkAs[i] = chunkA
>  chunkTs[i] = chunkT
>  chunkCs[i] = chunkC
> }  
>    
> plot(starts,chunkGs,type="b",ylim=c(min(min(chunkAs),min(chunkTs),min(chunkCs),min(chunkGs)),max(max(chunkAs),max(chunkTs),max(chunkCs),max(chunkGs))),col
> = "red")
>     points(starts,chunkTs,col = "blue")
>     points(starts,chunkAs,col = "green")
>     points(starts,chunkCs)
> }
>
>
> Im getting the following error message,
>
>     Error in seq.default(1, length(inputseq) - windowsize, by = windowsize)
> :
>       wrong sign in 'by' argument
>

Hi.

Try to set options(error=utils::recover) before the run. When
the error occurs, you can see the values of the variables
inside the function, where the error occured.

Hope this helps.

Petr Savicky.

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: In R 2.14.1, what does wrong sign in 'by' argument mean?

bbolker
Petr Savicky <savicky <at> cs.cas.cz> writes:

>
> On Tue, Feb 21, 2012 at 10:53:44AM -0800, bioinformatics wrote:
> > Here is my code
> >
 
 [deleting context -- sorry, but posting via Gmane and I have
a short comment to make, so if I don't delete stuff it will
complain ...]

>
> Hi.
>
> Try to set options(error=utils::recover) before the run. When
> the error occurs, you can see the values of the variables
> inside the function, where the error occured.
>
> Hope this helps.
>
> Petr Savicky.
>

  'bioinformatics': it's considered appropriate to at least
mentioned that you posted this on Stack Overflow as well:
<http://tinyurl.com/86npzft> I and another commenter there
have spent a fair amount of effort already trying to help.
It would be better to address the comments there instead of
spreading effort across two different mailing lists.

  As is discussed there, part of the problem is confusion
over whether you're starting from a single string (i.e.
length(inputseq)==1 and nchar(inputseq) is a numeric vector
with length 1 and value >1) or a string of single characters
(i.e. length(inputseq)>1 and all(nchar(inputseq)==1)).  Beyond
that, and more critically, your

    chunk = windowsize[starts[i]:(starts[i]+9999)]

doesn't make any sense if 'windowsize' is a single value.

In other words, it's a little hard to believe that this particular
code chunk ever did something sensible.

  Ben Bolker

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: In R 2.14.1, what does wrong sign in 'by' argument mean?

arivald
This post has NOT been accepted by the mailing list yet.
This post was updated on .
In reply to this post by bioinformatics
Hi mate, I had the same problem today

here just change "windowsize" to "by"
bioinformatics wrote
Here is my code
    slidingwindowplotATGC = function(windowsize, inputseq)
    {
    starts = seq(1, length(inputseq)-windowsize, by = windowsize)
    n = length(starts)
so, it ll looks like that:

slidingwindowplotATGC = function(by, inputseq)
    {
    starts = seq(1, length(inputseq)-windowsize, by = by)
    n = length(starts)


and here, like someone wrote before, windowsize is not makes sense here... you should insert your sequence here!
bioinformatics wrote
chunk = windowsize[starts[i]:(starts[i]+9999)]
cheers and good luck!
M
Loading...