如何识别R df中缺少的行-无NA

如何识别R df中缺少的行-无NA,r,sorting,R,Sorting,我有几个不同观测长度的df。应在每0.2 m深度收集观察结果。这种情况经常发生,但有时1、2或更多的深度间隔会以完全随机的顺序“遗漏/跳过”。这些表具有相同的字段。我需要知道在什么时候错过了什么深度。例如,简化文件;表A(剖面、时间、UTC、深度)。表A有12行,但在0.4m、1.2m和1.4m处应有15行,即1行。时间戳(ms)是不规则的,因此我无法使用它们来确定深度上的差距 ============== 表A 有12行,但应该有15行: profil time_UTC depth_m 1

我有几个不同观测长度的df。应在每0.2 m深度收集观察结果。这种情况经常发生,但有时1、2或更多的深度间隔会以完全随机的顺序“遗漏/跳过”。这些表具有相同的字段。我需要知道在什么时候错过了什么深度。例如,简化文件;表A(剖面、时间、UTC、深度)。表A有12行,但在0.4m、1.2m和1.4m处应有15行,即1行。时间戳(ms)是不规则的,因此我无法使用它们来确定深度上的差距

==============

  • 表A
  • 有12行,但应该有15行:

     profil time_UTC depth_m
    1 V      24871     0.2
    2 V      24877     0.6
    3 V      24882     0.8
    4 V      24887      1
    5 V      24898     1.6
    6 V      24901     1.8
    7 V      24902      2
    8 V      24905     2.2
    9 V      24907     2.4
    10 V     24909     2.6
    11 V     24912     2.8
    12 V     24915      3
    
  • 需要以可操作的方式对我将读入的所有df进行检查

    我需要帮助来编写一个查询,在那个里我可以找到那个些缺失的行,并添加具有缺失深度和集成时间的新行

    我为类似的问题提供了两个链接,但在R示例中,序列是分类的(我的df不是),另一个是Sql代码。

    提前感谢您的帮助。


    库(dplyr)
    右连接(测向,数据帧(深度m=seq(0.2,3,by=0.2)))
    #>连接,通过=“深度\u m”
    #>现场时间UTC深度
    #>1伏24871 0.2
    #>2钠0.4
    #>3 NA 0.6
    #>4伏24882 0.8
    #>5伏24887 1.0
    #>6 NA 1.2
    #>7 NA 1.4
    #>8伏248981.6
    #>9 V 24901 1.8
    #>10伏24902.0
    #>11伏24905 2.2
    #>12 NA 2.4
    #>13 NA 2.6
    #>14 NA 2.8
    #>15伏24915 3.0
    
    感谢您的快速回复!dplyr线路几乎达到了目的。但是,它引入了4个NA行,其中我有数据,比如0.6和2.4:2.8 mm,我需要保留。为什么会这样?我正在使用的df还有27个列,其中包含需要保留的信息,例如time_UTC和其他参数。原因是双精度匹配不精确。由于某种原因,df中的0.6在另一个数据帧中不是==到0.6。(您可以通过运行
    sprintf(“%.54f”,df$depth\m[2])
    看到这一点。除了将depth\m列强制为字符串、连接,并将其强制为双精度之外,我不知道如何解决它。是的,确实如此。当将其更改为as.character时,它可以工作。谢谢您的帮助!/Therese