代码之家  ›  专栏  ›  技术社区  ›  Luis Carmona Martinez

创建新数据。表,并在一个变量上匹配向量列表

  •  0
  • Luis Carmona Martinez  · 技术社区  · 6 年前

    我有一个数据。具有的表格 270万次观察 21个变量 变量1 匹配a 价值向量

    我有一个与一些Variable1值匹配的值向量,如下所示

    VectorValue=  (A, B, XXZ, UDD...)
    

    我在想这样的事情:

    Table_B <- Table_A[Table_A$Variable1 == VectorValue]
    

    Table_B <- Table_A[Variable1 == VectorValue]
    

    但我有一个错误:

    当我是一个数据。表(或字符向量)中,必须使用“on=”参数(请参见?data.table)或通过键入x(即排序,并标记为排序,请参见?setkey)来指定要联接的列。由于x在RAM中排序,键控连接可能在非常大的数据上具有进一步的速度优势。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Keith Mertan    6 年前

    我在这里看到两种选择:

    1. VectorValue 长度与 Table_A$Variable1 您希望比较相同位置的值,并返回数据帧的子集,其中这些值相等。在这种情况下,您可能只需要添加一个逗号,如下所示。。。

    Table_B <- Table_A[Table_A$Variable1 == VectorValue, ]

    。。。表示您想要全部 条件是 TRUE 和中的所有列 Table_A

    1. 您想返回 表A\u 哪里 表A$Variable1 具有匹配的值 任何 内的值 矢量值 。在这种情况下,您需要使用 %in% == ,就像这样。。。

    Table_B <- Table_A[Table_A$Variable1 %in% VectorValue, ]