Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从r中的矩阵中删除条件行_R_Matrix - Fatal编程技术网

如何从r中的矩阵中删除条件行

如何从r中的矩阵中删除条件行,r,matrix,R,Matrix,所以基本上我想把随机生成的矩阵分成两个矩阵,一个用于训练,一个用于测试 a <- s[sample(nrow(s),size=3,replace=FALSE),] b <- s[-a,] > s [,1] [,2] [1,] 0.69779187 -0.75869384 [2,] -0.46857477 -0.33813598 [3,] 0.53903809 -0.95950598 [4,] -0.33312675 -0

所以基本上我想把随机生成的矩阵分成两个矩阵,一个用于训练,一个用于测试

  a <- s[sample(nrow(s),size=3,replace=FALSE),]  
  b <- s[-a,]

> s
         [,1]        [,2]
 [1,]  0.69779187 -0.75869384
 [2,] -0.46857477 -0.33813598
 [3,]  0.53903809 -0.95950598
 [4,] -0.33312675 -0.49951164
 [5,]  0.88500834  0.08256923
 [6,]  0.63664652  0.87420720
 [7,]  0.61614134  0.77893294
 [8,]  0.36956134  0.07586245
 [9,] -0.03678593 -0.23743987
[10,] -0.27057064 -0.86067063

> a
       [,1]        [,2]
[1,]  0.8850083  0.08256923
[2,]  0.6366465  0.87420720
[3,] -0.2705706 -0.86067063

> b
 [,1] [,2]
a
[,1]        [,2]
[1,]  0.8850083  0.08256923
[2,]  0.6366465  0.87420720
[3,] -0.2705706 -0.86067063
>b
[,1] [,2]
这里的思想是生成一个10*2矩阵,从矩阵中随机选取3行作为训练数据,然后输出训练矩阵和矩阵的其余行作为测试矩阵


有人对如何从s中删除a有什么建议吗?

问题是,您试图用矩阵
a
索引
s
,而不是随机选择的索引。将代码修改为以下内容应该可以做到这一点:

i <- sample(nrow(s),size=3,replace=FALSE)
a <- s[i,]  
b <- s[-i,]    # Note the indexing with i, rather than a

i您的代码有什么问题?请同时提供您的“随机生成矩阵”