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