[R] error with seq() used in for loop

Berend Hasselman bhh at xs4all.nl
Sun Oct 11 14:20:43 CEST 2015


> On 11 Oct 2015, at 14:12, Maram SAlem <marammagdysalem at gmail.com> wrote:
> 
> Thanks a lot  for your help and patience Duncan.
> It seems that my questions is really a trivial one but I never realized
> that 1:4 means 0 1 2 3 4 , never knew it starts from 0.
> 

It doesn’t mean what you mention.

1:4 is the sequence 1 2 3 4

1:4-1 is   (1 2 3 4) -1 ==> 0 1 2 3

The 1 is subtracted from all elements of the sequence.

Berend
> 
> 
> On 11 October 2015 at 14:07, Duncan Murdoch <murdoch.duncan at gmail.com>
> wrote:
> 
>> On 11/10/2015 7:52 AM, Maram SAlem wrote:
>>> Dear All,
>>> I have a question concerning the seq() function arguments when used in a
>>> for() loop.
>>> I'll simplify this question to make it more clear. Suppose I have a
>>> (5*3)matrix s (for ex.) and I need to write a function with  for() loop,
>> in
>>> each step of the loop I need to generate a sequence whose upper limit is
>>> the ith element of the first row of s, then put the resulting sequences
>> in
>>> a list. I used the following simple code (I've only included the first
>> part
>>> of the function)
>>> 
>>> 
>>>> s<-matrix(c(1,0,1,0,1,1,0,0,1,0,0,0,0,0,1),nrow=5,byrow=TRUE)
>>>> simpfun<- function (x,n,m,p,alpha,beta)
>>> + {
>>> + LD<-list()
>>> + for (i in 1:m-1)
>>> + {
>>> + LD[[i]]<-seq(0,x[i],1)
>>> + }
>>> + print(LD)
>>> + }
>>>> mk<-simpfun(s[1,],n=6,m=4,p=0.3)
>>> Error in seq.default(0, x[i], 1) : 'to' must be of length 1
>>> 
>>> Although x is supposed to be the vector
>>> 1 0 1
>>> and thus x[1]=1, x[2]=0,x[3]=1.
>>> So I don't get why the error "Error in seq.default(0, x[i], 1) : 'to'
>> must
>>> be of length 1" occurs in the first place.
>> 
>> The range of your loop is 1:m-1, where m is 4.  That is
>> 
>>> m <- 4
>>> 1:m-1
>> [1] 0 1 2 3
>> 
>> and x[0] is length 0.
>> 
>> I think you wanted 1:(m-1) (or even better, seq_len(m-1)) for your loop
>> values.
>> 
>> Duncan Murdoch
>> 
>>> 
>>> Thanks for helping.
>>> 
>>> Maram
>>> 
>>>      [[alternative HTML version deleted]]
>>> 
>>> ______________________________________________
>>> R-help at 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.
>>> 
>> 
>> 
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list