bioinformatics
2012-Feb-21 18:53 UTC
[R] In R 2.14.1, what does wrong sign in 'by' argument mean?
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.
Richard M. Heiberger
2012-Feb-21 19:36 UTC
[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 <uccstudent@live.ie> 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. > > ______________________________________________ > R-help@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<http://www.r-project.org/posting-guide.html> > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]
Petr Savicky
2012-Feb-21 20:38 UTC
[R] In R 2.14.1, what does wrong sign in 'by' argument mean?
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.