R-如何生成离散随机变量的随机样本?

R-如何生成离散随机变量的随机样本?,r,binary-data,random-sample,R,Binary Data,Random Sample,在R中,我想生成一个离散随机变量的随机样本:X,其中:p(X=a)=p(X=-a)=1/2。我一直在网上搜索一个函数,但似乎没有直接的函数来做这件事 indexindex我认为您正在寻找生成贝努利随机变量的样本。伯努利随机变量是二项式随机变量的特例。因此,您可以尝试使用rbinom(N,1,p)。这将生成N样本,值1概率p,值0概率(1-p)。要获得a和-a的值,您可以使用a*(2*rbinom(N,1,p)-1)我认为您正在寻找生成贝努利随机变量的样本。伯努利随机变量是二项式随机变量的特例。因

在R中,我想生成一个离散随机变量的随机样本:
X
,其中:
p(X=a)=p(X=-a)=1/2
。我一直在网上搜索一个函数,但似乎没有直接的函数来做这件事

index
index我认为您正在寻找生成贝努利随机变量的样本。伯努利随机变量是二项式随机变量的特例。因此,您可以尝试使用rbinom(N,1,p)
。这将生成
N
样本,值
1
概率
p
,值
0
概率
(1-p)
。要获得
a
-a
的值,您可以使用
a*(2*rbinom(N,1,p)-1)

我认为您正在寻找生成贝努利随机变量的样本。伯努利随机变量是二项式随机变量的特例。因此,您可以尝试使用rbinom(N,1,p)
。这将生成
N
样本,值
1
概率
p
,值
0
概率
(1-p)
。要获取
a
-a
的值,您可以使用
a*(2*rbinom(N,1,p)-1)

或:

index <- sample(1,c(1,2),replace=T)
if (index == 1) {xx = a} else {xx = -a}
> n=10
> X=rep(0,n)
> Y=rbinom(n,1,1/2)
> #Since they the probability is 1/2 for both cases, I assigned "a" when Y=1 and "-a" otherwise.
> X[Y==1]="a"
> X[Y==0]="-a"
> X
 [1] "a"  "-a" "a"  "a"  "a"  "-a" "a"  "-a" "-a" "-a"
> Y
 [1] 1 0 1 1 1 0 1 0 0 0
> 
或者这个:

> n=10
> X=rep(0,n)
> Y=rbinom(n,1,1/2)
> #Since they the probability is 1/2 for both cases, I assigned "a" when Y=1 and "-a" otherwise.
> X[Y==1]="a"
> X[Y==0]="-a"
> X
 [1] "a"  "-a" "a"  "a"  "a"  "-a" "a"  "-a" "-a" "-a"
> Y
 [1] 1 0 1 1 1 0 1 0 0 0
> 
1) 如果使用
示例
,这就足够了:

样本(c(-a,a),1)

e、 g:

工作

如果需要对多个元素进行采样,请设置
replace=TRUE
。。。我们在这里取样12次:

 sample(c(-a,a),12,replace=TRUE)

 [1]  10  10 -10  10  10  10 -10 -10  10 -10  10 -10
2) 您可以使用
runif
;以下是尺寸为9的样本:

a <- 1
ifelse(runif(9)<.5,-a,a)

[1] -1  1 -1  1 -1  1 -1  1  1  
1) 如果使用
示例
,这就足够了:

样本(c(-a,a),1)

e、 g:

工作

如果需要对多个元素进行采样,请设置
replace=TRUE
。。。我们在这里取样12次:

 sample(c(-a,a),12,replace=TRUE)

 [1]  10  10 -10  10  10  10 -10 -10  10 -10  10 -10
2) 您可以使用
runif
;以下是尺寸为9的样本:

a <- 1
ifelse(runif(9)<.5,-a,a)

[1] -1  1 -1  1 -1  1 -1  1  1