Re: [R] Automatically simulates random numbers (not general) in R?

2019-06-06 Thread Thevaraja, Mayooran
Yes, Now fixed it. Thanks for your help. So my function is given by

start<-function(n){
  #startn <- vector("list", n)
  indx <- 1:N
  start <-sort(sample(indx,1))
  for (i in 1:n) {
if (i<2) {
  start[i] <- sort(sample(indx,1))
} else {
  start[i] <- sort(sample(start[i-1]+1,1))  
}
  }
  start  
}

start(15)

-Original Message-
From: Boris Steipe  
Sent: Friday, 7 June 2019 12:34 PM
To: Thevaraja, Mayooran 
Subject: Re: [R] Automatically simulates random numbers (not general) in R?

You did not initialize the variable "start" inside your function's local scope, 
so the variable "start" is taken to be the function name in the global scope 
and start[i] is therefore a subset operator on a function (i.e. closure). 

":start" is not a good variable name in the first place, and it is poor 
practice to use the same variable name for different objects that you care 
about.


B.

N.b. **Lots** of other issues with your code, e.g. sort() on a single number ...


> On 2019-06-06, at 20:00, Thevaraja, Mayooran  wrote:
> 
> Hello Guys!
> 
> I am wondering about below function which automatically simulates 
> random numbers - given below that manual calculation too. Anyone help me to 
> fix that error. I got that error "object of type 'closure' is not 
> subsettable" So Do you have any ideas?
> 
> 
> 
> Regards
> 
> Mayooran
> 
> 
> 
> #Manual calculation##
> 
> N <- 1e7
> 
> n <- 8
> 
> indx <- 1:N
> 
> start1 <- sort(sample(indx,1))
> 
> 
> 
> start2 <- sort(sample(start1+1,1))
> 
> start3 <- sort(sample(start2+1,1))
> 
> start4 <- sort(sample(start3+1,1))
> 
> start5 <- sort(sample(start4+1,1))
> 
> start6 <- sort(sample(start5+1,1))
> 
> start7 <- sort(sample(start6+1,1))
> 
> start8 <- sort(sample(start7+1,1))
> 
> 
> 
> start1
> 
> start2
> 
> start3
> 
> start4
> 
> start5
> 
> start6
> 
> start7
> 
> start8
> 
> ###Common function#
> 
> start<-function(n){
> 
>  indx <- 1:N
> 
>  for (i in 1:n) {
> 
>if (i<2) {
> 
>  start[i] <- sort(sample(indx,1))
> 
> } else {
> 
>  start[i] <- sort(sample(start[i-1]+1,1))
> 
> }
> 
>  }
> 
> }
> 
> 
> 
> start(8)
> 
> 
>   [[alternative HTML version deleted]]
> 
> __
> 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.

__
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.


[R] Automatically simulates random numbers (not general) in R?

2019-06-06 Thread Thevaraja, Mayooran
Hello Guys!

 I am wondering about below function which automatically simulates 
random numbers - given below that manual calculation too. Anyone help me to fix 
that error. I got that error "object of type 'closure' is not subsettable" So 
Do you have any ideas?



Regards

Mayooran



#Manual calculation##

N <- 1e7

n <- 8

indx <- 1:N

start1 <- sort(sample(indx,1))



start2 <- sort(sample(start1+1,1))

start3 <- sort(sample(start2+1,1))

start4 <- sort(sample(start3+1,1))

start5 <- sort(sample(start4+1,1))

start6 <- sort(sample(start5+1,1))

start7 <- sort(sample(start6+1,1))

start8 <- sort(sample(start7+1,1))



start1

start2

start3

start4

start5

start6

start7

start8

###Common function#

start<-function(n){

  indx <- 1:N

  for (i in 1:n) {

if (i<2) {

  start[i] <- sort(sample(indx,1))

} else {

  start[i] <- sort(sample(start[i-1]+1,1))

}

  }

}



start(8)


[[alternative HTML version deleted]]

__
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.