Skip to content

Vectors, Loops, Rnorm and KS-Testing

3 messages · Nicoletta Sabov, Dylan Keenan, Ivan Calandra

#
Hi there,

I need a function, that calculates the mean of a desired amount of normally distributed numbers and repeats this process for a desired number of repetitions. The function should return only a single vector consisting solely of the calculated means. Also the user of this function must be able to specify the parameters of the normal distribution used while calculating the means. I need this function for the Kolmogorov Smirnov Test.
I am a total beginner, so far I only have come to this point:

kolmo <- function(x, mean, sd, rep){
  
  for(i in rep){
    cat(mean(rnorm(x, mean, sd)))
    
}}
This returns a simple number, but I do need a vector to be returned.
Thanks a lot in advance!
#
Use 'replicate.'
Will compute return a column vector of length n1, each entry of which is
the mean of n2 random normal variables with mean and sd specified by the
arguments of rnorm.



On Mon, May 23, 2016 at 10:25 AM Nicoletta Sabov <nicoletta.sabov at hotmail.de>
wrote:

  
  
#
Hi Nicoletta,

You need to read more introductory material.
One of the problems with your code is that you actually don't create any 
value, let alone any vector; you just display it with cat().
Then you try to create each value of your vector with an explicit for 
loop, but you don't need to; replicate() does the job in a compact code.

So if I understand correctly what you want to achieve, I would do this:
kolmo <- function(x, meanR=0, sdR=1, repet=1){
     out <- replicate(repet, mean(rnorm(x, meanR, sdR)))
     return(out)
}
# I changed the names of your arguments to make it less confusing (but I 
wasn't imaginative)
# I set some default values for 'meanR' and 'sdR', which are actually 
the defaults of rnorm()
# 'return(out)' is not necessary but I prefer to explicitly write what I 
want the function to output

Example:
kolmo(x=10, repet=3)

HTH,
Ivan

--
Ivan Calandra, PhD
Scientific Mediator
University of Reims Champagne-Ardenne
GEGENAA - EA 3795
CREA - 2 esplanade Roland Garros
51100 Reims, France
+33(0)3 26 77 36 89
ivan.calandra at univ-reims.fr
--
https://www.researchgate.net/profile/Ivan_Calandra
https://publons.com/author/705639/

Le 23/05/2016 ? 11:30, Nicoletta Sabov a ?crit :