Pregunta

Esta es mi primera publicación, así que espero explicar lo que necesito hacer correctamente. Todavía soy bastante nuevo en R y puedo haber leído publicaciones que responden esto, pero no puedo, por mi vida, entender lo que significan. Así que disculpas de antemano si esto ya ha sido respondido.

Tengo un conjunto de datos muy grande de ubicaciones GPS de radiocolares y hay un número inconsistente de ubicaciones para cada día. Quiero pasar por el conjunto de datos y seleccionar un solo punto de datos para cada día en función del nivel de precisión de la señal GPS.

Así que esencialmente se ve así.

Accuracy    Month    Day    Easting    Northing    Etc
   5          6       1     #######    ########     #
   3.2        6       1     #######    ########     #
   3.8        6       1     #######    ########     #
   1.6        6       2     #######    ########     #
   4          6       3     #######    ########     #
   3.2        6       3     #######    ########     #

Y quiero sacar el punto más preciso para cada día (la medida de precisión más baja) mientras mantiene el resto de los datos asociados.

Actualmente he estado usando la función Tapply

datasub1<-subset(data,MONTH==6)
tapply(datasub1$accuracy, datasub1$day, min)

Usando este método, puedo recuperar con éxito los valores mínimos, uno para cada día, sin embargo, no puedo tomar las coordenadas y el tiempo asociados, y toda la otra información importante junto con él, y como el conjunto de datos es de casi 300 000 filas, realmente puedo Lo hagas a mano.

Esencialmente, necesito obtener los mismos resultados que el Tapply, pero en lugar de los puntos individuales, necesito toda la fila en la que se encuentra ese punto.

Gracias de antemano a cualquiera que pueda echar una mano. Si necesita más información, hágamelo saber, haré todo lo posible para consultarlo.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top