如何在R中通过定义每个单元的概率来创建随机样本?


可以使用sample函数创建随机样本,此随机样本为每个单元提供相同的被选中概率,因此称为简单随机样本。如果希望每个单元具有不同的被选中概率,则需要使用prob参数,如下例所示。

示例1

 在线演示

x1<−sample(c(1,2,3,4,5),150,replace=TRUE,prob=c(0.1,0.2,0.2,0.2,0.3))
x1

输出

[1] 3 5 1 5 5 2 4 3 5 2 4 1 4 2 3 4 4 5 2 5 1 1 5 5 3 5 4 2 1 1 5 3 5 4 2 5 2
[38] 5 4 2 3 4 5 3 5 1 4 5 2 4 1 4 5 3 3 5 5 4 5 3 5 4 5 4 3 4 5 3 2 3 3 4 3 2
[75] 3 4 5 4 2 5 2 4 4 4 4 5 3 4 5 5 2 4 2 2 2 4 4 2 5 3 2 5 1 2 3 5 1 3 1 2 3
[112] 3 2 4 5 4 1 3 5 4 4 3 5 1 1 5 2 2 2 4 3 4 4 5 4 5 5 5 5 3 2 3 5 5 5 2 4 3
[149] 5 5

示例

table(x1)

输出

x1
1 2 3 4 5
14 27 28 36 45

示例2

 在线演示

x2<−sample(1:5,150,replace=TRUE,prob=c(0.1,0.2,0.2,0.2,0.3))
x2

输出

[1] 5 2 5 2 3 4 3 4 5 3 3 2 5 2 5 4 4 3 5 2 1 5 5 5 2 5 2 5 5 5 2 4 3 4 4 4 3
[38] 2 5 5 5 2 2 4 4 5 2 2 3 5 5 5 4 3 4 5 5 3 3 3 3 2 3 2 4 5 3 3 2 5 1 5 5 2
[75] 2 3 3 4 3 5 4 5 5 5 4 4 5 4 3 3 3 2 2 4 5 3 5 5 5 5 2 2 5 3 3 5 2 3 4 5 4
[112] 4 5 4 3 2 3 2 4 5 1 2 1 3 5 2 4 4 3 3 4 1 3 1 5 5 5 4 1 1 2 1 5 3 3 1 5 1
[149] 4 5

示例

table(x2)

输出

x2
1 2 3 4 5
11 28 34 29 48

示例3

 在线演示

x3<−sample(0:9,200,replace=TRUE,prob=c(rep(1/10,10)))
x3

输出

[1] 4 0 9 3 2 5 7 7 2 0 1 3 4 5 1 0 2 8 4 2 7 2 8 9 4 1 5 6 0 6 0 3 7 8 9 2 7
[38] 3 7 2 0 1 8 3 6 7 2 0 4 3 6 6 7 9 4 3 0 3 6 2 0 1 5 1 5 9 5 4 6 6 2 9 5 5
[75] 4 1 7 9 3 1 6 7 5 0 9 6 8 0 4 0 5 6 0 8 4 3 8 4 2 2 0 8 5 2 9 0 6 8 8 8 6
[112] 2 9 8 8 3 1 5 5 9 8 1 0 9 4 2 2 0 4 0 4 2 8 2 6 9 9 1 5 6 6 3 0 9 9 5 6 2
[149] 0 4 4 8 7 7 4 7 6 4 1 1 2 8 3 1 6 9 2 6 1 1 0 2 3 2 8 6 2 8 5 2 9 9 3 3 9
[186] 4 8 0 1 6 5 8 3 7 0 8 8 7 5 8

示例

table(x3)

输出

x3
0 1 2 3 4 5 6 7 8 9
23 17 25 17 19 18 22 15 24 20

示例4

 在线演示

x4<−sample(0:9,400,replace=TRUE,prob=c(rep(1/10,10)))
x4

输出

[1] 5 1 0 5 8 1 6 2 3 7 8 3 2 8 9 7 3 3 0 4 5 9 4 2 3 4 8 8 0 3 4 2 5 0 8 6 7
[38] 2 2 7 8 3 2 1 9 8 3 7 0 4 6 5 4 9 5 3 7 7 1 6 4 7 0 8 7 6 4 2 2 4 8 7 4 5
[75] 7 1 3 1 1 6 6 4 7 5 1 1 5 0 0 1 7 8 6 6 0 6 5 3 2 8 3 3 5 0 2 8 1 4 7 0 6
[112] 7 7 3 6 7 9 7 3 4 8 7 1 9 8 2 5 8 3 3 4 7 0 5 7 2 9 8 4 7 5 0 1 5 9 5 8 2
[149] 0 0 0 2 5 2 0 8 5 0 9 6 8 0 0 2 2 8 1 5 8 3 3 6 5 1 3 5 2 7 5 5 3 7 0 0 5
[186] 9 6 7 4 3 8 1 4 2 3 6 7 9 0 5 6 3 7 7 5 7 8 8 0 2 0 9 7 8 2 4 2 7 3 5 1 1
[223] 2 1 9 2 0 8 8 6 1 1 6 7 4 3 1 1 0 9 4 5 8 1 0 2 6 5 6 8 4 0 8 0 0 6 7 7 4
[260] 2 9 6 2 7 6 2 5 3 0 7 8 3 1 6 7 0 5 5 2 6 8 6 8 2 5 7 7 4 7 3 7 2 1 1 7 4
[297] 3 7 9 9 9 6 5 4 4 2 0 5 1 4 2 7 4 7 5 8 0 7 6 7 1 6 5 3 5 6 4 3 3 2 4 7 5
[334] 1 8 3 1 6 1 8 5 5 0 9 7 6 0 6 2 7 1 2 4 9 8 3 0 7 8 2 9 6 2 3 4 1 1 6 5 6
[371] 1 6 1 0 7 5 1 3 8 6 9 2 2 1 7 2 3 1 5 4 7 2 0 7 9 5 0 8 6 9

示例

table(x4)

输出

x4
0 1 2 3 4 5 6 7 8 9
41 40 43 38 33 45 40 55 41 24

示例5

 在线演示

x5<−sample(1:100,200,replace=TRUE,prob=c(rep(1/100,100)))
x5

输出

[1] 55 42 48 27 55 1 69 41 83 20 65 83 55 24 30 52 38 98
[19] 82 9 3 27 58 100 3 90 60 79 71 96 4 42 35 73 31 29
[37] 94 13 92 15 35 1 61 73 14 46 98 69 72 5 41 54 81 9
[55] 74 86 72 88 54 37 55 9 7 3 9 69 100 65 73 85 64 33
[73] 50 76 15 19 13 57 42 9 1 58 78 95 6 43 35 48 8 69
[91] 44 4 82 52 1 37 88 74 50 52 25 27 28 74 83 52 60 87
[109] 84 97 62 15 98 30 92 44 76 33 72 62 98 37 59 40 16 44
[127] 26 67 46 91 23 31 100 80 18 42 51 45 44 85 97 3 87 65
[145] 62 51 36 51 18 55 20 15 53 84 6 61 40 23 24 67 28 55
[163] 86 52 13 28 36 22 50 67 79 33 31 43 86 43 73 26 89 29
[181] 52 36 6 12 40 44 4 65 92 16 33 86 76 21 62 64 94 25
[199] 52 33

示例

table(x5)

输出

x5
1 3 4 5 6 7 8 9 12 13 14 15 16 18 19 20 21 22 23 24
4 4 3 1 3 1 1 5 1 3 1 4 2 2 1 2 1 1 2 2
25 26 27 28 29 30 31 33 35 36 37 38 40 41 42 43 44 45 46 48
2 2 3 3 2 2 3 5 3 3 3 1 3 2 4 3 5 1 2 2
50 51 52 53 54 55 57 58 59 60 61 62 64 65 67 69 71 72 73 74
3 3 7 1 2 6 1 2 1 2 2 4 2 4 3 4 1 3 4 3
76 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 94 95 96 97
3 1 2 1 1 2 3 2 2 4 2 2 1 1 1 3 2 1 1 2
98 100
4 3

更新于:2021年2月10日

浏览量:112

启动你的职业生涯

通过完成课程获得认证

开始学习
广告