R-如何生成离散随机变量的随机样本?
在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)我认为您正在寻找生成贝努利随机变量的样本。伯努利随机变量是二项式随机变量的特例。因
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)
我认为您正在寻找生成贝努利随机变量的样本。伯努利随机变量是二项式随机变量的特例。因此,您可以尝试使用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