如何从R中的矩阵中随机抽取样本?

要从 R 中的矩阵中随机抽取样本,我们可以简单地使用 sample 函数,如果样本大小大于矩阵中元素的数量,则将使用 replace=TRUE 参数。

例如,如果我们有一个名为 M 的矩阵,其中包含 100 个元素,并且我们想从 M 中采样 200 个元素,那么我们可以使用下面给出的命令 -

sample(M,200,replace=TRUE)

示例 1

以下代码段创建了一个矩阵 -

M1<-matrix(rpois(40,2),ncol=2)

M1

创建以下矩阵 -

    [,1] [,2]

[1,]  4   1

[2,]  2   2

[3,]  1   1

[4,]  1   1

[5,]  3   3

[6,]  3   3

[7,]  0   1

[8,]  6   2

[9,]  2   3

[10,] 3   0

[11,] 2   1

[12,] 2   0

[13,] 2   1

[14,] 3   2

[15,] 4   1

[16,] 2   5

[17,] 2   0

[18,] 5   1

[19,] 1   2

[20,] 2   1

要从矩阵 M1 中采样 20 个元素,请将以下代码添加到上述代码段中 -

M1<-matrix(rpois(40,2),ncol=2)

sample(M1,20)

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 1 6 1 3 5 2 2 3 0 3 3 4 1 2 3 2 2 1 5 2

示例 2

以下代码段创建了一个矩阵 -

M2<-matrix(rnorm(40),ncol=2)

M2

创建以下矩阵 -

        [,1]          [,2]

[1,]   0.48397719  -0.3434391

[2,]  -1.13421796  -0.3913274

[3,]   1.05965857  -1.0989064

[4,]   1.23304607  -1.3435612

[5,]   1.77637786   0.7310268

[6,]   0.41760502   1.3260546

[7,]  -0.08124738   0.8677471

[8,]  -0.15993339   0.1359703

[9,]  -0.82723524  -0.1186969

[10,]  1.41121197   0.0248495

[11,]  0.48756826   1.3339764

[12,] -0.02805691  -1.2450467

[13,]  0.55314428   0.8207469

[14,] -0.47900431   0.3231949

[15,] -0.02465099   0.4216422

[16,] -0.81648466   0.3326057

[17,] -0.97571912  -0.7905656

[18,]  0.51536039  -0.4992937

[19,] -0.70616764  -1.0087116

[20,]  0.80158965  -1.0430299

要从矩阵 M2 中采样 50 个元素,请将以下代码添加到上述代码段中 -

M2<-matrix(rnorm(40),ncol=2)

sample(M2,50,replace=TRUE)

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] -1.34356116 1.23304607 1.05965857 -0.82723524 -0.11869686 -0.11869686

[7] 0.33260571 -0.82723524 0.13597027 -1.13421796 1.33397641 1.32605457

[13] 0.73102677 1.77637786 0.42164215 1.77637786 0.42164215 -0.82723524

[19] -0.47900431 0.51536039 -1.09890635 -0.39132740 -1.34356116 1.32605457

[25] 1.77637786 -1.24504668 0.02484950 -0.82723524 0.73102677 -0.08124738

[31] 0.55314428 -0.97571912 -0.97571912 0.48397719 -0.02805691 1.32605457

[37] 0.82074690 -0.02465099 -1.13421796 0.55314428 0.55314428 1.41121197

[43] 0.42164215 -1.24504668 -1.00871161 0.82074690 -0.79056563 0.48756826

[49] 0.86774712 1.33397641

示例 3

以下代码段创建了一个矩阵 -

M3<-matrix(rpois(40,10),ncol=2)

M3

创建以下矩阵 -

     [,1] [,2]

[1,]   7   9

[2,]  14   8

[3,]  11   5

[4,]  11   8

[5,]   9   8

[6,]   6   9

[7,]  12  12

[8,]  17   5

[9,]  14   8

[10,] 13  11

[11,] 11   5

[12,] 11  13

[13,] 14  10

[14,] 12  15

[15,] 11  13

[16,] 11   7

[17,] 12   8

[18,] 11  11

[19,] 12  10

[20,]  6   9

要从矩阵 M3 中采样 50 个元素,请将以下代码添加到上述代码段中 -

M3<-matrix(rpois(40,10),ncol=2)

sample(M3,50,replace=TRUE)

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 14 8 15 17 9 9 8 12 11 9 6 10 14 10 6 8 9 9 14 13 11 5 8 11 11

[26] 12 9 9 11 11 11 5 11 11 6 13 13 6 12 11 17 12 11 11 12 10 11 11 10 12

以上是 如何从R中的矩阵中随机抽取样本? 的全部内容, 来源链接: utcz.com/z/356720.html

回到顶部