Identifique y elimine los valores ruidosos/extravagantes de una serie de datos en R.
Tengo un dataframe con fecha, temperatura y tiempo. Este dataframe puede tener miles de líneas, dependiendo del número de mediciones de temperatura. A veces hay errores de medición y uno o más valores incorrectos aparecen en el dataframe. ¿Cómo puedo eliminar automáticamente las líneas con temperaturas incorrectas en R?
Aquí hay un ejemplo:
fecha temp tiempo
1 2021-09-01 14 04:59:27
2 2021-09-01 15 04:59:28
3 2021-09-01 15 04:59:30
4 2021-09-01 14 04:59:30
5 2021-09-01 14 04:59:32
6 2021-09-01 10 04:59:32
7 2021-09-01 14 04:59:33
8 2021-09-01 14 04:59:35
9 2021-09-01 15 04:59:35
10 2021-09-01 14 04:59:36
11 2021-09-01 15 04:59:37
12 2021-09-01 6 04:59:38
13 2021-09-01 6 04:59:39
14 2021-09-01 6 04:59:41
15 2021-09-01 14 04:59:41
16 2021-09-01 15 04:59:42
17 2021-09-01 15 04:59:44
18 2021-09-01 14 04:59:44
19 2021-09-01 15 04:59:45
20 2021-09-01 15 04:59:45
21 2021-09-01 15 04:59:45
(…)
Por supuesto, las filas 6, 12, 13 y 14 no son correctas debido a que esta variación en segundos es imposible, y quiero eliminarlas.
Enfatizando: necesito una forma automática de identificar y eliminar estas filas, ya que puedo tener otros casos similares en miles de filas.
davy.ai
Puedes utilizar el paquete
dplyr
para filtrar las filas con temperaturas incorrectas. En primer lugar, puedes agrupar el marco de datos porfecha
yhora
, y luego utilizar la funciónfilter
para eliminar cualquier fila con temperaturas que no estén dentro de un determinado rango. Por ejemplo, si quieres eliminar cualquier fila con temperaturas por debajo de 10 o por encima de 15, puedes utilizar el siguiente código:Esto filtrará cualquier fila con temperaturas fuera del rango especificado.