У меня есть данные об ошибке, во-первых, мне нужно преобразовать диапазон данных между -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 ответ
Чтобы вычислить диапазон от -pi до pi, просто вычтите pi
из измерения в радианах, так как радианы варьируются от 0 до 2*pi:
error - pi
hist(error - pi)
Но это не дает вам того, что вы хотите. Вам действительно нужно использовать циклическую статистику, чтобы увидеть, что происходит:
install.packages("circular")
library(circular)
plot.circular(error, stack=TRUE)
Вы можете игнорировать предупреждающее сообщение. Обратите внимание, что данные не равны нулю. Чтобы построить гистограмму, нам нужно вырезать данные в точке 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))
Похожие вопросы
Новые вопросы
r
R — это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, используйте минимально воспроизводимые примеры, которые другие могут запустить с помощью копирования и вставки. Показать желаемый результат. Используйте dput() для данных и укажите все небазовые пакеты с помощью library(). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. Для вопросов по статистике используйте https://stats.stackexchange.com.