如何从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