所以基本上我想把一个随机生成的矩阵分成两个矩阵,一个用于训练,一个用于测试。
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]这里的思想是生成一个10*2的矩阵,然后从矩阵中随机抽取3行作为训练数据,然后输出训练矩阵和矩阵的其余行作为测试矩阵。
有没有人有关于如何从s中删除a的建议?
发布于 2017-10-12 01:25:50
问题是您试图使用矩阵a来索引s,而不是随机选择的索引。将您的代码修改为以下代码应该可以解决此问题:
i <- sample(nrow(s),size=3,replace=FALSE)
a <- s[i,]
b <- s[-i,] # Note the indexing with i, rather than ahttps://stackoverflow.com/questions/46693758
复制相似问题