如何在 R 中找出抛硬币时的变化次数?

r programmingserver side programmingprogramming更新于 2025/4/8 20:07:17

要在 R 中找出抛硬币时的变化次数,我们可以按照以下步骤 −

  • 首先,使用 rbinom 函数创建一个向量。

  • 然后,使用 rle 函数查找变化表。

  • 之后,在 rle 的输出中使用 length。

示例 1

创建向量

让我们创建一个如下所示的向量 −

x1<-rbinom(500,1,0.5)
x1

输出

执行时,上述脚本将生成以下输出(由于随机化,此输出将因您的系统而异) −

 [1]  1 1 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 1 1 0
[38]  1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 1 1 1 1 0 1 0
[75]  0 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1
[112] 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1
[149] 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1
[186] 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1
[223] 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1
[260] 1 0 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 1
[297] 1 0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0
[334] 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1
[371] 0 1 0 1 1 1 1 1 0 1 0 1 0 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1
[408] 0 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 1
[445] 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0 1 0
[482] 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 0 0

查找变化表

使用 rle 函数查找向量 x1 中的变化 −

x1<-rbinom(500,1,0.5)
rle(x1)

输出

Run Length Encoding
lengths: int [1:240] 2 3 2 1 1 1 1 3 4 2 ...
values : int [1:240] 1 0 1 0 1 0 1 0 1 0 ...

查找更改次数

使用 length 函数以及 rle 的输出查找向量 x1 中的更改总数 −

x1<-rbinom(500,1,0.5)
length(rle(x1)$lengths)-1

输出

[1] 260

示例 2

创建矢量

让我们创建一个矢量,如下所示 −

x2<-rbinom(500,1,0.2)
x2

输出

执行时,上述脚本将生成以下输出(由于随机化,此输出将因您的系统而异) −

 [1]  0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
[38]  0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0
[75]  1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
[112] 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
[149] 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0
[186] 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
[223] 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
[260] 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0
[297] 0 1 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
[334] 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
[371] 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[408] 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
[445] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[482] 1 0 1 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0

查找变化表

使用 rle 函数查找向量 x2 中的变化−

x2<-rbinom(500,1,0.2)
rle(x2)

输出

Run Length Encoding
lengths: int [1:163] 10 1 6 1 1 2 2 1 4 1 ...
values : int [1:163] 0 1 0 1 0 1 0 1 0 1 ...
Run Length Encoding
lengths: int [1:147] 1 7 1 17 1 5 1 3 1 4 ...
values : int [1:147] 1 0 1 0 1 0 1 0 1 0 ...
Run Length Encoding
lengths: int [1:171] 2 1 5 3 2 1 1 1 2 1 ...
values : int [1:171] 0 1 0 1 0 1 0 1 0 1 ...

查找更改次数

使用 length 函数以及 rle 的输出查找向量 x2 中的总更改次数 −

x2<-rbinom(500,1,0.2)
length(rle(x2)$lengths)-1

输出

[1] 152

示例 3

创建矢量

让我们创建一个矢量,如下所示 −

x3<-rbinom(500,1,0.1)
x3

输出

执行时,上述脚本将生成以下输出(由于随机化,此输出将因您的系统而异) −

 [1]  0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
[38]  0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[75]  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[112] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
[149] 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0
[186] 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
[223] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
[260] 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
[297] 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
[334] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
[371] 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
[408] 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
[445] 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
[482] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

查找变化表

使用 rle 函数查找向量 x3 中的变化 −

x3<-rbinom(500,1,0.1)
rle(x3)

输出

Run Length Encoding
lengths: int [1:77] 6 1 16 1 8 1 42 1 14 1 ...
values : int [1:77] 0 1 0 1 0 1 0 1 0 1 ...

查找更改次数

使用 length 函数以及 rle 的输出查找向量 x3 中的更改总数 −

x3<-rbinom(500,1,0.1)
length(rle(x3)$lengths)-1

输出

[1] 79

示例 4

创建矢量

让我们创建一个矢量,如下所示 −

x4<-rbinom(500,1,0.9)
x4

输出

执行时,上述脚本将生成以下输出(由于随机化,此输出将因您的系统而异) −

 [1]  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
[38]  1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
[75]  0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
[112] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[149] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1
[186] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1
[223] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
[260] 1 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[297] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[334] 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1
[371] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
[408] 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[445] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1
[482] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1

查找更改表

使用 rle 函数查找向量 x4 中的更改 −

x4<-rbinom(500,1,0.9)
rle(x4)

输出

Run Length Encoding
lengths: int [1:91] 14 2 43 1 14 1 5 1 13 1 ...
values : int [1:91] 1 0 1 0 1 0 1 0 1 0 ...

查找更改次数

使用 length 函数以及 rle 的输出查找向量 x4 中的更改总数−

x4<-rbinom(500,1,0.9)
length(rle(x4)$lengths)-1

输出

[1] 98

相关文章