2015-04-03 27 views
0

如何从一个矩阵中选择不匹配另一个矩阵中的行的行。这种情况是我想通过我的数据样本来训练一个模型并验证其他部分的数据。提前致谢。选择不匹配两个矩阵中的行

+0

一种选择是转换矩阵来data.frame和使用'anti_join'从'库(dplyr)' – akrun 2015-04-03 20:53:14

+0

如果你?创建行的初始样本,那么你可以简单地使用它来隔离两个互斥的矩阵,并完全避免这个问题。 – Thomas 2015-04-03 20:58:08

+0

或者向您的数据添加一列“测试”或“训练”(或1或0),并将子集提供给您的模型。 – Gregor 2015-04-03 21:25:14

回答

1

您可以使用索引(如托马斯暗示)。假设你有2000行矩阵,并希望它随机选择一半:

# Create the matrix 
my.matrix <- matrix(rnorm(4000),nrow = 2000) 

# Create a vector of 1000 row numbers 
selection <- sample(1:2000, size = 1000) 

# Create the 2 mutually exclusive matrices 
matrix.1 <- my.matrix[selection,] 
matrix.2 <- my.matrix[-selection,]