如何实现以下R功能?

时间:2015-11-20 01:46:52

标签: r math statistics probability

我正在尝试创建一个函数来在R中执行以下操作:

  

输入参数nsx-bar所有整数。

     
      
  1. 使用n - 1生成rnorm( n - 1 , 0 , 1)个随机数。
  2.   
  3. 取出每个数字,将其平方,然后将它们相加并将总和存储到x中。将整数s除以x,并取结果的平方根   存入sigma
  4.   
  5. 从N(0,1)生成单个值。 rnorm( 1 , 0 , 1)并存储到Z
  6.   
  7. 然后将mu的值存储到Z x ( sigma / sqrt(n) ) + x-bar
  8.   
  9. 打印mu
  10.   

任何帮助将不胜感激!

我的尝试(这是对的吗?)

g <- function( n , s , xb ) { 
  vals <- rnorm( n - 1 , 0 , 1) 
  sum <- 0
  for( i in vals ) 
  { 
    sum <- sum + (i * i )
    print( sum )
  }

  sigma <- sqrt ( s / sum )
  z <- rnorm(1, 0 , 1)
  mu <- ( z * ( sigma / sqrt(n) ) + xb )
  print ( mu)
}

1 个答案:

答案 0 :(得分:0)

g <- function( n , s , xb ) { 
vals <- rnorm( n - 1 , 0 , 1) 
sum<- sum(vals^2)
sigma <- sqrt ( s / sum )
z <- rnorm(1, 0 , 1)
mu <- ( z * ( sigma / sqrt(n) ) + xb )
print ( mu)
}
 g(10,6,3)
[1] 2.89561