|
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!!! |
|
> 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. |
|
Thats all well and good but the number im using is a positive so that shouldn't be happening.
|
|
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 > } > > > 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 > 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. |
|
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. |
|
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. |
|
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" 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! cheers and good luck! M |
| Powered by Nabble | Edit this page |
