过滤R个数据帧后,所有行均变为NA

时间:2018-07-06 11:33:30

标签: r dataframe filter

我有一个由五列组成的大型数据框。

当我尝试过滤其中一列时,另一列中的每一列都更改为NA。我正在过滤的列是VehicleEvent,位置是接收NA替换的列。

str(datain)
'data.frame':   7551105 obs. of  19 variables:
 $ DiagnosticIDs   : chr  "2,0,3,1,774,775,810,744,951,947" "2,0,3,1,774,775,7,718,720,951,837,810,744,947" "2,0,3,1,774,775,7,810,744,951,947" NA ...
 $ DiagnosticValues: chr  "28.211,48284.435,31647,7650.75,0,0,0,1,1,-73" "28.272,48290.34,31650,7651.2,0,0,550,0,0,54,0,0,1,-81" "28.272,48290.34,31650,7651.2,0,0,550,0,1,1,-81" NA ...
 $ DriverName      : chr  "" "" "" NA ...
 $ IgnitionOn      : chr  "true" "true" "true" NA ...
 $ Latitude        : num  51.5 51.5 51.5 51.5 51.5 ...
 $ Longitude       : num  -0.462 -0.462 -0.463 -0.463 -0.463 ...
 $ Location        : chr  "" "Parking area" "Dispatch" NA ...
 $ Time            : num  1.52e+09 1.52e+09 1.52e+09 1.52e+09 1.52e+09 ...
     some columns not of interest omitted
 $ AlertId         : chr  NA NA NA "6fbc400e-1ae5-11e8-9eee-7845c4f0a3d7" ...
 $ AlertType       : chr  NA NA NA "Exited" ...
 $ VehicleEvent    : chr  NA NA NA "fabb4fcb-c254-4a13-8f9c-a3307a4ba63b" ...
 $ MessageType     : chr  NA NA NA "InsightAlertMessage" ...


str(datadf)
'data.frame':   104136 obs. of  6 variables:
$ Location    : chr  NA NA NA NA ...
$ Longitude   : num  -0.483 -0.462 -0.466 -0.464 -0.464 ...    
$ Latitude    : num  51.5 51.5 51.5 51.5 51.5 ...
$ AlertId     : chr  "ae22e47c-47c4-11e8-9513-7845c4f0a3d7" "3e13ccbc-47c6-11e8-a72e-7845c4f0a3d7" "5428da40-47c8-11e8-b59f-7845c4f0a3d7" "2fcd3fa8-47df-11e8-85a9-7845c4f0a3d7" ...
$ AlertType   : chr  "Exited" "Exited" "Exited" "Exited" ...
$ VehicleEvent: chr  "792d6964-6ba1-4f98-9b63-5c9e194fff6d" "792d6964-6ba1-4f98-9b63-5c9e194fff6d" "792d6964-6ba1-4f98-9b63-5c9e194fff6d" "792d6964-6ba1-4f98-9b63-5c9e194fff6d" ...

数据中没有非ACSII字符(如果有任何含义,则全部从XML中提取)。如果所有的逗号,尾随空格,句号(句号)和斜杠都已从位置中删除,则可能会导致这种情况。

这些列已重命名(以防万一还有其他使用相同名称的事件)。

我已经尝试了几乎所有可以想到的东西,包括...

datadf <- datain %>%
    filter(AlertType == "Exited" &
           VehicleEvent == "792d6964-6ba1-4f98-9b63-5c9e194fff6d") %>%
            select(Location, Latitude, Longitude)

datadf <- datain[datain$VehicleEvent == "792d6964-6ba1-4f98-9b63-5c9e194fff6d",]

最后一个将所有列更改为“ NA”。

VehicleEvent中的数据是如此奇怪,以致于无法处理……肯定不会。我已经用尽了所有想法,因此向广大社区提出了要求。

0 个答案:

没有答案