varias superponer studio lineas histogramas graficos graficas colors statistics hue circular

colors - studio - superponer graficas en r



¿Cómo calcular la media y la desviación estándar para los valores de tono de 0 a 360? (1)

La solución simple es convertir esos ángulos en un conjunto de vectores, desde coordenadas polares hasta coordenadas cartesianas.

Como trabaja con colores, piense en esto como una conversión en el plano (a *, b *). Luego tome la media de esas coordenadas, y luego regrese nuevamente a la forma polar. Hecho en matlab,

theta = [355,5,5,5,5]; x = cosd(theta); % cosine in terms of degrees y = sind(theta); % sine with a degree argument

Ahora, tome la media de xey, calcule el ángulo y luego convierta de radianes a grados.

meanangle = atan2(mean(y),mean(x))*180/pi meanangle = 3.0049

Por supuesto, esta solución solo es válida para el ángulo medio. Como puede ver, produce un resultado consistente con la media de los ángulos directamente, donde reconozco que 355 grados realmente se ajusta a -5 grados.

mean([-5 5 5 5 5]) ans = 3

Para calcular la desviación estándar, es más simple hacerlo como

std([-5 5 5 5 5]) ans = 4.4721

Sí, eso requiere que haga el abrigo explícitamente.

Supongamos que se toman 5 muestras de matiz usando un modelo de HSV simple para el color, que tiene los valores 355, 5, 5, 5, 5, todos con un matiz rojo y "próximo" uno al otro en lo que respecta a la percepción. Pero el promedio simple es 75, que está muy lejos de 0 o 360, cerca de un amarillo-verde.

¿Cuál es una mejor manera de calcular esta media y la estándar asociada?