【问题标题】:Select not matching rows from two matrices从两个矩阵中选择不匹配的行
【发布时间】:2015-06-08 23:23:06
【问题描述】:

如何从一个矩阵中选择与另一个矩阵中的行不匹配的行。情况是我想在我的数据样本上训练一个模型并验证数据的另一部分。提前致谢。

【问题讨论】:

  • 一种选择是将矩阵转换为 data.frame 并使用 ?anti_join from library(dplyr)
  • 如果您正在创建行的初始样本,那么您可以简单地首先使用它来隔离两个互斥矩阵并完全避免这个问题。
  • 或者在您的数据中添加一个“测试”或“训练”(或 1 或 0)列,然后将子集提供给您的模型。

标签: r matrix sample


【解决方案1】:

您可以为此使用索引(如 Thomas 所暗示的)。假设您有一个 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,]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 2017-03-19
    • 2013-04-09
    • 2022-01-12
    相关资源
    最近更新 更多