У меня есть данные об ошибке, во-первых, мне нужно преобразовать диапазон данных между -pi и pi

Затем с помощью кода hist(error)

Мой вопрос в том, как я могу преобразовать эти данные с помощью кода в R, если существует код, скажите мне?

error<- c( 5.71444784 ,5.55435896 ,5.60671884, 5.19927462 ,4.81470000 ,5.53028500,
 0.87085808 ,5.37982604, 5.43760222 ,5.77523327, 5.68796681 ,5.54533123,
5.27149485 ,5.75717780 ,0.53623627 ,5.29496664 ,5.33288247 ,5.49297135,
 5.51343389 ,4.87307837 ,4.87849468 ,5.78305665, 0.13721761 ,5.91185037,
 5.50741540 ,5.72588264, 5.03918574, 4.14846564 ,5.25644862 ,0.57956841,
 0.37614739, 0.40864692, 5.92087811, 5.92689660, 5.72889189 ,5.64643955,
5.96902437, 5.91666449, 6.18508456 ,5.86249974 ,5.17279359, 5.37982604,
 5.25163450, 5.43098155, 5.73912232, 5.80592625 ,5.43940710, 4.84659734,
 5.76078923, 5.76379847, 5.76078923 ,5.78606589, 5.68977169 ,5.68375320,
 0.42790509 ,6.08939254, 4.89955940 ,5.53389643, 5.67954126 ,5.71324348,
 5.66930915 ,5.54111761 ,5.87273017, 5.86791605 ,5.50199909, 5.50199909,
 5.69699455 ,5.29737370 ,4.97117745, 5.62838408 ,5.77402891, 5.30640144,
 5.85106494 ,5.58926555 ,5.58926555 ,4.62271379 ,3.36547454, 6.19892642,
 0.28888093 ,6.09541103, 5.89499926 ,5.87453672, 5.67954126 ,5.46408326,
 1.44982681 ,0.24193736 ,0.77516606 ,5.88055521, 5.55435896, 5.58926555,
 5.58926555 ,5.39126084, 4.47466189, 0.06800662, 5.75777998, 5.44963921)

Я пытаюсь решить эту проблему, вручную преобразовывая данные .... и историю ... но остаток не равен нулю.

-1
Rita ana 15 Ноя 2019 в 22:25
Какова единица измерения данных? градусы, радианы или что-то еще. Если это направленные данные, вам, вероятно, придется использовать круговую статистику.
 – 
dcarlson
15 Ноя 2019 в 22:35
Эти данные являются круглыми в радианах, все, что мне нужно, это преобразовать диапазон данных в радианах между pi и --pi@dcarlson
 – 
Rita ana
15 Ноя 2019 в 22:59

1 ответ

Чтобы вычислить диапазон от -pi до pi, просто вычтите pi из измерения в радианах, так как радианы варьируются от 0 до 2*pi:

error - pi
hist(error - pi)

Но это не дает вам того, что вы хотите. Вам действительно нужно использовать циклическую статистику, чтобы увидеть, что происходит:

install.packages("circular")
library(circular)
plot.circular(error, stack=TRUE)

Circular Plot

Вы можете игнорировать предупреждающее сообщение. Обратите внимание, что данные не равны нулю. Чтобы построить гистограмму, нам нужно вырезать данные в точке pi и перевернуть значения, превышающие pi:

errortrans <- ifelse(error<pi, error, error-2*pi)
# Alternate transform
# errortrans <- ifelse(error<pi, -error, 2*pi-error)
hist(errortrans, xlim=c(-pi, pi))

Histogram

1
dcarlson 16 Ноя 2019 в 18:45
Можешь узнать результат, но это не около нуля??
 – 
Rita ana
16 Ноя 2019 в 12:20
См. Обновленный ответ.
 – 
dcarlson
16 Ноя 2019 в 18:40
Могу ли я принять этот результат об остатке (ошибке) точно не около нуля???
 – 
Rita ana
17 Ноя 2019 в 21:22
Как я могу найти среднеквадратичную ошибку или ошибку ???
 – 
Rita ana
17 Ноя 2019 в 21:44